---
title: "Query Testcases"
method: POST
path: "/testcases/query"
tags: ["Testcases"]
---

# Query Testcases

`POST /testcases/query`

## Request body

- TestcasesQueryRequest
  - `testcase_ids` string[], nullable — Explicit list of testcase IDs to fetch. Combine with `testset_id` or testset references to scope the lookup.
  - `testset_id` string, uuid, nullable — Return all testcases stored in this testset. The testset owns its testcases as a content-addressed bag; a revision references a subset of these.
  - `testset_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `testset_variant_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `testset_revision_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `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

- TestcasesResponse
  - `count` integer — Number of testcases returned on this page.
  - `testcases` TestcaseOutput[] — Testcase blobs matching the query, in revision-order when scoped by a revision reference.
    - `testset_id` string, uuid, nullable
    - `set_id` string, uuid, 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
    - `id` string, uuid, nullable
    - `flags` object, nullable
    - `tags` object, nullable
    - `meta` object, nullable
    - `data` object, nullable
  - `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

## Other responses

- `422` — Validation Error

## Changes

> 359 revisions in range; 46 could not be searched.

- **2025-06-27** `e3e84db47198` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/agenta-ai/apis/agenta-api/changes/testcases/query/post.md)

---

[API](https://skmtc.dev/agenta-ai/apis/agenta-api.md) · [All operations](https://skmtc.dev/agenta-ai/apis/agenta-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agenta-ai/agenta-api/revisions/713e4f3b7519/schema)
