---
title: "Get bulk-create-and-register-proteins-and-components task results"
method: GET
path: "/api/v3/tasks/bulk-create-and-register-proteins-and-components/{task_id}/results"
tags: ["Protein"]
---

# Get bulk-create-and-register-proteins-and-components task results

`GET /api/v3/tasks/bulk-create-and-register-proteins-and-components/{task_id}/results`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/tasks/bulk-create-and-register-proteins-and-components/{task_id}/results`
- Auth: HTTP bearer

Get the results of a completed bulk-create-and-register-proteins-and-components task.

This endpoint returns an identifier for the output dataset, plus an optional
pre-signed URL to download the errors file if any inputs failed validation.

Task IDs for this endpoint remain queryable for 14 days after the
job is created.
After that TTL expires, this endpoint returns 404. Retrieve the dataset
ID and any errors file URL you need before the task ID expires.

**Partial Success**: A job can complete with both successful and failed inputs. Always check
`errorsFileUrl` even when `datasetId` is present, since some inputs may have been rejected
while others were created successfully.

Behavior:
- Returns 400 unless the task has a COMPLETED status. While a task is running
  you can poll the
  `GET /tasks/bulk-create-and-register-proteins-and-components/{task_id}`
  endpoint first and only call this endpoint once
  `status == "COMPLETED"`. If the status becomes FAILED, this endpoint
  will always return 400.
- If the task is in a COMPLETED status, returns parameters you can
  use to fetch output and error data.  See the descriptions of the output
  parameters for more detail.

## Path parameters

- `task_id` string, required

## Headers

- `EARLY-ACCESS` string

## Response `200`

Task results

- ProteinBulkCreateAndRegisterProteinsAndComponentsResultsGetResponse200
  - `datasetId` string: If no proteins were registered, this parameter is absent. Otherwise, `datasetId` identifies a Dataset object with the results data. Use this id with the Datasets API to look up the dataset and fetch its rows. This dataset will be the same one displayed in the Benchling UI and referenced in emails about this task. Dataset Columns - The results dataset will have an `input` column giving the index of the input protein data associated to this results row. - It will have a `protein` column giving the api id of the protein that was registered for that input. - It will have a `{label}_aa` and optionally a `{label}_dna` column for each domain label in the format. The DNA column will only be present if the job registered DNA sequence entities for that format. - It will have similar `{label}_dna` and `{label}_aa` columns for chains that it registered. - It will also have `{label1}_{label2}_pair_dna` and `{label1}_{label2}_pair_aa` columns for any registered DNA and AA pairs.
  - `errorsFileUrl` string, uri: If all inputs were registered successfully, this parameter is absent. Otherwise, it's a pre-signed S3 URL for downloading the errors CSV. This CSV will have an `Input #` column giving the index of the input to the job associated with one particular protein that failed to be registered. The `Error Message` column gives a description of the error. This file may also contain additional columns for any sequence data that the job attempted to use when it failed to register this particular protein. Those columns will follow the same naming scheme as described above for the Dataset output.
  - `taskId` string, required

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/benchling/apis/benchling-api.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api/revisions/c9f087b98b8b?raw)
