---
title: "Query Testset Variants"
method: POST
path: "/testsets/variants/query"
tags: ["Testsets"]
---

# Query Testset Variants

`POST /testsets/variants/query`

List and filter testset variants.

Use `testset_refs` to scope to one or more parent testsets. Use
`testset_variant_refs` to restrict by specific variant id/slug.

## Request body

- TestsetVariantQueryRequest
  - `testset_variant` TestsetVariantQuery
    - `flags` TestsetFlags — Placeholder for testset-level flags. This model is intentionally empty but kept as a dedicated type so that: - existing references to `flags: Optional[TestsetFlags]` remain valid, and - structured flags can be added here in the future without breaking the surrounding DTOs.
    - `tags` object, nullable
    - `meta` object, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `slug` string, nullable
    - `slugs` string[], nullable
  - `testset_refs` Reference[], nullable — Scope to variants whose parent testset matches one of these references.
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `testset_variant_refs` Reference[], nullable — Restrict the query to specific variants by reference (id or slug).
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `include_archived` boolean, nullable — Include soft-deleted variants.
  - `windowing` Windowing
    - `newest` string, date-time, nullable
    - `oldest` string, date-time, nullable
    - `next` string, uuid, nullable
    - `limit` integer, nullable
    - `order` 'ascending' | 'descending', nullable
    - `interval` integer, nullable
    - `rate` number, nullable

## Response `200`

Successful Response

- TestsetVariantsResponse
  - `count` integer — Number of variants returned.
  - `testset_variants` TestsetVariant[] — Testset variants matching the query.
    - `testset_slug` string, nullable
    - `artifact_slug` string, nullable
    - `testset_id` string, uuid, nullable
    - `artifact_id` string, uuid, nullable
    - `flags` TestsetFlags — Placeholder for testset-level flags. This model is intentionally empty but kept as a dedicated type so that: - existing references to `flags: Optional[TestsetFlags]` remain valid, and - structured flags can be added here in the future without breaking the surrounding DTOs.
    - `tags` object, nullable
    - `meta` object, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `created_by_id` string, uuid, nullable
    - `updated_by_id` string, uuid, nullable
    - `deleted_by_id` string, uuid, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/agenta-ai/apis/agenta-api.md) · [All operations](https://skmtc.net/agenta-ai/apis/agenta-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agenta-ai/agenta-api/versions/ea6421d829f1/schema)
