---
title: "Get target"
method: GET
path: "/api/v1/targets/{target_id}"
tags: ["targets"]
---

# Get target

`GET /api/v1/targets/{target_id}`

## Request

- Base URL: `https://devs.adaptyvbio.com`
- URL: `https://devs.adaptyvbio.com/api/v1/targets/{target_id}`
- Auth: HTTP bearer

Returns the catalog record for a single target by UUID.

Retrieves target details including vendor name, catalog number, and
`pricing` where self-service pricing is available.

**Pricing:** Targets with `pricing` support instant cost estimation via
`/experiments/cost-estimate`. Targets without this field require a custom
quote — contact support for pricing on these targets.

Returns 404 if the target doesn't exist.

## Path parameters

- `target_id` string, uuid, required

## Response `200`

Target details retrieved

- TargetInfo: Target catalog entry. Used by both list and detail endpoints. The list endpoint returns this with `details` omitted (or populated when `?detailed=true`). The detail endpoint always populates `details`.
  - `catalog_number` string, required: Vendor's catalog/SKU number
  - `details` TargetDetails: Detailed target data populated on the detail endpoint and optionally on the list endpoint when `?detailed=true` is passed.
    - `bioactivity` Bioactivity: Vendor bioactivity data availability for a target. Each boolean indicates whether the vendor provides binding data from that assay type. `None` for this field means the vendor did not report bioactivity for this product (distinct from all-false, which would mean tested but negative).
      - `bli` boolean, required: BLI (biolayer interferometry) data available from vendor
      - `elisa` boolean, required: ELISA bioactivity data available from vendor
      - `spr` boolean, required: SPR (surface plasmon resonance) data available from vendor
    - `description` string, nullable: Vendor product description.
    - `expression_system` string, nullable: Expression system used to produce the target (e.g., "HEK293").
    - `family` string, nullable: Protein family classification (e.g., "Immunoglobulin superfamily").
    - `gene_names` string[], nullable: Gene names/symbols. First entry is canonical (e.g., ["PDCD1", "PD1"]).
    - `molecular_weight` string, nullable: Raw molecular weight string from the vendor catalog (e.g., "23.1 kDa").
    - `ncbi_id` string, nullable: NCBI accession ID. Complementary to `uniprot_id` — mostly viral targets.
    - `organism` string, nullable: Source organism (e.g., "Homo sapiens", "SARS-CoV-2").
    - `purity` number, double, nullable: Purity percentage (0-100). Vendor-dependent, only ~20% of targets.
    - `sequence` string, nullable: Amino acid sequence of the target protein.
    - `sequence_length` integer, nullable: Amino acid count (avoids client-side counting of `sequence`).
    - `structures` PdbEntry[]: PDB structures with download URLs. Each entry pairs a PDB ID with its RCSB download URL.
      - `id` string, required: PDB ID from RCSB Protein Data Bank (e.g., "5JDR")
      - `url` string, required: Direct download URL for the PDB file
    - `subcellular_locations` string[], nullable: Known subcellular locations (e.g., ["Cell membrane", "Secreted"]).
    - `synonyms` string[], nullable: Alternative protein names (e.g., ["Programmed cell death protein 1", "CD279"]).
    - `tags` string[], nullable: Purification/fusion tags on the product (e.g., ["His"], ["Fc"]).
  - `id` string, uuid, required: Unique identifier for the target from the catalog
  - `name` string, required: Product name of the target antigen
  - `pricing` union: Pricing information for a target's material costs. Determines how material costs are calculated for an experiment using this target. The variant reflects the pricing model configured in `foundry_api.product_prices`.
    - object: Per-sequence pricing: fixed cost per sequence.
      - `price_per_sequence_cents` integer, required: Material cost per sequence in USD cents
      - `type` 'per_sequence', required
    - object: Broken-lot pricing: customer pays for the full lot. Each tier represents a lot size and the number of sequences it can serve. The API consumer should select the smallest tier whose `num_sequences` is >= the experiment's sequence count.
      - `lot_prices` LotPriceTier[], required: Lot price tiers, sorted by num_sequences ascending
        - `num_sequences` integer, required: Maximum sequences this lot can serve
        - `price_usdcent` integer, required: Full lot price in USD cents
      - `type` 'per_broken_lot', required
  - `uniprot_id` string, nullable: UniProt accession for the primary protein component. Present on ~82% of targets; viral/non-standard proteins lack this (they have `details.ncbi_id` instead).
  - `url` string, required: URL to view this target in the catalog web UI
  - `vendor_name` string, required: Vendor/supplier name (e.g., "ACRO Biosystems")

## Other responses

- `400`: Invalid target_id format (not a UUID)
- `401`: Invalid or missing authentication token
- `403`: Insufficient permissions
- `404`: Target not found
- `500`: Internal server error

---

[API](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api.md) - [All operations](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adaptyvbio/apis/adaptyv-foundry-api/revisions/5a2228f4bd59?raw)
