API

/web_api/test_run/search

/web_api/test_run/search ​

This page is built from the JSON Schema snapshot in the documentation repository. The snapshot is updated by a separate command from the main app catalog and is not rewritten when the site is built.

Request ​

main-app://schemas/api_elements/test_run/search.request.json

REQUEST /web_api/test_run/search

NameTypeRequiredConstraint
filtersarray of objectNo-
optionsobjectNono other fields
responseanyNo-

Other top-level fields are not allowed.

filters[] ​

NameTypeRequiredConstraint
objectobjectYesno other fields
operatorenumYes"LIKE", "NOT_LIKE", "EQUAL", "NOT_EQUAL", "GT", "GTE", "LT", "LTE", "IN", "NOT_IN", "IS_NULL", "IS_NOT_NULL"
valueanyNo-

filters[].object ​

NameTypeRequiredConstraint
elementstringYes-
attributestringYes-

options ​

NameTypeRequiredConstraint
limitintegerNominimum 1
orderobjectNono other fields
addarray of enumNo-

options.order ​

NameTypeRequiredConstraint
attributeenumYes"test_run_id", "test_run_name", "project_id", "team_id", "test_run_description", "assigned_to", "test_run_status", "created_at", "updated_at", "completed_at"
directionenumNo"ASC", "DESC"

Response ​

main-app://schemas/api_elements/test_run/search.response.json

RESPONSE /web_api/test_run/search

NameTypeRequiredConstraint
api_codeintegerYesconst 200
api_resultarray of object | booleanYes-
emptybooleanNo-

Other top-level fields are not allowed.

Source schema ​

The files below are copied from the snapshot unchanged. A $ref fragment is a separate block. The schemas are not merged.

Request: main-app://schemas/api_elements/test_run/search.request.json
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "main-app://schemas/api_elements/test_run/search.request.json",
  "title": "REQUEST /web_api/test_run/search",
  "$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
  "type": "object",
  "additionalProperties": false,
  "description": "Empty result is api_result false, not []. test_run_id GT the last test_run_id, with options.order on test_run_id ASC, is the next page. Repeat the other filters. There is no offset.",
  "properties": {
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "object",
          "operator"
        ],
        "additionalProperties": false,
        "properties": {
          "object": {
            "type": "object",
            "required": [
              "element",
              "attribute"
            ],
            "additionalProperties": false,
            "properties": {
              "element": {
                "type": "string"
              },
              "attribute": {
                "type": "string",
                "description": "Column of this element: test_run_id, test_run_name, project_id, team_id, test_run_description, assigned_to, test_run_status, created_at, updated_at, completed_at. A custom property filter uses object.element custom and object.attribute equal to the property key."
              }
            }
          },
          "operator": {
            "type": "string",
            "enum": [
              "LIKE",
              "NOT_LIKE",
              "EQUAL",
              "NOT_EQUAL",
              "GT",
              "GTE",
              "LT",
              "LTE",
              "IN",
              "NOT_IN",
              "IS_NULL",
              "IS_NOT_NULL"
            ]
          },
          "value": true
        }
      }
    },
    "options": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1
        },
        "order": {
          "type": "object",
          "required": [
            "attribute"
          ],
          "additionalProperties": false,
          "properties": {
            "attribute": {
              "type": "string",
              "enum": [
                "test_run_id",
                "test_run_name",
                "project_id",
                "team_id",
                "test_run_description",
                "assigned_to",
                "test_run_status",
                "created_at",
                "updated_at",
                "completed_at"
              ]
            },
            "direction": {
              "type": "string",
              "enum": [
                "ASC",
                "DESC"
              ]
            }
          }
        },
        "add": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "custom_properties",
              "pass_stats",
              "projects",
              "tags"
            ]
          }
        }
      }
    },
    "response": true
  }
}
Response: main-app://schemas/api_elements/test_run/search.response.json
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "main-app://schemas/api_elements/test_run/search.response.json",
  "title": "RESPONSE /web_api/test_run/search",
  "$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
  "allOf": [
    {
      "$ref": "main-app://schemas/_shared/envelope-success.json"
    },
    {
      "type": "object",
      "properties": {
        "api_result": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "$ref": "main-app://schemas/api_elements/test_run/row.json"
              }
            },
            {
              "const": false
            }
          ]
        }
      }
    }
  ]
}
Fragment: main-app://schemas/_shared/envelope-success.json
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "main-app://schemas/_shared/envelope-success.json",
  "title": "Canonical success envelope",
  "type": "object",
  "required": ["api_code", "api_result"],
  "properties": {
    "api_code": { "const": 200 },
    "api_result": true,
    "empty": { "type": "boolean" }
  },
  "additionalProperties": false
}
Fragment: main-app://schemas/api_elements/test_run/row.json
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "main-app://schemas/api_elements/test_run/row.json",
  "title": "Row test_run",
  "$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "test_run_id": {
      "type": "integer",
      "minimum": 0
    },
    "test_run_name": {
      "type": "string",
      "maxLength": 500
    },
    "project_id": {
      "type": "integer",
      "minimum": 0
    },
    "team_id": {
      "type": "integer",
      "minimum": 0
    },
    "test_run_description": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2500,
      "description": "HTML subset b, i, p, a, strong, ul, ol, li"
    },
    "assigned_to": {
      "type": [
        "integer",
        "null"
      ]
    },
    "test_run_status": {
      "type": "string",
      "enum": [
        "PENDING",
        "IN_PROGRESS",
        "COMPLETED",
        "CLOSED"
      ]
    },
    "created_at": {
      "type": "string",
      "description": "timestamp Y-m-d H:i:s"
    },
    "updated_at": {
      "type": "string",
      "description": "timestamp Y-m-d H:i:s"
    },
    "completed_at": {
      "type": "string",
      "description": "timestamp Y-m-d H:i:s"
    }
  }
}

Version 1.0.0 · Last updated 2026-10-07

Did this page help?