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_fieldsResponse 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 ID | Name |
|---|---|
| 1 | String |
| 2 | Integer |
| 3 | Text |
| 4 | URL |
| 5 | Checkbox |
| 6 | Dropdown |
| 7 | User |
| 8 | Date |
| 9 | Milestone |
| 11 | Step Results |
| 12 | Multi-select |
| 13 | Scenarios |
| 14 | Scenario Results |
| 15 | AI Automation |
| 16 | Rating |
Response codes
| Status Code | Description |
|---|---|
| 200 | Success (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_inputcustom_ai_outputcustom_ai_latencycustom_ai_traces
quality_rating extends traditional pass/fail results by enabling multi-dimensional scoring of outcomes, supporting AI evaluation, performance analysis, and security validation.