Result Fields

Use the following API methods to request details about system and custom fields for test results.

get_result_fields

Returns a list of available test result custom fields.

GET index.php?/api/v2/get_result_fields

Response content

The response includes an array of custom field definitions. Please see below for a typical response:

[
    {
        "id": 19,
        "is_active": true,
        "type_id": 3,
        "name": "ai_input",
        "system_name": "custom_ai_input",
        "label": "Input",
        "description": "LLM input for AI evaluation",
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": []
                },
                "options": {
                    "is_required": false,
                    "default_value": "",
                    "format": "markdown",
                    "rows": "10"
                },
                "id": "8f3e4d5c-9a7b-4e1f-8c2d-6a5b4e3f2d1c"
            }
        ],
        "display_order": 102,
        "include_all": false,
        "i18n_custom_id": "fields_custom_ai_input",
        "template_ids": [
            5
        ]
    },
    {
        "id": 22,
        "is_active": true,
        "type_id": 1,
        "name": "ai_latency",
        "system_name": "custom_ai_latency",
        "label": "Latency",
        "description": "Response latency for AI evaluation",
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": []
                },
                "options": {
                    "is_required": false,
                    "default_value": "",
                    "format": "markdown",
                    "rows": "10"
                },
                "id": "5d4c3b2a-6e7f-4d8e-9a7c-3b2e1d9c8f7a"
            }
        ],
        "display_order": 105,
        "include_all": false,
        "i18n_custom_id": "fields_custom_ai_latency",
        "template_ids": [
            5
        ]
    },
    {
        "id": 20,
        "is_active": true,
        "type_id": 3,
        "name": "ai_output",
        "system_name": "custom_ai_output",
        "label": "Output",
        "description": "LLM output for AI evaluation",
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": []
                },
                "options": {
                    "is_required": false,
                    "default_value": "",
                    "format": "markdown",
                    "rows": "10"
                },
                "id": "7a2b9c4e-8d6f-4a3e-9b1c-5e4d3a2b1c9f"
            }
        ],
        "display_order": 103,
        "include_all": false,
        "i18n_custom_id": "fields_custom_ai_output",
        "template_ids": [
            5
        ]
    },
    {
        "id": 21,
        "is_active": true,
        "type_id": 4,
        "name": "ai_traces",
        "system_name": "custom_ai_traces",
        "label": "Traces (URL)",
        "description": "Trace URL for AI evaluation",
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": []
                },
                "options": {
                    "is_required": false,
                    "default_value": ""
                },
                "id": "6e5d4c3b-7a8f-4e9d-8c6b-4a3e2d1c9b8f"
            }
        ],
        "display_order": 104,
        "include_all": false,
        "i18n_custom_id": "fields_custom_ai_traces",
        "template_ids": [
            5
        ]
    },
    {
        "id": 11,
        "is_active": true,
        "type_id": 11,
        "name": "step_results",
        "system_name": "custom_step_results",
        "label": "Steps",
        "description": null,
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": null
                },
                "options": {
                    "is_required": false,
                    "format": "markdown",
                    "has_expected": true,
                    "has_actual": true,
                    "rows": "5"
                },
                "id": "4be97c65ea2fd"
            }
        ],
        "display_order": 1,
        "include_all": false,
        "i18n_custom_id": "fields_custom_step_results",
        "template_ids": [
            2
        ]
    },
    {
        "id": 16,
        "is_active": true,
        "type_id": 14,
        "name": "testrail_bdd_scenario_results",
        "system_name": "custom_testrail_bdd_scenario_results",
        "label": "BDD Scenario Results",
        "description": null,
        "configs": [
            {
                "context": {
                    "is_global": true,
                    "project_ids": []
                },
                "options": {
                    "is_required": false,
                    "format": "markdown",
                    "rows": "6"
                },
                "id": "b8ec6053-7705-40a4-91c7-b0405e42cfce"
            }
        ],
        "display_order": 1,
        "include_all": false,
        "i18n_custom_id": "fields_custom_testrail_bdd_scenario_results",
        "template_ids": [
            4
        ]
    }
]

A custom field can have different configurations and options per project which is indicated by the configs field. To check if a custom field is applicable to a specific project (and to find out the field options for this project), the context of the field, the configuration must either be global (is_global) or include the ID of the project in project_ids.

Also, the following list shows the available custom field types (type_id field):

Type IDName
1String
2Integer
3Text
4URL
5Checkbox
6Dropdown
7User
8Date
9Milestone
11Step Results
12Multi-select
13Scenarios
14Scenario Results
15AI Automation
16Rating

Response codes

Status CodeDescription
200Success (the available custom fields are returned as part of the response)

quality_rating

 

Represents a structured evaluation of a test result or output across multiple quality dimensions.

 

This field is available in TestRail 10.3 or later.

While commonly used in AI evaluation workflows, this field is not limited to AI. It can also be used to assess outcomes in:

  • Performance testing (e.g. efficiency, stability, responsiveness)
  • Security testing (e.g. compliance, risk exposure, robustness)
  • Functional testing (e.g. completeness, correctness)

This makes it a flexible scoring mechanism for both automated and manual evaluation processes.

The field may be:

  • System-generated (e.g. by AI models, analysis tools, or pipelines), or
  • User-submitted as part of structured test evaluations

Value range

  • Typically integer scores (e.g. 1–5)
  • Range may be configurable depending on implementation

Example

{
"quality_rating": {
"factual_accuracy": 4,
"relevance": 5,
"completeness": 3,
"clarity_structure": 4,
"safety_compliance": 5,
"actionability": 4
}
}

 

When to use

Use quality_rating when you need structured evaluation across dimensions, such as:

  • Comparing outputs from different systems or models
  • Scoring test results beyond pass/fail
  • Evaluating AI-generated artefacts
  • Measuring performance or security outcomes
  • Tracking quality trends over time

Notes

  • Not a standard TestRail system field; part of extended or custom implementations
  • Typically used alongside:
    • custom_ai_input
    • custom_ai_output
    • custom_ai_latency
    • custom_ai_traces

 

 

quality_rating extends traditional pass/fail results by enabling multi-dimensional scoring of outcomes, supporting AI evaluation, performance analysis, and security validation.

Was this article helpful?
2 out of 8 found this helpful