---
title: "List results"
method: GET
path: "/api/v1/results"
tags: ["results"]
---

# List results

`GET /api/v1/results`

## Request

- Base URL: `https://devs.adaptyvbio.com`
- URL: `https://devs.adaptyvbio.com/api/v1/results`
- Auth: HTTP bearer

Lists completed analysis results, sorted by creation date (newest first).
Results appear when an experiment's `results_status` field reaches
`Partial` or `All`. Paginate with `limit` (default 50) and `offset`;
the response includes `total` for page calculation.

Each result includes its full `summary` (kinetics for BLI, readouts for
thermostability) and `metadata`, matching the detail endpoint shape.
Supports filtering on result fields; invalid filter fields return 400.

## Query parameters

- `limit` integer
- `offset` integer
- `filter` string
- `search` string
- `sort` string

## Response `200`

Result list

- object: Paginated list response with offset-based navigation metadata. All list endpoints return this shape. Use `offset` and `limit` query parameters to page through results; `total` reports how many items match the query across all pages.
  - `count` integer, required: Number of items in this response.
  - `items` object[], required: The page of results.
    - `created_at` string, date-time, required: When this result was generated (ISO 8601).
    - `data_package_url` string, nullable: Download URL for the raw data package, the same one available in the Foundry portal. Omitted when no package is available.
    - `experiment_id` string, uuid, required: Identifier of the experiment this result belongs to.
    - `id` string, uuid, required: Identifier for this result.
    - `metadata` object, required: Additional metadata beyond the summary.
    - `result_type` string, required: Assay type for this result (e.g. "affinity", "thermostability").
    - `summary` ResultSummary[], required: Per-readout measurements, each tagged by assay type.
      - union: A result readout, tagged by assay type. The `result_type` field selects the variant: `affinity` for binding kinetics, `thermostability` for melting-temperature readouts.
        - object: Binding kinetics from an affinity assay.
          - `binding` string, nullable: Overall binding outcome, rolled up from the replicates ("true", "false", "unknown", "in_progress").
          - `binding_model` string[], nullable: The selected binding model(s), e.g. `["standard"]`, `["bivalent_analyte"]`, `["conformational"]`. Populated only for results carrying the v1 payload.
          - `binding_strength` string, required: Overall binding call, rolled up from the replicates (e.g. "strong", "medium", "weak", "none", "unknown").
          - `concentration_display` string, nullable: Expression concentration for display, in nM (e.g. "12.3", "<5.0", ">100").
          - `concentration_value` number, double, nullable: Expression concentration as a number, in nM, when a point estimate is available.
          - `expression` string, nullable: Expression level for the construct (e.g. "high", "medium", "low").
          - `fit_quality` string, nullable: Overall fit quality, one of "good" / "medium" / "poor".
          - `kd_app` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
            - `ci_high` number, double, nullable: Upper bound of the 95% confidence interval.
            - `ci_low` number, double, nullable: Lower bound of the 95% confidence interval.
            - `value` number, double, required: Point estimate.
          - `kd_log_std` number, double, nullable: Log-scale standard deviation of KD across the replicates.
          - `kd_mean` number, double, nullable: Mean equilibrium dissociation constant (M), averaged across the strong-binding replicates.
          - `kd_units` string, required: Unit for the KD values; always molar (M).
          - `koff_1to1` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
            - `ci_high` number, double, nullable: Upper bound of the 95% confidence interval.
            - `ci_low` number, double, nullable: Lower bound of the 95% confidence interval.
            - `value` number, double, required: Point estimate.
          - `koff_log_std` number, double, nullable: Log-scale standard deviation of koff across the replicates.
          - `koff_mean` number, double, nullable: Mean dissociation rate constant (s⁻¹) across the replicates.
          - `kon_1to1` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
            - `ci_high` number, double, nullable: Upper bound of the 95% confidence interval.
            - `ci_low` number, double, nullable: Lower bound of the 95% confidence interval.
            - `value` number, double, required: Point estimate.
          - `kon_log_std` number, double, nullable: Log-scale standard deviation of kon across the replicates.
          - `kon_mean` number, double, nullable: Mean association rate constant (M⁻¹s⁻¹) across the replicates.
          - `method` string[], nullable: Distinct fitting models used across the replicates (e.g. ["1:1", "2:1"]).
          - `performance` object, required: How this result compares to each of the experiment's positive controls, keyed by control name. Each value is "better", "worse", or null when the comparison is indeterminate.
          - `place` integer, nullable: Rank of this result within its experiment.
          - `positive_control` boolean, required: Whether this result is a positive control.
          - `replicates` AffinityReplicate[], required: The individual replicate measurements behind these aggregates.
            - `binding` string, nullable: Categorical binding outcome for this replicate ("true", "false", "unknown", "in_progress").
            - `binding_strength` string, nullable: Qualitative binding call for this replicate (e.g. "strong", "medium", "weak", "none", "in_progress").
            - `confidence` string, nullable: Confidence grade for the fit. Omitted when the binding call is unknown.
            - `expression` string, nullable: Expression level for the construct in this replicate (e.g. "high", "medium", "low").
            - `fit_quality` string, nullable: Overall fit quality, one of "good" / "medium" / "poor".
            - `kd` number, double, nullable: Equilibrium dissociation constant (M). Omitted when not measurable.
            - `kd_app` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
              - …
            - `koff` number, double, nullable: Dissociation rate constant (s⁻¹). Omitted when not measurable.
            - `koff_1to1` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
              - …
            - `koff_method` string, nullable: Fitting model used for the koff fit (e.g. "1:1", "2:1").
            - `kon` number, double, nullable: Association rate constant (M⁻¹s⁻¹). Omitted when not measurable.
            - `kon_1to1` KineticInterval: A kinetic point estimate together with its 95% confidence interval. `ci_low` / `ci_high` are absent when the fit did not yield finite bounds.
              - …
            - `kon_method` string, nullable: Fitting model used for the kon fit (e.g. "1:1", "2:1").
            - `method` string, nullable: Fitting model used for this replicate (e.g. "1:1", "2:1").
            - `replicate` integer, required: Replicate number, starting at 1.
            - `rmse_max_signal_pct` number, double, nullable: RMSE divided by the maximum measured signal, expressed as a percentage.
          - `rmse_max_signal_pct` number, double, nullable: RMSE divided by the maximum measured signal, expressed as a percentage.
          - `sequence` SequenceEntry, required: Represents a biological sequence to be tested in an experiment. Each sequence represents an antibody or protein to be tested in the experiment. # Example ```json { "name": "mAb1", "aa_string": "EVQLVESGGGLVQPGGSLRLSCAASGFTFS...", "control": false } ```
            - `aa_string` string, required: A validated amino acid sequence string. Contains only the 20 natural amino acids (single-letter codes: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y) and colons for multichain notation. Input is case-insensitive; stored uppercase. Multichain sequences use colon separators (e.g., `MVLS:EVQL` for a two-chain construct). Invalid characters or empty strings are rejected.
            - `control` boolean: Whether the sequence should be treated as a control well
            - `metadata` unknown
            - `name` string, nullable: Optional name for the sequence (e.g., "mAb1", "scFv-001")
          - `target` TargetReference: A resolved reference to an experiment's target, as shown in the Foundry Portal. This is the single shape every API response uses to name a target: the experiment spec, result readouts, cost-estimate line items, and the internal minimum-sequence admin config all embed it instead of a bare id string. `name` is always present. `target_catalog_id` is present when the target is a catalog product — fetch its full details from `GET /targets/{target_catalog_id}`; its absence indicates a custom target. `sequence` and `supplier_url` are included when available.
            - `name` string, required: The target's display name, as shown in the Foundry Portal.
            - `sequence` string, nullable: The target's amino-acid sequence, when available.
            - `supplier_url` string, nullable: Link to the target's vendor product page, when available.
            - `target_catalog_id` string, uuid, nullable: Identifier of the matching catalog product, when the target is in the catalog; absent for custom targets. Resolve full details via `GET /targets/{target_catalog_id}`.
          - `result_type` 'affinity', required
        - object: Melting-temperature readout from a nanoDSF assay.
          - `bli_result_id` string, uuid, nullable: Identifier of the binding result for the same sample, when the experiment also ran a binding assay.
          - `inflection_pts_for_ratio` number[], required: Inflection temperature (°C) of each unfolding transition, from the ratio curve.
          - `initial_330nm` number, double, nullable: Initial raw fluorescence at 330nm.
          - `onset_pts_for_ratio` number[], required: Onset temperature (°C) of each unfolding transition, from the ratio curve.
          - `sequence` string, nullable: Protein sequence for this readout.
          - `sequence_id` string, uuid, required: Identifier for this readout.
          - `sequence_name` string, nullable: Sample or construct name for this readout.
          - `tm` number, double, nullable: Melting temperature (°C), from the 350nm/330nm fluorescence ratio.
          - `result_type` 'thermostability', required
    - `title` string, required: Human-readable title for this result.
  - `offset` integer, required: Offset used for this page (mirrors the `offset` query parameter).
  - `total` integer, required: Total number of items matching the query (across all pages).

## Other responses

- `401`: Invalid or missing authentication token
- `403`: Insufficient permissions
- `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)
