openapi: 3.2.0 info: license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: Benchling Workflow Output API version: 2.0.0 description: 'Represents the result or product of completing a `WorkflowTask`. Each output is associated with a single task. Outputs can contain schema-defined fields that capture structured data from task execution. In flowchart workflows, outputs can serve as inputs to downstream tasks, enabling data flow between workflow steps. The output schema is defined by the `WorkflowOutputSchema` associated with the parent task''s schema.' servers: - url: /api/v3 security: - oAuth: [] - basicApiKeyAuth: [] tags: - description: 'Represents the result or product of completing a `WorkflowTask`. Each output is associated with a single task. Outputs can contain schema-defined fields that capture structured data from task execution. In flowchart workflows, outputs can serve as inputs to downstream tasks, enabling data flow between workflow steps. The output schema is defined by the `WorkflowOutputSchema` associated with the parent task''s schema.' name: WorkflowOutput x-bnch-organization: Benchling paths: /workflow-output: post: description: Create WorkflowOutput. operationId: WorkflowOutput.Create parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWorkflowOutputInput' responses: '201': content: application/json: schema: $ref: '#/components/schemas/WorkflowOutput' description: Created '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Create WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 4 /workflow-output/items: get: description: List WorkflowOutput items. operationId: WorkflowOutput.List parameters: - $ref: '#/components/parameters/archiveReason.anyOf' - $ref: '#/components/parameters/archived.anyOf' - $ref: '#/components/parameters/createdAt.gt' - $ref: '#/components/parameters/createdAt.gte' - $ref: '#/components/parameters/createdAt.lt' - $ref: '#/components/parameters/createdAt.lte' - $ref: '#/components/parameters/id.anyOf' - $ref: '#/components/parameters/modifiedAt.gt' - $ref: '#/components/parameters/modifiedAt.gte' - $ref: '#/components/parameters/modifiedAt.lt' - $ref: '#/components/parameters/modifiedAt.lte' - $ref: '#/components/parameters/nextToken' - $ref: '#/components/parameters/omit' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/returning' - description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.' in: query name: sort schema: default: modifiedAt:desc enum: - createdAt:asc - createdAt:desc - modifiedAt:asc - modifiedAt:desc type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowOutputPaginatedList' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: List WorkflowOutput items tags: - WorkflowOutput x-bnch-rate-limit-tier: 4 /workflow-output/{workflow_output_id}: get: description: Get a single WorkflowOutput by ID. operationId: WorkflowOutput.Get parameters: - description: ID of the WorkflowOutput. in: path name: workflow_output_id required: true schema: type: string - $ref: '#/components/parameters/returning' - $ref: '#/components/parameters/omit' - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowOutput' description: OK headers: {} '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Get WorkflowOutput by ID tags: - WorkflowOutput x-bnch-rate-limit-tier: 5 patch: description: Update WorkflowOutput. operationId: WorkflowOutput.Update parameters: - description: ID of the WorkflowOutput. in: path name: workflow_output_id required: true schema: type: string - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateWorkflowOutputInput' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkflowOutput' description: OK '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Update WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 4 /workflow-output:batch-create: post: description: Batch create WorkflowOutput synchronously in one transaction. Maximum 25 items per request. operationId: WorkflowOutput.BatchCreate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/CreateWorkflowOutputInput' maxItems: 25 minItems: 1 type: array required: - items type: object responses: '201': content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/WorkflowOutput' type: array required: - items type: object description: Created '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Batch create WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 3 /workflow-output:batch-update: patch: description: Batch update WorkflowOutput synchronously in one transaction. Maximum 25 items per request. operationId: WorkflowOutput.BatchUpdate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/UpdateWorkflowOutputInputWithPathParams' maxItems: 25 minItems: 1 type: array required: - items type: object responses: '200': content: application/json: schema: additionalProperties: false properties: items: items: $ref: '#/components/schemas/WorkflowOutput' type: array required: - items type: object description: OK '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Batch update WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 3 /workflow-output:bulk-create: post: description: Bulk create WorkflowOutput. operationId: WorkflowOutput.BulkCreate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkImport' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncTaskLink' description: Task started '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Bulk create WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 2 /workflow-output:bulk-update: patch: description: Bulk update WorkflowOutput. operationId: WorkflowOutput.BulkUpdate parameters: - description: Set to true to access beta operations via /api/v3. in: header name: EARLY-ACCESS required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkImport' responses: '202': content: application/json: schema: $ref: '#/components/schemas/AsyncTaskLink' description: Task started '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' summary: Bulk update WorkflowOutput tags: - WorkflowOutput x-bnch-rate-limit-tier: 2 components: schemas: FieldValueInput: additionalProperties: false properties: value: $ref: '#/components/schemas/AnyType' required: - value type: object AnyType: {} WorkflowOutput: description: 'Represents the result or product of completing a `WorkflowTask`. Each output is associated with a single task. Outputs can contain schema-defined fields that capture structured data from task execution. In flowchart workflows, outputs can serve as inputs to downstream tasks, enabling data flow between workflow steps. The output schema is defined by the `WorkflowOutputSchema` associated with the parent task''s schema.' properties: __typename: type: string archiveReason: description: Reason the item was archived type: - 'null' - string archived: description: If the item is archived type: boolean createdAt: format: datetime type: string creator: $ref: '#/components/schemas/PrincipalRef' description: The creator of the item displayId: description: User-friendly ID of the workflow output type: string id: description: The ID of the workflow output type: string modifiedAt: format: datetime type: string name: type: string schema: $ref: '#/components/schemas/WorkflowOutputSchemaRef' task: $ref: '#/components/schemas/WorkflowTaskRef' type: object UpdateWorkflowOutputInputWithPathParams: additionalProperties: false properties: id: type: string schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object required: - id type: object InternalServerError: properties: detail: type: - 'null' - string - object errorId: type: string instance: type: string status: type: integer title: type: - 'null' - string type: type: string required: - type - title - detail - status - instance type: object AsyncTaskLink: properties: pollingUri: format: uri type: string taskId: type: string type: object BulkImport: example: fileId: scrfile_jdf8BV24kLmN properties: fileId: description: The API ID of the scratch file (`scrfile_XXXXXXXX`) containing the items to import. The referenced file must be a scratch file whose upload has completed successfully. type: string required: - fileId type: object PrincipalRef: properties: __typename: type: string id: format: api_id type: string type: object WorkflowOutputSchemaRef: properties: __typename: type: string id: format: api_id type: string type: object WorkflowOutputPaginatedList: additionalProperties: false properties: items: items: $ref: '#/components/schemas/WorkflowOutput' type: array nextToken: type: string type: object UpdateWorkflowOutputInput: additionalProperties: false properties: schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object type: object CreateWorkflowOutputInput: additionalProperties: false properties: schemaFields: additionalProperties: $ref: '#/components/schemas/FieldValueInput' type: object taskId: type: string required: - taskId type: object WorkflowTaskRef: properties: __typename: type: string id: format: api_id type: string type: object GeneralError: properties: detail: type: - 'null' - string - object instance: type: string status: type: integer title: type: - 'null' - string type: type: string required: - type - title - detail - status - instance type: object parameters: pageSize: description: Number of results to return. Defaults to 50, maximum of 100. in: query name: pageSize schema: type: integer createdAt.gte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or after the specified time. e.g. >= 2017-04-30. in: query name: createdAt.gte schema: format: datetime type: string modifiedAt.gt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified after the specified time. e.g. > 2017-04-30. in: query name: modifiedAt.gt schema: format: datetime type: string modifiedAt.lte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or before the specified time. e.g. <= 2017-04-30. in: query name: modifiedAt.lte schema: format: datetime type: string id.anyOf: description: Restricts results to those matching any of the specified IDs. Comma-separated list. explode: false in: query name: id.anyOf schema: items: type: string maxItems: 100 type: array omit: description: Comma-separated list of top-level fields to omit from each returned item. Cannot overlap with returning. explode: false in: query name: omit schema: items: type: string type: array modifiedAt.lt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified before the specified time. e.g. < 2017-04-30. in: query name: modifiedAt.lt schema: format: datetime type: string createdAt.gt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created after the specified time. e.g. > 2017-04-30. in: query name: createdAt.gt schema: format: datetime type: string createdAt.lt: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created before the specified time. e.g. < 2017-04-30. in: query name: createdAt.lt schema: format: datetime type: string archiveReason.anyOf: description: Restricts items to those with any of the specified archive reasons. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED" to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived. Comma-separated list. explode: false in: query name: archiveReason.anyOf schema: items: type: string maxItems: 10 type: array returning: description: Comma-separated list of top-level fields to include in each returned item. Cannot overlap with omit. explode: false in: query name: returning schema: items: type: string type: array archived.anyOf: description: If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items. Comma-separated list. explode: false in: query name: archived.anyOf schema: items: type: boolean maxItems: 2 type: array nextToken: description: Token for pagination in: query name: nextToken schema: type: string modifiedAt.gte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or after the specified time. e.g. >= 2017-04-30. in: query name: modifiedAt.gte schema: format: datetime type: string createdAt.lte: description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or before the specified time. e.g. <= 2017-04-30. in: query name: createdAt.lte schema: format: datetime type: string responses: NotFound: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Not Found TooManyRequests: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Too Many Requests BadRequest: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Bad Request Forbidden: content: application/problem+json: schema: $ref: '#/components/schemas/GeneralError' description: Forbidden InternalServerError: content: application/problem+json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error 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: /oauth/token type: oauth2