---
title: "Search Tasks"
method: GET
path: "/task-bank/organizations/{organization}/tasks/search"
---

# Search Tasks

`GET /task-bank/organizations/{organization}/tasks/search`

Return the keys of tasks whose input/rubric text matches the query ``q``.

## Path parameters

- `organization` string, required

## Query parameters

- `q` string, required

## Response `200`

Successful Response

- TaskBankSearchResponse — Keys of the tasks whose ``input.json`` + ``rubric.yaml`` text matches a query. The server fans out the per-task reads and matches them (every whitespace-delimited query token must appear as a substring), so the client makes one request instead of reading each task itself. ``searched`` is how many tasks were considered; ``truncated`` propagates a capped listing so the client can flag that the search covered only part of the bank.
  - `organization` string, required
  - `query` string, required
  - `matched_task_keys` string[], required
  - `searched` integer, required
  - `truncated` boolean, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/traversal/apis/fastapi.md) · [All operations](https://skmtc.net/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/traversal/fastapi/revisions/2134ebffd1ef/schema)
