> 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 AlignedNucleotideSequence items

GET https://{tenant_name}.benchling.com/api/v3/nucleotide-alignment/{nucleotide_alignment_id}/aligned-nucleotide-sequences/items

List AlignedNucleotideSequence items.

Reference: https://docs.benchling.com/docs/api/benchling-api/nucleotide-alignment/alignednucleotidesequences-list

## Authentication

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

## Request

### Path parameters

- `nucleotide_alignment_id` (string, required) — ID of the NucleotideAlignment.

### Query parameters

- `nextToken` (string, optional) — Token for pagination
- `pageSize` (integer, optional) — Number of results to return. Defaults to 50, maximum of 100.

## Response

### 200

OK

- `items` (list of AlignedNucleotideSequence, optional)
- `nextToken` (string, optional)

## Errors

### 400 Nucleotide Alignment Aligned Nucleotide Sequences 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 Nucleotide Alignment Aligned Nucleotide Sequences 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 Nucleotide Alignment Aligned Nucleotide Sequences 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 Nucleotide Alignment Aligned Nucleotide Sequences 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 Nucleotide Alignment Aligned Nucleotide Sequences 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

### AlignedNucleotideSequence

Represents a single sequence row within a NucleotideAlignment (also referred to as an alignment row in the Benchling UI). Each AlignedNucleotideSequence contains the aligned bases (including gap characters for insertions/deletions), the original NucleotideSequence if it exists in the registry, and quality trim boundaries. The trimStart and trimEnd fields are 0-based indices into the gapped bases string, with trimEnd exclusive. They define the high-quality region used for alignment and pairwise identity calculations—bases outside this region are typically low-quality ends from Sanger sequencing reads.

- `__typename` (string, optional)
- `bases` (string, optional) — The aligned bases for this row, including gap characters (-) for insertions and deletions relative to the reference sequence.
- `id` (string, optional) — The ID of the Aligned Nucleotide Sequence.
- `name` (string, optional) — The name of the Aligned Nucleotide Sequence.
- `nucleotideAlignment` (NucleotideAlignmentRef, optional) — The Nucleotide Alignment the Aligned Nucleotide Sequence belongs to.
- `pairwiseIdentity` (double, optional) — Fraction of bases between trimStart and trimEnd that match the reference sequence within the trimmed region.
- `sequence` (NucleotideSequenceRef, optional, nullable) — The persisted NucleotideSequence referenced by this row, if the alignment row is linked to a stored sequence. Returns null when the row was created from an uploaded file that is not linked to a persisted sequence.
- `trimEnd` (integer, optional) — Exclusive end index into the gapped bases string for the region included in the alignment. Bases outside the trimmed region are excluded from the alignment and from the pairwise identity calculation. The trim region is determined by trace data, but can also be edited manually.
- `trimStart` (integer, optional) — Inclusive start index into the gapped bases string for the region included in the alignment. Bases outside the trimmed region are excluded from the alignment and from the pairwise identity calculation. The trim region is determined by trace data, but can also be edited manually.

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

### NucleotideAlignmentRef

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

### NucleotideSequenceRef

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

## Examples

**Response**

```json
{
  "items": [
    {
      "__typename": "__typename",
      "bases": "bases",
      "id": "id",
      "name": "name",
      "pairwiseIdentity": 1.1,
      "trimEnd": 1,
      "trimStart": 1
    }
  ],
  "nextToken": "nextToken"
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v3/nucleotide-alignment/nucleotide_alignment_id/aligned-nucleotide-sequences/items"

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

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

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v3/nucleotide-alignment/nucleotide_alignment_id/aligned-nucleotide-sequences/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);
}
```