> 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 assembly by ID

GET https://{tenant_name}.benchling.com/api/v2-alpha/assemblies/{bulk_assembly_id}

Get a bulk assembly by its API identifier.

Reference: https://docs.benchling.com/docs/api/v2-alpha/benchling-api-alpha/assemblies/get-assembly

## Authentication

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

## Request

### Path parameters

- `bulk_assembly_id` (string, required) — API identifier of bulk assembly

## Response

### 200

OK

- `assemblyType` (enum, optional)
  - Allowed values: `CLONING`, `CONCATENATION`
- `id` (string, optional)
- `name` (string, optional)
- `bins` (list of AssemblyBinsItems, optional)
- `constructs` (list of AssemblyConstruct, optional)
- `fragments` (list of AssemblyFragmentShared, optional)
- `method` (AssemblyMethod, optional)

## Types

### AssemblyBinsItems

- `binType`: `CONSTANT` (CONSTANT)
  - `id` (string, required) — Unique identifier for the bin.
  - `name` (string, required)
  - `residues` (string, required) — Base pairs or amino acid residues for the spacer/constant.
- `binType`: `FRAGMENT` (FRAGMENT)
  - `id` (string, required) — Unique identifier for the bin.
  - `name` (string, required)
  - `fragmentProductionMethod` (enum, optional)
    - Allowed values: `EXISTING_CUT_SITES`, `EXISTING_HOMOLOGY_REGIONS`, `PRIMER_PAIR`

### AssemblyConstruct

- `constructFragmentIds` (list of string, optional)
- `constructPrimers` (list of AssemblyConstructConstructPrimersItems, optional)
- `id` (string, optional) — Unique identifier for the construct.
- `outputPolymer` (AssemblyPolymerReference, optional)

### AssemblyFragmentShared

- `end` (double, required) — End position of the fragment in the provided input.
- `id` (string, required) — Unique identifier for the fragment.
- `orientation` (enum, required)
  - Allowed values: `FORWARD`, `REVERSE`
- `polymer` (AssemblyPolymerReference, required)
- `start` (double, required) — Start position of the fragment in the provided input.

### AssemblyMethod

- `type`: `CONCATENATION` (CONCATENATION)
  - `parameters` (AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingConcatenationParameters, required)
- `type`: `GIBSON` (GIBSON)
  - `parameters` (AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingGibsonParameters, required)
- `type`: `GOLDEN_GATE` (GOLDEN_GATE)
  - `parameters` (AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingGoldenGateParameters, required)
- `type`: `HOMOLOGY` (HOMOLOGY)
  - `parameters` (AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingHomologyParameters, required)

### AssemblyConstructConstructPrimersItems

- `type`: `BULK_ASSEMBLY_CREATED_PRIMER` (BULK_ASSEMBLY_CREATED_PRIMER)
  - `createdOligoId` (string, optional) — API identifier of the Benchling oligo created by the assembly.
- `type`: `BULK_ASSEMBLY_TRANSIENT_PRIMER` (BULK_ASSEMBLY_TRANSIENT_PRIMER)
  - `bases` (string, optional) — Bases of the primer.
  - `bindingPosition` (string, optional) — Binding position of the primer on the construct.

### AssemblyPolymerReference

- `polymerType`: `AA_SEQUENCE` (AA_SEQUENCE)
  - `proteinId` (string, required) — API identifier for the amino acid sequence.
- `polymerType`: `NUCLEOTIDE_SEQUENCE` (NUCLEOTIDE_SEQUENCE)
  - `sequenceId` (string, required) — API identifier for the nucleotide sequence.

### AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingConcatenationParameters

- `fragmentProductionMethod` (enum, required)
  - Allowed values: `SLICE`
- `polymerType` (enum, required)
  - Allowed values: `DNA`, `RNA`, `AA`

### AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingGibsonParameters

- `fragmentProductionMethod`: `EXISTING_CUT_SITES` (EXISTING_CUT_SITES)
  - `maximumHomologyAndBindingRegionLength` (double, required) — Maximum length, in base pairs, of the primer's binding/homology regions.
  - `minimumBindingRegionMeltingTemperature` (double, required) — Minimum melting temperature of the primer binding region.
  - `minimumHomologyAndBindingRegionLength` (double, required) — Minimum length, in base pairs, of the primer's binding/homology regions.
- `fragmentProductionMethod`: `EXISTING_HOMOLOGY_REGIONS` (EXISTING_HOMOLOGY_REGIONS)
  - `maximumHomologyAndBindingRegionLength` (double, required) — Maximum length, in base pairs, of the primer's binding/homology regions.
  - `minimumBindingRegionMeltingTemperature` (double, required) — Minimum melting temperature of the primer binding region.
  - `minimumHomologyAndBindingRegionLength` (double, required) — Minimum length, in base pairs, of the primer's binding/homology regions.
- `fragmentProductionMethod`: `PRIMER_PAIR` (PRIMER_PAIR)
  - `maximumHomologyAndBindingRegionLength` (double, required) — Maximum length, in base pairs, of the primer's binding/homology regions.
  - `maximumPrimerPairMeltingTemperatureDifference` (double, required) — Maximum difference of melting temperature between both primers in a pair.
  - `minimumBindingRegionMeltingTemperature` (double, required) — Minimum melting temperature of the primer binding region.
  - `minimumHomologyAndBindingRegionLength` (double, required) — Minimum length, in base pairs, of the primer's binding/homology regions.
  - `minimumPrimerMeltingTemperature` (double, required) — Minimum melting temperature of the whole primer.

### AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingGoldenGateParameters

- `fragmentProductionMethod`: `EXISTING_CUT_SITES` (EXISTING_CUT_SITES)
  - `type2SRestrictionEnzymeId` (string, required)
- `fragmentProductionMethod`: `PRIMER_PAIR` (PRIMER_PAIR)
  - `maximumPrimerPairMeltingTemperatureDifference` (double, required) — Maximum difference of melting temperature between both primers in a pair.
  - `minimumBindingRegionLength` (double, required) — Minimum length of the primer binding region.
  - `minimumBindingRegionMeltingTemperature` (double, required) — Minimum melting temperature of the primer binding region.
  - `preRecognitionSiteBases` (string, required) — Specific base pairs to insert before the type IIS enzyme recognition site.
  - `preRecognitionSiteLength` (double, required) — Number of base pairs to insert before the type IIS enzyme recognition site.
  - `type2SRestrictionEnzymeId` (string, required)

### AssembliesCreateAndFinalizePostRequestBodyContentApplicationJsonSchemaAssemblyParametersDiscriminatorMappingHomologyParameters

- `ambiguousConstructPreference` (enum, required)
  - Allowed values: `USE_LARGER_FRAGMENT_IN_FIRST_BIN`, `USE_SMALER_FRAGMENT_IN_FIRST_BIN`
- `fragmentProductionMethod` (enum, required)
  - Allowed values: `EXISTING_HOMOLOGY_REGIONS`

## Examples

**Response**

```json
{
  "assemblyType": "CLONING",
  "id": "string",
  "name": "string",
  "bins": [
    {
      "binType": "FRAGMENT",
      "id": "string",
      "name": "string",
      "fragmentProductionMethod": "EXISTING_CUT_SITES"
    }
  ],
  "constructs": [
    {
      "constructFragmentIds": [
        "string"
      ],
      "constructPrimers": [
        {
          "type": "BULK_ASSEMBLY_CREATED_PRIMER",
          "createdOligoId": "string"
        }
      ],
      "id": "string",
      "outputPolymer": {
        "polymerType": "NUCLEOTIDE_SEQUENCE",
        "sequenceId": "seq_123"
      }
    }
  ],
  "fragments": [
    {
      "end": 1.1,
      "id": "string",
      "orientation": "FORWARD",
      "polymer": {
        "polymerType": "NUCLEOTIDE_SEQUENCE",
        "sequenceId": "seq_123"
      },
      "start": 1.1
    }
  ],
  "method": {
    "type": "GOLDEN_GATE",
    "parameters": {
      "fragmentProductionMethod": "EXISTING_CUT_SITES",
      "type2SRestrictionEnzymeId": "enz_Z1fxwlBi"
    }
  }
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v2-alpha/assemblies/bulk_assembly_id"

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

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

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v2-alpha/assemblies/bulk_assembly_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);
}
```