---
title: "Get ProteinVersion by ID"
method: GET
path: "/api/v3/protein-version/{protein_version_id}"
tags: ["Protein Version"]
---

# Get ProteinVersion by ID

`GET /api/v3/protein-version/{protein_version_id}`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/protein-version/{protein_version_id}`
- Auth: HTTP bearer

Get a single ProteinVersion by ID.

## Path parameters

- `protein_version_id` string, required

## Query parameters

- `returning` string[]
- `omit` string[]

## Headers

- `EARLY-ACCESS` string

## Response `200`

OK

- ProteinVersion: A historical snapshot of an `Protein` at a specific point in time, preserving the complete structural state including domains, chains, and HELM notation. Protein versions form a lineage that tracks changes over time. Each version records its creator and creation time. The parent field links to the version this one was derived from. Versions may become out of sync with their constituent entities if underlying sequences change.
  - `__typename` string
  - `chains` ProteinChain[]: The chains and associated amino acid sequences on the protein.
    - `__typename` string
    - `chainPositions` ProteinFormatChainPosition[]: Each chain position of this chain in the protein. If a chain has multiplicity > 1, each chain position will be listed here.
      - `__typename` string
      - `domainPositions` ProteinFormatDomainPosition[]: A list of all the domain positions that make up the chain position, in order
        - `__typename` string
        - `optional` boolean: Whether this domain is optional in the format. If true, entities of this format may not have this domain.
        - `ref` integer: A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
        - `type` 'VL' | 'CL' | 'VH' | 'VHH' | 'CH1' | 'CH2' | 'CH3' | 'CH4' | 'J' | 'H' | 'L' | 'VA' | 'CA' | 'VB' | 'CB' | 'VG' | 'CG' | 'VD' | 'CD' | 'F' | 'ELEMENT': Type of the domain
      - `ref` integer: A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
      - `type` 'HEAVY' | 'LIGHT' | 'NONE' | 'ALPHA' | 'BETA' | 'JOINING': Type of the chain.
    - `domains` ProteinDomain[]: Each domain on the chain, ordered according to the format.
      - `__typename` string
      - `domainPositions` ProteinFormatDomainPosition[]: Each domain position of this domain in the protein. If this domain appears multiple times in the physical structure of the protein, each domain position will be listed here.
        - `__typename` string
        - `optional` boolean: Whether this domain is optional in the format. If true, entities of this format may not have this domain.
        - `ref` integer: A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
        - `type` 'VL' | 'CL' | 'VH' | 'VHH' | 'CH1' | 'CH2' | 'CH3' | 'CH4' | 'J' | 'H' | 'L' | 'VA' | 'CA' | 'VB' | 'CB' | 'VG' | 'CG' | 'VD' | 'CD' | 'F' | 'ELEMENT': Type of the domain
      - `entity` AaSequenceRef
        - `__typename` string
        - `id` string, api_id
      - `label` string: A human-readable label for the domain.
      - `type` 'VL' | 'CL' | 'VH' | 'VHH' | 'CH1' | 'CH2' | 'CH3' | 'CH4' | 'J' | 'H' | 'L' | 'VA' | 'CA' | 'VB' | 'CB' | 'VG' | 'CG' | 'VD' | 'CD' | 'F' | 'ELEMENT': The type of the domain.
    - `entity` AaSequenceRef
      - `__typename` string
      - `id` string, api_id
    - `label` string: Unique label for the chain, computed from the format.
    - `type` 'HEAVY' | 'LIGHT' | 'NONE' | 'ALPHA' | 'BETA' | 'JOINING': The type of the chain.
  - `createdAt` string, datetime: DateTime this version was created.
  - `creator` PrincipalRef
    - `__typename` string
    - `id` string, api_id
  - `domains` ProteinDomain[]: The domains and associated amino acid sequences on the protein.
    - `__typename` string
    - `domainPositions` ProteinFormatDomainPosition[]: Each domain position of this domain in the protein. If this domain appears multiple times in the physical structure of the protein, each domain position will be listed here.
      - `__typename` string
      - `optional` boolean: Whether this domain is optional in the format. If true, entities of this format may not have this domain.
      - `ref` integer: A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
      - `type` 'VL' | 'CL' | 'VH' | 'VHH' | 'CH1' | 'CH2' | 'CH3' | 'CH4' | 'J' | 'H' | 'L' | 'VA' | 'CA' | 'VB' | 'CB' | 'VG' | 'CG' | 'VD' | 'CD' | 'F' | 'ELEMENT': Type of the domain
    - `entity` AaSequenceRef
      - `__typename` string
      - `id` string, api_id
    - `label` string: A human-readable label for the domain.
    - `type` 'VL' | 'CL' | 'VH' | 'VHH' | 'CH1' | 'CH2' | 'CH3' | 'CH4' | 'J' | 'H' | 'L' | 'VA' | 'CA' | 'VB' | 'CB' | 'VG' | 'CG' | 'VD' | 'CD' | 'F' | 'ELEMENT': The type of the domain.
  - `format` ProteinFormatRef
    - `__typename` string
    - `id` string, api_id
  - `id` string: ID of the protein version.
  - `name` string: Name of the protein version.
  - `outOfSync` boolean: Indicates if constituent domain or chain entities have changed since the protein was last updated.
  - `outOfSyncReason` string, nullable: Any additional information about why the protein is out of sync.
  - `parent` ProteinVersionRef
    - `__typename` string
    - `id` string, api_id
  - `protein` ProteinRef
    - `__typename` string
    - `id` string, api_id

## 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)
