> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

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

GET https://{tenant_name}.benchling.com/api/v3/tasks/bulk-create-and-register-proteins-and-components/{task_id}

Get the current status of a bulk-create-and-register-proteins-and-components task.
When a job reaches a `COMPLETED` status, you can call the
`GET /tasks/bulk-create-and-register-proteins-and-components/{task_id}/results`
endpoint to fetch task results and errors.

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

Reference: https://docs.benchling.com/docs/api/benchling-api/protein/bulk-create-and-register-proteins-and-components-task-get

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `task_id` (string, required)

### Headers

- `EARLY-ACCESS` (string, optional) — Set to true to access beta operations via /api/v3.

## Response

### 200

Job status details

- `result` (BulkCreateAndRegisterProteinsAndComponentsTaskGetResponseResult, required)
- `status` (enum, required) — The current status of the task. - NOT_STARTED: Task has been created but not yet started. - IN_PROGRESS: Task is currently running. - COMPLETED: Task finished. Check 'result.hasErrors' to determine if there were validation errors. - FAILED: Task encountered an internal error (system failure). This is distinct from user-facing validation errors, which result in a COMPLETED status with hasErrors=true.
  - Allowed values: `NOT_STARTED`, `IN_PROGRESS`, `COMPLETED`, `FAILED`
- `taskId` (string, required)
- `message` (string, optional, nullable) — A human-readable message describing why the task failed. Present only when status is FAILED.

## Errors

### 400 Bulk Create and Register Proteins and Components Task Get Request Bad Request Error

Bad Request

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 403 Bulk Create and Register Proteins and Components Task Get Request Forbidden Error

Forbidden

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 404 Bulk Create and Register Proteins and Components Task Get Request Not Found Error

Not Found

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 429 Bulk Create and Register Proteins and Components Task Get Request Too Many Requests Error

Too Many Requests

- `detail` (TooManyRequestsErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)
- `violated-policies` (list of enum, optional) — The budget policies that rejected the request, in canonical order: `user`, `integration`, then `tenant`.
  - Allowed values: `user`, `integration`, `tenant`

### 500 Bulk Create and Register Proteins and Components Task Get Request Internal Server Error

Internal Server Error

- `detail` (InternalServerErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `errorId` (string, optional)

## Types

### BulkCreateAndRegisterProteinsAndComponentsTaskGetResponseResult

- `hasErrors` (boolean, required)
- `hasSuccess` (boolean, required)

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

## Examples

**Response**

```json
{
  "result": {
    "hasErrors": false,
    "hasSuccess": true
  },
  "status": "NOT_STARTED",
  "taskId": "cprotjob:ana_fhlbqd",
  "message": "message"
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v3/tasks/bulk-create-and-register-proteins-and-components/task_id"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v3/tasks/bulk-create-and-register-proteins-and-components/task_id';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```