> 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.

# List AutomationTemplateVariable items

GET https://{tenant_name}.benchling.com/api/v3/automation-template/{automation_template_id}/config-variables/items

List AutomationTemplateVariable items.

Reference: https://docs.benchling.com/docs/api/benchling-api/automation-template/configvariables-list

## Authentication

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

## Request

### Path parameters

- `automation_template_id` (string, required) — ID of the AutomationTemplate.

### Query parameters

- `archived.anyOf` (boolean, optional) — If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items. Comma-separated list.

### Headers

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

## Response

### 200

OK

- `items` (list of AutomationTemplateVariable, optional)

## Errors

### 400 Automation Template Config Variables List 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 Automation Template Config Variables List 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 Automation Template Config Variables List 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 Automation Template Config Variables List 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)

### 500 Automation Template Config Variables List 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

### AutomationTemplateVariable

Defines a configuration parameter within an AutomationTemplate that users can customize when applying the template. Unlike AutomationTemplateDataFrameVariable which handles data frame inputs, this type represents scalar configuration values such as thresholds, filter criteria, or algorithm parameters. The configVariableKey identifies which step configuration field this variable controls, and variableTypeConfigSpec defines the allowed value types. When users apply a template, they provide values for these variables that configure the behavior of the corresponding AutomationStep. Note: These are surfaced as "config variables" on the AutomationTemplate object.

- `__typename` (string, optional)
- `archiveReason` (string, optional, nullable)
- `archived` (boolean, optional)
- `automationStep` (AutomationStepRef, optional)
- `configVariableKey` (string, optional)
- `createdAt` (string, optional)
- `id` (string, optional)
- `modifiedAt` (string, optional)
- `name` (string, optional)
- `pipelineStep` (AutomationStepRef, optional) — Use automationStep instead.
- `template` (AutomationTemplateRef, optional)
- `variableTypeConfigSpec` (map from string to any, optional) — Defines the allowed value type and validation constraints for this variable. The structure depends on the variable's data type.

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

### AutomationStepRef

- `__typename` (string, optional)
- `id` (string, optional)

### AutomationTemplateRef

- `__typename` (string, optional)
- `id` (string, optional)

## Examples

**Response**

```json
{
  "items": [
    {
      "__typename": "__typename",
      "archiveReason": "archiveReason",
      "archived": true,
      "configVariableKey": "configVariableKey",
      "createdAt": "createdAt",
      "id": "id",
      "modifiedAt": "modifiedAt",
      "name": "name",
      "variableTypeConfigSpec": {
        "key": "value"
      }
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v3/automation-template/automation_template_id/config-variables/items"

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

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

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v3/automation-template/automation_template_id/config-variables/items';
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);
}
```