Skip to main content

Workspaces

The workspace API provides functionality for retrieving information about your workspace.

A workspace is the home for all data, projects and tasks for an organization. By design no information can be shared across workspaces, they are the top-level concept in the Cradle API.

Workspace creation and management is only available to Cradle administrators.

Get Workspace

Get a workspace by name or ID.

query Parameters
name
required
string (Name)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string",
  • "display_name": "string",
  • "state": "PROVISIONING",
  • "picture_file_id": "string"
}

Projects

The projects API provides functionality for managing and interacting with projects in a workspace.

Projects organize tasks in a workspace and represent the work involved in optimizing a specific protein or achieving a specific goal. Data is currently isolated to a specific project, but in the future we will support cross project data sharing within a workspace.

List Projects

List all projects in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
include_archived
boolean (Include Archived)
Default: false

Include archived projects

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Create Project

Create a new project in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
name
required
string (Name) [ 1 .. 64 ] characters

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string"
}

Get Project

Get a project by ID.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string"
}

Update Project

Update a project's information.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
Request Body schema: application/json
required
name
required
string (Name) [ 1 .. 64 ] characters

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string"
}

Archive Project

Archive a project.

The data from the project will still be available. It will not be possible to create new tasks, data loads, etc. in the project.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string"
}

Unarchive Project

Unarchive a previously archived project.

Returns an HTTP 422 Unprocessable Entity error if the project is not archived.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "name": "string"
}

Rounds

The rounds API provides functionality for managing and interacting with rounds within a project.

Rounds are a way to organize the experiments within a project. Commonly, a round represents all in-vitro experiments related to a specific sub-goal or timeframe of a project. While rounds are typically ordered sequentially, multiple rounds can exist in parallel (for example, when testing multiple design methods in parallel).

Tasks, data loads, and reports can be (but don't have to be!) assigned to a round.

List Rounds

List all rounds in the project.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
required
Project Id (string) or Project Id (null) (Project Id)

The project for which to list rounds

include_archived
boolean (Include Archived)
Default: false

Include archived rounds

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Create Round

Create a new round in a project.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
project_id
required
string <int64> (Project Id)

The project to which the round belongs

name
required
string (Name) [ 1 .. 64 ] characters

The name of the round

Description (string) or Description (null) (Description)

Responses

Request samples

Content type
application/json
{
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Get Round

Get a round by ID.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Update Round

Update a round's name and description.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
Request Body schema: application/json
required
project_id
required
string <int64> (Project Id)

The project to which the round belongs

name
required
string (Name) [ 1 .. 64 ] characters

The name of the round

Description (string) or Description (null) (Description)

Responses

Request samples

Content type
application/json
{
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Archive Round

Archive a round.

The data from the round will still be available. It will not be possible to create new tasks, data loads, etc. in the round.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Unarchive Round

Unarchive a previously archived round.

Returns an HTTP 422 Unprocessable Entity error if the round is not archived.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "project_id": "string",
  • "name": "string",
  • "description": "string"
}

Data Management

The data API provides functionality for managing and interacting with data in a workspace.

Data comes in the form of tables and artifacts. Tables are used to store row-based data, such as measurements, sequences, and other structured data. Artifacts are used to store the results of tasks, such as machine learning models, predictions, and other outputs.

While tables can be created and uploaded by users, artifacts are only produced by tasks and cannot be uploaded directly.

Artifacts and table rows (via their data load source) have a context specified. This context refers to the origin of the data and is used in other parts of the API to determine data visibility, e.g. to isolate data between projects.

See the Artifacts API endpoints for more details on artifact data.

See the Tables API endpoints for more details on tabular data.

Get Data Versions

Return the data versions of the workspace in ascending order.

Data versions are created when new data loads are added or removed or table schemas are modified. You can think of data versions as a changelog of the data in the workspace. When querying for data, you can specify a data_version_id to get the data as it was at that version.

Since API tasks fully manage artifact creation, artifact creation is not part of data versioning.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Project Id (string) or Project Id (null) (Project Id)

Only show versions that affected the specified project. This filters the results only to row addition or removal (e.g. table schema changes will not be included in the result).

Table Id (string) or Table Id (null) (Table Id)

Only show versions that affected the specified table.

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Tables

Tables store row-based data with a well-defined column schema. Such data may come from spreadsheets or other tabular data stores.

Each table is created with a well-defined column schema, which can include primitive columns such as numbers and strings, as well as nested struct columns and arrays. A table's schema can be extended but existing columns cannot generally be modified or removed.

Table data as well as it's column schema itself are version controlled. Each change to the contained rows is tracked as a data version. Tables can be queried at any historic version unless some destructive change has been made, such as hard deletion of historic data for compliance reasons.

Because tables are versioned, each row is immutable. This means that it is not possible to change individual values in a row. Instead, the data load that added the row can be undone and the rows can be loaded again with the changed data.

See the Data Loads API endpoints on how to add and remove data to tables.

Query Data

Run an arbitrary SQL query against the data in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
query
required
string (Query) <= 10000 characters

The SQL query to execute.

Arrow Compression (string) or Arrow Compression (null) (Arrow Compression)

The compression algorithm to use for the Arrow response. Supported values are zstd, lz4, and None(meaning no compression).

Project Id (string) or Project Id (null) (Project Id)

If set, the query will only run over data associated with the given project_id.

Version Id (string) or Version Id (null) (Version Id)

If set, will run the query against the given version of the data according to the changelog.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "arrow_compression": "zstd",
  • "project_id": "string",
  • "version_id": "string"
}

Response samples

Content type
application/json
null

List Tables

List all current base tables and views in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
include_archived
boolean (Include Archived)
Default: false

Include archived tables

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Create Table

Create a new table or view.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
kind
string (Kind)
Default: "TABLE"

Whether to create a table or a view. Tables are created with the purpose of uploading data to them, while views are created as queries on top of existing tables or views. Think of tables as physical entities that store data, while views are virtual entities that represent a query result.

Value: "TABLE"
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Description (string) or Description (null) (Description)

A human-friendly description of the table's contents.

required
Array of any (Columns) non-empty

Columns of the table

Responses

Request samples

Content type
application/json
Example
{
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

Get Table

Get a table by its reference.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Responses

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

Get Table By Id

Retrieve the table by its ID. The ID is an opaque identifier for the table returned at table creation time and is distinct from the table reference.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

List Table Versions

List all versions of a specific table.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Rename Table

Rename the table.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Request Body schema: application/json
required
new_reference
required
string (New Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Responses

Request samples

Content type
application/json
{
  • "new_reference": "string"
}

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

Update Table

Update a table or view.

Tables can only be updated in forward-compatible ways. New columns can be added but not be removed. Existing columns can be turned from non-nullable to nullable but not the other way around. Existing columns cannot be renamed or changed in type.

Views can be updated arbitrarily.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Request Body schema: application/json
required
Description (string) or Description (null) (Description)

Description of the table.

kind
string (Kind)
Default: "TABLE"
Value: "TABLE"
Array of Columns (any) or Columns (null) (Columns)

Columns of the table.

Responses

Request samples

Content type
application/json
Example
{
  • "description": "string",
  • "kind": "TABLE",
  • "columns": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

Archive Table

Archive a table or view.

Archiving makes the table or view inaccessible for regular operations but preserves it for historical purposes.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

Request Body schema: application/json
required
object (TableArchive)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

Unarchive Table

Unarchive a previously archived table or view.

This makes the table or view available for regular operations again. If an active table with the same reference already exists, the unarchive operation will fail with an HTTP 409 Conflict error.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "kind": "TABLE",
  • "reference": "string",
  • "description": "string",
  • "columns": [
    ],
  • "version_id": "string"
}

List Archived Tables

List all archived tables that match the given reference.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
reference
required
string (Reference)

A unique name to use for referring to the table, such as temperature_assay. User-created tables should always use this simple table_name format. Cradle-created table references have the form catalog.schema.table_name, for example cradle.results.engineered_sequences.

References must be unique per workspace. One exception to the rule is that once a table is archived the refence is available to be used again. References are tied to a data version, i.e. when running a query at a historic version, a reference will point to the table that held the reference at this data version.

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Data Loads

A data load consists of one ore more data inputs that are ingested atomically (all at once). For example, a data load may consist of 2 CSV files, one file containing sequences and corresponding measurements for Round 1, and the other one for Round 2 of a specific experiment. A data load can be appended or removed atomically to/from the corresponding data tables.

Create Load

Create a new data load. After creation, the data load will be empty. Files can subsequently be added using the uploadFile endpoint.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
required
ContextProject (object) or ContextRound (object) (Context)

The context the loaded data will be associated with. The data will either live within a Project (visible to all rounds) or within a specific Round of a project (visible only to that round).

object (Tables)

A map of table references to table schemas. The map keys define the tables for which data is uploaded. The map values define the schema and file format for a given table.

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "tables": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Upload File

Upload a file to the cloud storage bucket and add upload information to load.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
Request Body schema: multipart/form-data
required
file
required
string <binary> (File)
Table Reference (string) or Table Reference (null) (Table Reference)

The table to append the data to. This table should have been specified on data load creation in the tables map. A file can also be uploaded without specifying a table name, but it will not be ingested on finalize. Uploading a file without assigning a table name is useful for archival purposes.

Description (string) or Description (null) (Description)

Optional file description.

Filepath (string) or Filepath (null) (Filepath)

Optional filename/filepath to be stored as metadata for this file upload. Can be used to provide more context about the original file.

Source File Id (string) or Source File Id (null) (Source File Id)

Optional file ID to signify this file is derived from an existing file within the same data load. This is mostly used to link a processed file to its raw counterpart.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "filepath": "string",
  • "size": 0,
  • "table_reference": "string",
  • "source_file_id": "string",
  • "description": "string"
}

Download File

Download a previously uploaded file from a load.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
file_id
required
string <int64> (File Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Add Table

Register a new table in the data load configuration.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
Request Body schema: application/json
required
table_ref
required
string (Table Ref)
required
object (TableLoadConfig)

Responses

Request samples

Content type
application/json
{
  • "table_ref": "string",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Finalize Load

Finalize the data load and start ingesting rows from the uploaded files.

The ingestion process will run in the background. The progress can be tracked by polling the data load and waiting for the status to switch from LOADING to COMPLETED or FAILED.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Delete Load

Delete the data load if it has not been completed yet.

The deletion will happen asynchronously afterwards and is irreservible.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

List Loads

List all data loads in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Project Id (string) or Project Id (null) (Project Id)

Only show loads associated with the specified project.

Round Id (string) or Round Id (null) (Round Id)

Only show loads associated with the specified round.

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Get Load

Get a data load by ID.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Undo Load

Append an entry to the changelog undoing the load.

The rows from this data load will no longer show at subsequent data versions. Previously undone loads can be redone to restore their data.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Redo Load

Append an entry to the changelog redoing the load. The rows from this data load will be visible again at subsequent data versions.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "context": {
    },
  • "tables": {
    },
  • "state": "PENDING",
  • "is_active": true,
  • "files": [
    ]
}

Artifacts

Artifacts are produced by tasks and can be referenced as inputs to other tasks. They can generally not be uploaded and downloaded directly. They have a well-defined type that determines for which purpose they can be used.

List Artifacts

List artifacts in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Type (string) or Type (null) (Type)

Only return artifacts with the given type

Project Id (string) or Project Id (null) (Project Id)

Only return artifacts of the given project.

Round Id (string) or Round Id (null) (Round Id)

Only return artifacts of the given round.

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Get Artifact

Get information about an artifact.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "context": {
    },
  • "type": "protein_structure/v1",
  • "producer": {
    }
}

Managing Tasks

A task is a unit of work that is executed within a workspace against all or a subset of its data. Tasks write their computation results back to the workspace either as new table rows or as artifacts.

See Creating Tasks for detailed documentation on the available task types.

Creating Tasks

Create endpoints for all supported task types.

When creating a task, a context must be specified. The context determines data visibility: data can either be visible in the entire project, or only in a specific round within a project. Artifact and table data also has a context and a task can only access data with a compatible context. A data context is compatible when it a workspace context or, if it is a project or round context, belongs to the same project.

For example, suppose project A has rounds abc and def and project B has round xyz. A task with context project=A or round=abc can only see data with context project=A or round=abc or round=def. A task with context project=B can only see data with context project=B or round=xyz.

Any data a task creates will be saved with the same context as the task.

Tasks always use the latest version of the data in the workspace, unless a specific version is provided.

analyze.data/v1

Create data quality and quantity analysis based on assay data.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

required
object (AnalyzeDataParameters)

The parameters of the task.

required
any (Context)

The context in which the task is executed.

Data Version Id (string) or Data Version Id (null) (Data Version Id)

For tasks that have parameters referencing data tables, this specifies the version of the table data to use. If no version is specified, it defaults to the most recent data version.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parameters": {
    },
  • "context": {
    },
  • "data_version_id": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

search/v1

Find homologs and compute protein domain features based on protein databases. The database to be used for homolog search and feature annotation can be set separately.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

required
object (SearchParameters)

The parameters of the task.

required
any (Context)

The context in which the task is executed.

Data Version Id (string) or Data Version Id (null) (Data Version Id)

For tasks that have parameters referencing data tables, this specifies the version of the table data to use. If no version is specified, it defaults to the most recent data version.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parameters": {
    },
  • "context": {
    },
  • "data_version_id": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "search/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

diversify/v1

Generate a set of diverse sequences starting from a template using only homologs and no assay data.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

required
object (DiversifyParameters)

The parameters of the task.

required
any (Context)

The context in which the task is executed.

Data Version Id (string) or Data Version Id (null) (Data Version Id)

For tasks that have parameters referencing data tables, this specifies the version of the table data to use. If no version is specified, it defaults to the most recent data version.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parameters": {
    },
  • "context": {
    },
  • "data_version_id": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "diversify/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

train/v1

Learn from a dataset by training models required for protein engineering. This task takes a dataset of assayed data, and one or multiple seed sequences, and trains three models based on this. A base model, capturing the evolutionary context around the seed sequence, a scorer model which predicts assay values, and a sampler model which generates new sequences that are likely to be good hits.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

required
object (TrainParameters)

The parameters of the task.

required
any (Context)

The context in which the task is executed.

Data Version Id (string) or Data Version Id (null) (Data Version Id)

For tasks that have parameters referencing data tables, this specifies the version of the table data to use. If no version is specified, it defaults to the most recent data version.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parameters": {
    },
  • "context": {
    },
  • "data_version_id": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "train/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

engineer/v1

Engineer a set of protein sequences using models trained in the train/v1 task. Takes a set of already assayed data, trained models, a set of template sequences and various generation parameters and returns a set of generated and selected sequences and related statistics.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

required
object (EngineerParameters)

The parameters of the task.

required
any (Context)

The context in which the task is executed.

Data Version Id (string) or Data Version Id (null) (Data Version Id)

For tasks that have parameters referencing data tables, this specifies the version of the table data to use. If no version is specified, it defaults to the most recent data version.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parameters": {
    },
  • "context": {
    },
  • "data_version_id": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "engineer/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Tasks

List Tasks

List all tasks in a workspace, project or round.

To list all tasks in a workspace, leave project_id and round_id unset. To list all tasks in a project, specify project_id and leave round_id unset. To list all tasks in a round, specify round_id and leave project_id unset.

Only one of project_id or round_id must be specified at once.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Type (string) or Type (null) (Type)

If provided, only list tasks of this type

TaskState (string) or State (null) (State)

If provided, only list tasks in this state

Project Id (string) or Project Id (null) (Project Id)

If provided, only list tasks in this project

Round Id (string) or Round Id (null) (Round Id)

If provided, only list tasks in this round

include_archived
boolean (Include Archived)
Default: false

Include archived tasks

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Get Task

Obtain the current state and the result of a task.

This endpoint can be called periodically to monitor the status of a task and to detect when it finished executing.

If the state field of the response is COMPLETED, then the result field contains the task result (often containing IDs of artifacts and tables created by the task).

If the state field of the response is FAILED, then the error field contains a description explaining why the task has failed.

The states COMPLETED, FAILED and CANCELLED are terminal states. When the task is in any other state, it will eventually transition into one of these three.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Cancel Task

Cancel the task if possible.

Only tasks that have not yet terminated may be canceled. There is no guarantee that cancellation succeeds before the task successfully completes.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Archive Task

Archive the task.

This will make the task disappear from regular task listings. It will not remove data that has been produced by the task. If data removal is required, use the data_load_id for the task's results and call the /data/load:undo endpoint separately.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Update Task

Update a task's name, description, or context.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)
Request Body schema: application/json
required
Name (string) or Name (null) (Name)

Optional name for the task. If provided it will ensure that only one task with that name exists within the task's context.

Description (string) or Description (null) (Description)

Optional description to provide additional notes about the executed task.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Unarchive Task

Unarchive the task.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Recover Task

Recover a task that has failed or been cancelled by putting it into state EXECUTING.

Note that this is best-effort and is not guaranteed to fix any issues in the underlying backend execution, and may also cause unexpected side-effects such as duplicate data loads. Main use-case is tasks that failed due to intermittent issues in the backend which have been resolved.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

Responses

Response samples

Content type
application/json
Example
{
  • "errors": [
    ],
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "type": "analyze.data/v1",
  • "context": {
    },
  • "name": "string",
  • "description": "string",
  • "data_version_id": "string",
  • "data_load_id": "string",
  • "parameters": {
    },
  • "result": {
    },
  • "state": "INIT"
}

Assemblies

List Assemblies

List all assemblies in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Project Id (string) or Project Id (null) (Project Id)

If provided, only list assemblies in this project

Round Id (string) or Round Id (null) (Round Id)

If provided, only list assemblies in this round

include_archived
boolean (Include Archived)
Default: false

Include archived assemblies

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}

Get Assembly

Get a specific assembly in the workspace.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

The ID of the assembly to retrieve

Responses

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "assembly": {
    },
  • "name": "string",
  • "context": {
    },
  • "metadata": {
    }
}

Create Assembly

Create a new assembly in the project.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

Request Body schema: application/json
required
Name (string) or Name (null) (Name)
required
Assembly (object) or Assembly (string) (Assembly)
required
any (Context)
Metadata (object) or Metadata (null) (Metadata)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "assembly": {
    },
  • "context": {
    },
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "assembly": {
    },
  • "name": "string",
  • "context": {
    },
  • "metadata": {
    }
}

Update Assembly

Update an existing assembly in the project.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

The ID of the assembly to retrieve

Request Body schema: application/json
required
Metadata (object) or Metadata (null) (Metadata)
Any of
additional property
string or integer or number or boolean
Any of
string

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "archived_at": "2019-08-24T14:15:22Z",
  • "archived_by": "string",
  • "id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "updated_by": "string",
  • "assembly": {
    },
  • "name": "string",
  • "context": {
    },
  • "metadata": {
    }
}

List Features

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

The ID of the assembly to retrieve

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Set Features

Create a new assembly feature.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
id
required
string <int64> (Id)

The ID of the assembly to retrieve

Request Body schema: application/json
required
required
object (Features)
additional property
object (AssemblyFeature)
required
object (Ranges)

The ranges of the feature, keyed by polymer name

Metadata (object) or Metadata (null) (Metadata)

Optional metadata for the feature

Responses

Request samples

Content type
application/json
{
  • "features": {
    }
}

Response samples

Content type
application/json
null

Query Assemblies

Query assemblies by metadata or feature metadata using Expression objects.

path Parameters
workspace
required
string (Workspace)

Name of the workspace in which to perform the operation. See workspace for more details on workspaces.

query Parameters
Project Id (string) or Project Id (null) (Project Id)

If provided, only list assemblies in this project

Round Id (string) or Round Id (null) (Round Id)

If provided, only list assemblies in this round

limit
integer (Limit) ( 0 .. 1000 )
Default: 100
Cursor (string) or Cursor (null) (Cursor)
order
string (Order)
Default: "ASC"
Enum: "ASC" "DESC"
Request Body schema: application/json
Assembly Query (any) or Assembly Query (null) (Assembly Query)

Query expression to filter assemblies by their metadata.

Feature Query (any) or Feature Query (null) (Feature Query)

Query expression to filter assemblies by their features' metadata. Returns assemblies that have at least one feature matching the query.

Responses

Request samples

Content type
application/json
{
  • "assembly_query": {
    },
  • "feature_query": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "cursor": "string"
}