openapi: 3.0.1 info: license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: Benchling AA Sequences Workflow Task Groups API version: 2.0.0 description: 'AA Sequences are the working units of cells that make everything run (they help make structures, catalyze reactions and allow for signaling - a kind of internal cell communication). On Benchling, these are comprised of a string of amino acids and collections of other attributes, such as annotations. ' servers: - url: /api/v2 security: - oAuth: [] - basicApiKeyAuth: [] tags: - description: Workflow task groups are groups of workflow tasks of the same schema name: Workflow Task Groups paths: /workflow-task-groups: get: description: List workflow task groups operationId: listWorkflowTaskGroups parameters: - description: Comma separated list of workflow task group IDs in: query name: ids schema: example: prs_giVNQcTL,prs_t6m99v1 type: string - description: The workflow task schema ID of tasks in this task group in: query name: schemaId schema: example: prstsch_KnR9iVum,prstsch_nJ34lw9y type: string - description: A folder ID in: query name: folderId schema: example: lib_bf0636 type: string - description: A project ID in: query name: projectId schema: example: src_NetYd96a type: string - description: A comma separated list entry IDs in: query name: mentionedIn schema: example: etr_30ad79,etr_d00c97 type: string - description: Comma separated list of user IDs or "null" in: query name: watcherIds schema: example: ent_a0SApq3z,ent_asdf72354,null minLength: 1 type: string - description: 'Comma separated list of workflow execution types. Acceptable execution types are "DIRECT" and "ENTRY" ' in: query name: executionTypes schema: example: ENTRY,DIRECT minLength: 1 type: string - description: Comma separated list of team IDs or "null" in: query name: responsibleTeamIds schema: example: team_Thepp2c7,team_QqHMbfqK,null minLength: 1 type: string - description: Commas separated list of Status ids. Maximum of 100. Returns workflows where at least one task is of one of the provided statuses. in: query name: statusIds.anyOf schema: example: wfts_VFvwv7JV,wfts_wQzUCsW0 minLength: 1 type: string - description: Commas separated list of Status ids. Returns workflows where none of the tasks are of any of the provided statuses. in: query name: statusIds.noneOf schema: example: wfts_VFvwv7JV,wfts_wQzUCsW0 minLength: 1 type: string - description: Commas separated list of Status ids. Returns workflows where all of the tasks are of one of the provided statuses. in: query name: statusIds.only schema: example: wfts_VFvwv7JV,wfts_wQzUCsW0 minLength: 1 type: string - description: The name of the workflow task group in: query name: name schema: example: Plasmid Transformation type: string - description: Part of the name of the workflow task group in: query name: nameIncludes schema: example: Plasmid type: string - description: Comma separated list of user IDs. in: query name: creatorIds schema: example: ent_a0SApq3z type: string - description: 'Datetime, in RFC 3339 format. Supports the > and < operators. Time zone defaults to UTC. Restricts results to those modified in the specified range. e.g. > 2017-04-30. Date ranges can be specified with the following nomenclature > YYYY-MM-DD AND 2022-03-01 AND < 2022-04-01' full-rfc-3339-format: summary: Filter for modified models using the full RFC 3339 format value: '> 2020-12-31T21:07:14-05:00' greater-than-example: summary: Filter for all models modified after a certain date value: '> 2022-03-01' in: query name: modifiedAt schema: type: string - example: Im5ldyB0ZXN0Ig== in: query name: nextToken schema: type: string - in: query name: pageSize schema: default: 50 maximum: 100 minimum: 0 nullable: false type: integer - description: Comma-separated list of Workflow Display IDs. in: query name: displayIds schema: example: VPR001,VPR002 type: string - description: 'Archive reason. Restricts items to those with the specified archive reason. Use "NOT_ARCHIVED" to filter for unarchived workflow task groups. Use "ANY_ARCHIVED" to filter for archived workflow task groups regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived. ' examples: 1_not_archived: summary: Only include unarchived items (default). value: NOT_ARCHIVED 2_archived_reason: summary: Includes items archived for a specific reason. value: Retired 3_any_archived: summary: Includes items archived for any reason. value: ANY_ARCHIVED 4_any_archived_or_not_archived: summary: Includes both archived and unarchived items. value: ANY_ARCHIVED_OR_NOT_ARCHIVED in: query name: archiveReason schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupsPaginatedList' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad request summary: List workflow task groups tags: - Workflow Task Groups post: description: Create a new workflow task group. If no name is specified, uses the workflow schema name and a unique incrementor separated by a single whitespace. operationId: createWorkflowTaskGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupCreate' responses: '201': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroup' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad request summary: Create a new workflow task group tags: - Workflow Task Groups /workflow-task-groups/{workflow_task_group_id}: get: description: Get a workflow task group operationId: getWorkflowTaskGroup parameters: - description: The ID of the workflow task group in: path name: workflow_task_group_id required: true schema: example: prs_giVNQcTL type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroup' description: OK '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundError' description: Not found summary: Get a workflow task group tags: - Workflow Task Groups patch: description: Update a workflow task group operationId: updateWorkflowTaskGroup parameters: - description: The ID of the workflow task group in: path name: workflow_task_group_id required: true schema: example: prs_giVNQcTL type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupUpdate' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroup' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad request '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundError' description: Not found summary: Update a workflow task group. If updating the folder ID, other attributes cannot be updated at the same time. tags: - Workflow Task Groups /workflow-task-groups:archive: post: description: Archive one or more workflows operationId: archiveWorkflowTaskGroups requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupsArchive' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupsArchivalChange' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad request summary: Archive one or more workflows tags: - Workflow Task Groups /workflow-task-groups:unarchive: post: description: Unarchive one or more workflows operationId: unarchiveWorkflowTaskGroups requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupsUnarchive' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowTaskGroupsArchivalChange' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad request summary: Unarchive one or more workflows tags: - Workflow Task Groups components: schemas: WorkflowTaskSummary: properties: displayId: description: User-friendly ID of the workflow task type: string id: description: The ID of the workflow task example: wftask_OnnsW08k readOnly: true type: string TeamSummary: allOf: - type: object - properties: id: type: string name: type: string - example: id: team_5cjIguqc name: Elion's Team WorkflowTaskGroup: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupBase' - properties: executionType: description: The method by which the workflow is executed enum: - DIRECT - ENTRY - FLOWCHART - PROCEDURE - PROCEDURE_METHOD - PROCEDURE_STEP type: string flowchartConfigVersionId: description: The flowchart configuration that this task group uses. This will be null if the task group does not have executionType FLOWCHART. example: wffccv_giVNQcAF type: string flowchartTaskGroups: description: The task groups that are members of the flowchart that this task group is the root of. This will be null this task group is not the root task group of a flowchart (eg if the task group does not have executionType FLOWCHART). items: $ref: '#/components/schemas/WorkflowNodeTaskGroupSummary' type: array nodeConfig: allOf: - $ref: '#/components/schemas/WorkflowFlowchartNodeConfig' description: The node in a Flowchart that this task group is associated with. This will be null if the task group is not part of a flowchart. rootTaskGroup: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupSummary' description: The task group associated with the root node of the flowchart that this task group is a part of. This will be null if the task group is not part of a flowchart. workflowOutputs: description: The outputs of the workflow task group items: $ref: '#/components/schemas/WorkflowOutputSummary' type: array CreationOrigin: properties: application: nullable: true readOnly: true type: string originId: nullable: true readOnly: true type: string originModalUuid: format: uuid nullable: true readOnly: true type: string originType: nullable: true readOnly: true type: string type: object Folder: properties: archiveRecord: allOf: - $ref: '#/components/schemas/ArchiveRecord' nullable: true readOnly: true id: readOnly: true type: string name: type: string parentFolderId: description: ID of the parent folder, if it exists nullable: true type: string projectId: description: ID of the containing project readOnly: true type: string WorkflowEndNodeDetails: additionalProperties: false properties: id: description: The ID of the workflow flowchart end node config details example: wftrnd_aB8Wi12c readOnly: true type: string name: description: The name of the end node example: End 1 readOnly: true type: string nodeType: description: The type of the node enum: - END type: string type: object BadRequestError: properties: error: allOf: - $ref: '#/components/schemas/BaseError' - properties: type: enum: - invalid_request_error type: string type: object BaseError: properties: message: type: string type: type: string userMessage: type: string type: object WorkflowTaskGroupsUnarchive: properties: workflowTaskGroupIds: items: example: prs_giVNQcTL type: string type: array required: - workflowTaskGroupIds type: object ArchiveRecord: properties: reason: example: Made in error type: string type: object WorkflowTaskSchemaSummary: properties: id: description: The ID of the workflow task schema type: string name: description: The name of the workflow task schema type: string WorkflowTaskGroupBase: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupSummary' - properties: archiveRecord: allOf: - $ref: '#/components/schemas/ArchiveRecord' nullable: true readOnly: true createdAt: description: The ISO formatted date and time that the task group was created example: '2020-08-01T00:00:00.000Z' nullable: false type: string creationOrigin: $ref: '#/components/schemas/CreationOrigin' creator: $ref: '#/components/schemas/UserSummary' folder: $ref: '#/components/schemas/Folder' modifiedAt: description: The ISO formatted date and time that the task group was last modified example: '2020-08-01T00:00:00.000Z' nullable: false type: string outputs: description: The outputs of the workflow task group items: $ref: '#/components/schemas/WorkflowOutputSummary' type: array responsibleTeam: allOf: - $ref: '#/components/schemas/TeamSummary' nullable: true watchers: description: The users watching the workflow task group items: $ref: '#/components/schemas/UserSummary' type: array webURL: description: URL of the workflow task group format: uri readOnly: true type: string workflowTaskSchema: $ref: '#/components/schemas/WorkflowTaskSchemaSummary' workflowTasks: description: The input tasks to the workflow task group items: $ref: '#/components/schemas/WorkflowTaskSummary' type: array UserSummary: allOf: - $ref: '#/components/schemas/PartySummary' - example: handle: lpasteur id: ent_a0SApq3z name: Louis Pasteur WorkflowRouterFunction: additionalProperties: false properties: edgeConfigId: description: The ID of the workflow flowchart edge config associated with this function example: wffcec_giVNQcTL readOnly: true type: string id: description: The function associated with a router node example: wfrf_b2VJBmBj readOnly: true type: string isDefault: readOnly: true name: description: The name of a function associated with a router node example: Rule 1 readOnly: true type: string type: object WorkflowTaskGroupArchiveReason: description: 'The reason for archiving the provided workflow task groups. Accepted reasons may differ based on tenant configuration. ' enum: - Made in error - Retired - Other type: string PartySummary: properties: handle: type: string id: type: string name: type: string type: object WorkflowOutputSummary: properties: displayId: description: User-friendly ID of the workflow task group type: string id: description: The ID of the workflow output example: wfout_5cJLQKVF readOnly: true type: string WorkflowTaskNodeDetails: additionalProperties: false properties: id: description: The ID of the workflow task node config details example: wftnd_hbVNQcEM readOnly: true type: string nodeType: description: The type of the node enum: - TASK type: string taskSchema: $ref: '#/components/schemas/WorkflowTaskSchemaSummary' type: object WorkflowOutputNodeDetails: additionalProperties: false properties: id: description: The ID of the workflow output node config details example: wfond_hbVNQcEM readOnly: true type: string nodeType: description: The type of the node enum: - OUTPUT type: string outputSchema: $ref: '#/components/schemas/SchemaSummary' type: object WorkflowFlowchartNodeConfig: properties: id: description: The ID of the workflow flowchart node config readOnly: true type: string nodeDetails: discriminator: mapping: END: '#/components/schemas/WorkflowEndNodeDetails' OUTPUT: '#/components/schemas/WorkflowOutputNodeDetails' ROOT: '#/components/schemas/WorkflowRootNodeDetails' ROUTER: '#/components/schemas/WorkflowRouterNodeDetails' TASK: '#/components/schemas/WorkflowTaskNodeDetails' propertyName: nodeType oneOf: - $ref: '#/components/schemas/WorkflowRootNodeDetails' - $ref: '#/components/schemas/WorkflowOutputNodeDetails' - $ref: '#/components/schemas/WorkflowTaskNodeDetails' - $ref: '#/components/schemas/WorkflowRouterNodeDetails' - $ref: '#/components/schemas/WorkflowEndNodeDetails' nodeType: description: The type associated with the node config enum: - ROOT - OUTPUT - TASK - ROUTER - END type: string type: object WorkflowTaskGroupCreate: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupWriteBase' - properties: schemaId: description: The workflow task schema of tasks in this task group example: prstsch_KnR9iVum type: string required: - schemaId - folderId WorkflowNodeTaskGroupSummary: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupSummary' - properties: nodeConfigId: description: The node in a Flowchart that this task group is associated with. This will be null if the task group is not part of a flowchart. example: wffcnc_giVNQcTL type: string WorkflowRootNodeDetails: additionalProperties: false properties: id: description: The ID of the workflow root node config details example: wfrnd_hbVNQcEM readOnly: true type: string nodeType: description: The type of the node enum: - ROOT type: string rootTaskSchema: $ref: '#/components/schemas/WorkflowTaskSchemaSummary' type: object WorkflowTaskGroupSummary: properties: displayId: description: User-friendly ID of the workflow task group type: string id: description: The ID of the workflow task group example: prs_giVNQcTL readOnly: true type: string name: description: The name of the workflow task group type: string WorkflowRouterNodeDetails: additionalProperties: false properties: id: description: The ID of the workflow router node config details example: wfrnd_hbVJBcMC readOnly: true type: string name: description: The name of the router node example: Router 1 readOnly: true type: string nodeType: description: The type of the node enum: - ROUTER type: string routerFunctions: description: Router functions associated with this router node items: $ref: '#/components/schemas/WorkflowRouterFunction' readOnly: true type: array type: object WorkflowTaskGroupsArchive: properties: reason: $ref: '#/components/schemas/WorkflowTaskGroupArchiveReason' workflowTaskGroupIds: items: example: prs_giVNQcTL type: string type: array required: - workflowTaskGroupIds - reason type: object WorkflowTaskGroupsPaginatedList: properties: nextToken: example: Im5ldyB0ZXN0Ig== type: string workflowTaskGroups: items: $ref: '#/components/schemas/WorkflowTaskGroup' type: array type: object NotFoundError: properties: error: allOf: - $ref: '#/components/schemas/BaseError' - properties: invalidId: type: string type: enum: - invalid_request_error type: string type: object WorkflowTaskGroupWriteBase: properties: folderId: description: ID of the folder that contains the workflow task group type: string name: description: The name of the workflow task group type: string watcherIds: description: IDs of the users watching the workflow task group items: example: ent_a0SApq3z type: string type: array WorkflowTaskGroupUpdate: allOf: - $ref: '#/components/schemas/WorkflowTaskGroupWriteBase' WorkflowTaskGroupsArchivalChange: description: 'IDs of all items that were archived or unarchived, grouped by resource type ' properties: workflowTaskGroupIds: items: example: prs_giVNQcTL type: string type: array type: object SchemaSummary: properties: id: type: string name: type: string type: object securitySchemes: basicApiKeyAuth: description: Use issued API key for standard access to the API scheme: basic type: http basicClientIdSecretAuth: description: Auth used as part of client credentials OAuth flow prior to receiving a bearer token. scheme: basic type: http oAuth: description: OAuth2 Client Credentials flow intended for service access flows: clientCredentials: scopes: {} tokenUrl: /api/v2/token type: oauth2 externalDocs: description: Additional API Documentation url: https://docs.benchling.com