---
title: "GET /api/v1/projects/{project_id}/search"
method: GET
path: "/api/v1/projects/{project_id}/search"
---

# GET /api/v1/projects/{project_id}/search

`GET /api/v1/projects/{project_id}/search`

## Path parameters

- `project_id` integer, required

## Query parameters

- `status` 'open' | 'closed' — Issue status; omit to search open and closed issues
- `q` string, required
- `limit` integer
- `include_deleted` boolean
- `mode` 'auto' | 'lexical' | 'hybrid' | 'semantic'
- `label` string[]
- `exclude_label` string[]

## Response `200`

OK

- SearchResponseBody
  - `degraded` boolean
  - `degraded_reason` string
  - `mode` string, required
  - `query` string, required
  - `results` SearchHit[], required
    - `issue` Issue, required
      - `assignment_expires_on` string, date-time
      - `author` string, required
      - `body` string, required
      - `closed_at` string, date-time
      - `closed_reason` string
      - `created_at` string, date-time, required
      - `deleted_at` string, date-time
      - `id` integer, required
      - `metadata` object, required
      - `occurrence_key` string
      - `owner` string
      - `priority` integer
      - `project_id` integer, required
      - `project_uid` string
      - `recurrence_id` integer
      - `revision` integer, required
      - `short_id` string, required
      - `status` string, required
      - `title` string, required
      - `uid` string, required
      - `updated_at` string, date-time, required
    - `matched_in` string[], required
    - `score` number, double, required
    - `web_url` string — Browser URL for this issue in the owning daemon.

## Other responses

- `default` — Error

## Changes

- **2026-09-19** `62eb7bbfff42` — 1 info
  - added the optional property `results/items/issue/assignment_expires_on` to the response with the `200` status
- **2026-09-17** `81a53441d1b5` — 1 info
  - added the new optional `query` request parameter `status`
- **2026-09-15** `94934a712d64` — 1 info
  - added the optional property `results/items/web_url` to the response with the `200` status
- **2026-08-07** `d8237a47d2fc` — 2 info
  - added the new optional `query` request parameter `exclude_label`
  - added the new optional `query` request parameter `label`
- **2026-06-29** `4e9583bdae5d` — 4 info
  - added the new optional `query` request parameter `mode`
  - added the optional property `degraded` to the response with the `200` status
  - added the optional property `degraded_reason` to the response with the `200` status
  - added the required property `mode` to the response with the `200` status

[Full history](https://skmtc.dev/kenn-io/apis/kata/changes/api/v1/projects/:project_id/search/get.md)

---

[API](https://skmtc.dev/kenn-io/apis/kata.md) · [All operations](https://skmtc.dev/kenn-io/apis/kata/llms.txt) · [OpenAPI document](https://skmtc.dev/kenn-io/apis/kata/revisions/eec9b2fb4675?raw)
