---
title: "Search entities by Qase Query Language (QQL)"
method: GET
path: "/search"
tags: ["search"]
---

# Search entities by Qase Query Language (QQL)

`GET /search`

This method allows to retrieve data sets for various
entities using expressions with conditions.

## Query parameters

- `limit` integer
- `offset` integer
- `query` string, required

## Response `200`

A list of found entities.

- SearchResponse
  - `status` boolean
  - `result` object
    - `entities` union[], required
      - union
        - object
          - `id` integer
          - `run_id` integer, required
          - `title` string
          - `description` string, nullable
          - `status` integer
          - `status_text` string
          - `start_time` string, date-time, nullable
          - `end_time` string, date-time, nullable
          - `public` boolean
          - `stats` object
            - `total` integer
            - `statuses` object
            - `untested` integer
            - `passed` integer
            - `failed` integer
            - `blocked` integer
            - `skipped` integer
            - `retest` integer
            - `in_progress` integer
            - `invalid` integer
          - `time_spent` integer — Time in ms.
          - `elapsed_time` integer — Time in ms.
          - `environment` object, nullable
            - `title` string
            - `description` string
            - `slug` string
            - `host` string
          - `milestone` object, nullable
            - `title` string
            - `description` string
          - `custom_fields` CustomFieldValue[]
            - `id` integer
            - `value` string
          - `tags` TagValue[]
            - `title` string
            - `internal_id` integer
          - `cases` integer[]
          - `plan_id` integer, nullable
        - object
          - `hash` string
          - `result_hash` string, required
          - `comment` string, nullable
          - `stacktrace` string, nullable
          - `run_id` integer
          - `case_id` integer
          - `steps` TestStepResult[], nullable
            - `status` integer — 1 - passed, 2 - failed, 3 - blocked, 5 - skipped, 7 - in_progress
            - `position` integer
            - `comment` string — Comment left for the step.
            - `start_time` integer, nullable — Unix timestamp of the step start time.
            - `end_time` integer, nullable — Unix timestamp of the step end time.
            - `duration_ms` integer, nullable — Step duration in milliseconds.
            - `attachments` Attachment[]
              - …
            - `steps` TestStepResult[] — Nested steps results will be here. The same structure is used for them.
          - `status` string
          - `is_api_result` boolean
          - `time_spent_ms` integer
          - `end_time` string, date-time, nullable
          - `attachments` Attachment[]
            - `size` integer
            - `mime` string
            - `filename` string
            - `url` string, uri
        - object
          - `id` integer
          - `requirement_id` integer, required
          - `parent_id` integer, nullable
          - `member_id` integer
          - `title` string
          - `description` string, nullable
          - `status` 'valid' | 'draft' | 'review' | 'rework' | 'finish' | 'implemented' | 'not-testable' | 'obsolete'
          - `type` 'epic' | 'user-story' | 'feature'
          - `created_at` string, date-time
          - `updated_at` string, date-time, nullable
        - QqlTestCase
          - `id` integer
          - `test_case_id` integer, required
          - `position` integer
          - `title` string
          - `description` string, nullable
          - `preconditions` string, nullable
          - `postconditions` string, nullable
          - `severity` integer
          - `priority` integer
          - `type` integer
          - `layer` integer
          - `is_flaky` integer
          - `behavior` integer
          - `automation` integer
          - `status` integer
          - `milestone_id` integer, nullable
          - `suite_id` integer, nullable
          - `custom_fields` CustomFieldValue[]
            - `id` integer
            - `value` string
          - `attachments` Attachment[]
            - `size` integer
            - `mime` string
            - `filename` string
            - `url` string, uri
          - `steps_type` 'classic' | 'gherkin', nullable
          - `steps` TestStep[]
            - `hash` string
            - `shared_step_hash` string, nullable
            - `shared_step_nested_hash` string, nullable
            - `position` integer
            - `action` string
            - `expected_result` string, nullable
            - `data` string, nullable
            - `attachments` Attachment[]
              - …
            - `steps` object[] — Nested steps will be here. The same structure is used for them.
              - …
          - `params` union
            - unknown[]
              - …
            - object
          - `tags` TagValue[]
            - `title` string
            - `internal_id` integer
          - `member_id` integer — Deprecated, use `author_id` instead.
          - `author_id` integer
          - `created_at` string, date-time
          - `updated_at` string, date-time
          - `updated_by` integer — Author ID of the last update.
        - QqlDefect
          - `id` integer
          - `defect_id` integer, required
          - `title` string
          - `actual_result` string
          - `severity` string
          - `status` string
          - `milestone_id` integer, nullable
          - `custom_fields` CustomFieldValue[]
            - `id` integer
            - `value` string
          - `attachments` Attachment[]
            - `size` integer
            - `mime` string
            - `filename` string
            - `url` string, uri
          - `resolved` string, date-time, nullable
          - `member_id` integer — Deprecated, use `author_id` instead.
          - `author_id` integer
          - `external_data` string
          - `tags` TagValue[]
            - `title` string
            - `internal_id` integer
          - `created_at` string, date-time
          - `updated_at` string, date-time
        - QqlPlan
          - `id` integer
          - `plan_id` integer, required
          - `title` string
          - `description` string, nullable
          - `cases_count` integer
          - `created_at` string, date-time
          - `updated_at` string, date-time
    - `total` integer, required

## Other responses

- `400` — Bad Request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `429` — Too Many Requests.

---

[API](https://skmtc.dev/qase/apis/qase-io-testops-api-v1.md) · [All operations](https://skmtc.dev/qase/apis/qase-io-testops-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qase/qase-io-testops-api-v1/revisions/12ddc644fac5/schema)
