TestRail API Shim
Projects
Retrieves all projects related to the organization. This endpoint returns a paginated list of projects with details such as project ID, name, completion status, announcement, users, and groups.
The number of projects to retrieve per page.
250
The offset for pagination.
0
Filter projects by completion status. 1 to return completed projects only, 0 for active projects only.
null
A list of projects for the specified organization with pagination.
Invalid input, missing parameters, or incorrect format.
No projects found for the specified filters or pagination criteria.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 0,
"limit": 250,
"size": 1,
"_links": {
"next": null,
"prev": null
},
"results": [
{
"id": 1,
"completed_on": null,
"default_role_id": null,
"default_role": null,
"is_completed": false,
"name": "name",
"show_announcement": false,
"suite_mode": 1,
"url": "url",
"users": [
"userUid"
],
"groups": []
}
]
}
Retrieves the details of a specific project based on its unique identifier.
The unique identifier of the project projectUid in TF.
The details of the specified project.
Invalid input, missing parameters, or incorrect format.
No project found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"id": 1,
"name": "text",
"announcement": "text",
"show_announcement": true,
"suite_mode": 1,
"url": "text",
"users": [],
"groups": []
}
Creates a new project with the provided details. This endpoint accepts a JSON object containing the necessary fields to create a project, such as the project name and an optional announcement.
The name of the project.
Project Alpha
The description or announcement of the project.
This is a special announcement for Project Alpha.
The project was successfully created.
Invalid input, missing parameters, or incorrect format.
No project found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 91
{
"name": "Project Alpha",
"announcement": "This is a special announcement for Project Alpha."
}
{
"id": 1,
"name": "text",
"announcement": "text",
"show_announcement": true,
"suite_mode": 1,
"url": "text",
"users": [],
"groups": []
}
Updates an existing project with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a project, such as the project name and an optional announcement.
The unique identifier of the project projectUid in TF.
The name of the project.
The description or announcement of the project.
The project was successfully updated.
Invalid input, missing parameters, or incorrect format.
No project found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"name": "text",
"announcement": "text"
}
{
"id": 1,
"name": "text",
"announcement": "text",
"show_announcement": true,
"suite_mode": 1,
"url": "text",
"users": [],
"groups": []
}
Deletes a project with the provided details. This endpoint accepts a JSON object containing the necessary fields to delete a project, such as the project name and an optional announcement.
The unique identifier of the project projectUid in TF.
The project was successfully deleted.
The project was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No project found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Test Suites & Sections (TestFiesta Folders)
Retrieves the details of a specific suite based on its unique identifier.
The unique identifier of the suite folderUid in TF.
The details of the specified suite.
Invalid input, missing parameters, or incorrect format.
No suite found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"completed_on": 1,
"description": "text",
"id": 1,
"is_baseline": true,
"is_completed": true,
"is_master": true,
"name": "text",
"project_id": 1,
"url": "text"
}
Retrieves the list of suites for a specific project based on its unique identifier with pagination.
The unique identifier of the project projectUid in TF.
The list of suites for the specified project.
Invalid input, missing parameters, or incorrect format.
No suites found for the specified project.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 1,
"limit": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"suites": [
{
"completed_on": 1,
"description": "text",
"id": 1,
"is_baseline": true,
"is_completed": true,
"is_master": true,
"name": "text",
"project_id": 1,
"url": "text"
}
]
}
Creates a new suite with the provided details. This endpoint accepts a JSON object containing the necessary fields to create a suite, such as the suite name and an optional description.
The unique identifier of the project projectUid in TF.
This operation is not permitted because this project only supports a single test suite.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
This operation is not permitted because this project only supports a single test suite.
No content
Updates an existing suite with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a suite, such as the suite name and an optional description.
The unique identifier of the suite folderUid in TF.
The name of the suite.
The description of the suite.
The suite was successfully updated.
Invalid input, missing parameters, or incorrect format.
No suite found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 36
{
"name": "text",
"description": "text"
}
{
"completed_on": 1,
"description": "text",
"id": 1,
"is_baseline": true,
"is_completed": true,
"is_master": true,
"name": "text",
"project_id": 1,
"url": "text"
}
Deletes a suite with the provided details. This endpoint accepts a JSON object containing the necessary fields to delete a suite, such as the suite name and an optional description.
The unique identifier of the suite folderUid in TF.
This operation is not permitted because this project only supports a single test suite.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
This operation is not permitted because this project only supports a single test suite.
No content
Retrieves the details of a specific section based on its unique identifier.
The unique identifier of the section sectionUid in TF.
The details of the specified section.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"depth": 1,
"description": "text",
"display_order": 1,
"id": 1,
"name": "text",
"parent_id": 1,
"suite_id": 1
}
Retrieves the list of sections for a specific project based on its unique identifier.
The unique identifier of the project projectUid in TF.
The list of sections for the specified project.
Invalid input, missing parameters, or incorrect format.
No sections found for the specified project.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 1,
"limit": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"sections": [
{
"depth": 1,
"description": "text",
"display_order": 1,
"id": 1,
"name": "text",
"parent_id": 1,
"suite_id": 1
}
]
}
Creates a new section with the provided details. This endpoint accepts a JSON object containing the necessary fields to create a section, such as the section name and an optional description.
The unique identifier of the project projectUid in TF.
The name of the section.
The description of the section.
The ID of the parent section in the test suite. If not provided, the section will be created under the root folder.
The section was successfully created.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 50
{
"name": "text",
"description": "text",
"parent_id": 1
}
{
"depth": 1,
"description": "text",
"display_order": 1,
"id": 1,
"name": "text",
"parent_id": 1,
"suite_id": 1
}
Moves a section to a new parent section. This endpoint accepts a JSON object containing the necessary fields to move a section, such as the new parent section ID.
The unique identifier of the sub folder folderUid in TF.
The ID of the parent section (it can be null if it should be moved to the root). Must be in the same project and suite. May not be a direct child of the section being moved.
The section was successfully moved.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"parent_id": 1
}
{
"depth": 1,
"description": "text",
"display_order": 1,
"id": 1,
"name": "text",
"parent_id": 1,
"suite_id": 1
}
Updates an existing section with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a section, such as the section name and an optional description.
The unique identifier of the sub folder folderUid in TF.
The name of the section.
The description of the section.
The section was successfully updated.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 36
{
"name": "text",
"description": "text"
}
{
"depth": 1,
"description": "text",
"display_order": 1,
"id": 1,
"name": "text",
"parent_id": 1,
"suite_id": 1
}
Deletes a section with the provided details. This endpoint accepts a JSON object containing the necessary fields to delete a section, such as the section name and an optional description.
The unique identifier of the sub folder folderUid in TF.
The section was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Test Cases
Retrieves the details of a specific case based on its unique identifier.
The unique identifier of the case caseUid in TF.
The details of the specified case. In addition to the properties below, the response will also include the custom fields of the case which can be accessed by forming name as custom_case_<field_name>.
Invalid input, missing parameters, or incorrect format.
No case found for the specified ID.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"created_by": "text",
"created_on": 1,
"id": 1,
"priority_id": 1,
"section_id": 1,
"suite_id": 1,
"is_deleted": 1,
"type_id": 1,
"template_id": 1,
"title": "text",
"labels": [],
"updated_by": "text",
"updated_on": 1
}
Retrieves the list of cases for a specific project based on its unique identifier.
The unique identifier of the project projectUid in TF.
Only return test cases created after this date (as UNIX timestamp)
Only return test cases created before this date (as UNIX timestamp)
A comma-separated list of creators (user UIDs) to filter by
Only return cases with matching filter string in the case title
The number of test cases the response should return
Where to start counting the tests cases from (the offset)
A comma-separated list of priority UIDs to filter by
The ID of a test case section
A comma-separated list of template UIDs to filter by
A comma-separated list of testCase tags to filter by
Only return test cases updated after this date (as UNIX timestamp)
Only return test cases updated before this date (as UNIX timestamp)
The list of cases for the specified project.
Invalid input, missing parameters, or incorrect format.
No case found for the specified ID.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 1,
"limit": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"cases": [
{
"created_by": "text",
"created_on": 1,
"id": 1,
"priority_id": 1,
"section_id": 1,
"suite_id": 1,
"template_id": 1,
"type_id": 1,
"is_deleted": 1,
"title": "text",
"labels": [],
"updated_by": "text",
"updated_on": 1
}
]
}
TestFiesta does not support this endpoint.
This operation is not permitted because TestFiesta does not support this endpoint.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
This operation is not permitted because TestFiesta does not support this endpoint.
No content
Creates a new case with the provided details. This endpoint accepts a JSON object containing the necessary fields to create a case, such as the case name and an optional description. In
The unique identifier of the section sectionUid in TF.
The title / name of the test case
The ID of the template (field layout) if not provided, the default template will be used.
The ID of the testCase tag that is required to be linked to the test case
The ID of the priority that is linked to the test case
The labels/tags of the test case can contain both tag UIDs and tag names.
The case was successfully created.
Invalid input, missing parameters, or incorrect format.
No case found for the specified ID.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 72
{
"title": "text",
"template_id": 1,
"type_id": 1,
"priority_id": 1,
"labels": []
}
{
"created_by": "text",
"created_on": 1,
"id": 1,
"priority_id": 1,
"section_id": 1,
"suite_id": 1,
"template_id": 1,
"type_id": 1,
"is_deleted": 1,
"title": "text",
"labels": [],
"updated_by": "text",
"updated_on": 1
}
Copies cases to a section. This endpoint accepts a JSON object containing the necessary fields to copy cases to a section, such as the section ID and the cases to copy.
The unique identifier of the section sectionUid in TF.
A comma-separated list of case IDs to copy.
The cases were successfully copied.
The cases were successfully copied.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"case_ids": []
}
No content
Updates an existing case with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a case, such as the case name and an optional description.
The unique identifier of the case caseUid in TF.
The ID of the section the test case should be moved to
The title / name of the test case
The ID of the template (field layout),
The ID of the testCase tag. Previous tags will be preserve and new tags will be added.
The labels/tags of the test case can contain both tag UIDs and tag names.
The ID of the priority that is linked to the test case
The case was successfully updated. In addition to the properties below, the response will also include the custom fields of the case which can be accessed by forming name as custom_case_<field_name>.
Invalid input, missing parameters, or incorrect format.
No case found for the specified ID.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 87
{
"section_id": 1,
"title": "text",
"template_id": 1,
"type_id": 1,
"labels": [],
"priority_id": 1
}
{
"created_by": "text",
"created_on": 1,
"id": 1,
"priority_id": 1,
"section_id": 1,
"suite_id": 1,
"template_id": 1,
"type_id": 1,
"is_deleted": 1,
"title": "text",
"labels": [],
"updated_by": "text",
"updated_on": 1
}
Updates multiple cases with the provided details. This endpoint accepts a JSON object containing the necessary fields to update multiple cases, such as the case name and an optional description.
The unique identifier of the suite suiteUid in TF.
A comma-separated list of case IDs that should be updated.
The ID of the section the test case should be moved to.
The title / name of the test case.
The ID of the template (field layout),
The ID of the testCase tag. Previous tags will be preserve and new tags will be added.
The labels/tags of the test case can contain both tag UIDs and tag names.
The ID of the priority that is linked to the test case
The cases were successfully updated. In addition to the properties below, the response will also include the custom fields of the case which can be accessed by forming name as custom_case_<field_name>.
Invalid input, missing parameters, or incorrect format.
No cases found for the specified IDs.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 101
{
"case_ids": [],
"section_id": 1,
"title": "text",
"template_id": 1,
"type_id": 1,
"labels": [],
"priority_id": 1
}
[
{
"created_by": "text",
"created_on": 1,
"id": 1,
"priority_id": 1,
"section_id": 1,
"suite_id": 1,
"template_id": 1,
"type_id": 1,
"is_deleted": 1,
"title": "text",
"labels": [],
"updated_by": "text",
"updated_on": 1
}
]
Moves cases to a section. This endpoint accepts a JSON object containing the necessary fields to move cases to a section, such as the section ID and the cases to move.
The unique identifier of the folder folderUid in TF in which the cases should be moved.
A comma-separated list of case IDs to move.
The cases were successfully moved.
The cases were successfully moved.
Invalid input, missing parameters, or incorrect format.
No section found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"case_ids": []
}
No content
Deletes a case. This endpoint accepts a JSON object containing the necessary fields to delete a case, such as the case ID.
The unique identifier of the case caseUid in TF.
soft=1 will return information about the data which will be deleted but will not proceed with the deletion
The cases were successfully deleted.
The cases were successfully deleted.
Invalid input, missing parameters, or incorrect format.
No case found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 10
{
"soft": 1
}
No content
Deletes multiple cases with the provided details. This endpoint accepts a JSON object containing the necessary fields to delete multiple cases, such as the case IDs.
The unique identifier of the suite suiteUid in TF.
A comma-separated list of case IDs to delete.
soft=1 will return information about the data which will be deleted but will not proceed with the deletion
The cases were successfully deleted.
The cases were successfully deleted.
Invalid input, missing parameters, or incorrect format.
No cases found for the specified IDs.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"case_ids": [],
"soft": 1
}
No content
Test Runs
Retrieves a run with the provided details. This endpoint accepts a JSON object containing the necessary fields to retrieve a run, such as the run ID.
The unique identifier of the run runUid in TF.
The run was successfully retrieved. In addition to the properties below, the response will also include the count of statuses in the run which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"assignedto_id": 1,
"completed_on": 1,
"config": "text",
"config_ids": [],
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"include_all": true,
"is_completed": true,
"milestone_id": 1,
"plan_id": 1,
"name": "text",
"project_id": 1,
"suite_id": 1,
"updated_on": 1,
"url": "text",
"refs": "text",
"due_on": 1,
"start_on": 1
}
Retrieves all runs for a project. This endpoint accepts a JSON object containing the necessary fields to retrieve all runs for a project, such as the project ID.
The unique identifier of the project projectUid in TF.
Only return test runs created after this date (as UNIX timestamp)
Only return test runs created before this date (as UNIX timestamp)
A comma-separated list of creators (user IDs) to filter by
1 to return completed / archived test runs only. 0 to return active test runs only
Limit the result to limit test runs. Use offset to skip records
Use offset to skip records
A comma-separated list of milestone IDs to filter by
The runs were successfully retrieved. In addition to the properties below, the response will also include the count of statuses in the run which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 1,
"limit": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"runs": [
{
"assignedto_id": 1,
"completed_on": 1,
"config": "text",
"config_ids": [],
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"include_all": true,
"is_completed": true,
"milestone_id": 1,
"plan_id": 1,
"name": "text",
"project_id": 1,
"suite_id": 1,
"updated_on": 1,
"url": "text",
"refs": "text",
"due_on": 1,
"start_on": 1
}
]
}
Creates a new run with the provided details. This endpoint accepts a JSON object containing the necessary fields to create a run, such as the project ID.
The unique identifier of the project projectUid in TF.
The name of the test run
The description of the test run
True if the test run includes all test cases and false otherwise true by default
A comma-separated list of case IDs to add to the test run. Required if include_all is false.
The ID of the milestone to link to the test run
The date/time when the test run is due (as UNIX timestamp)
The ID of the user to assign each execution that is added to the test run
The run was successfully created. In addition to the properties below, the response will also include the count of statuses in the run which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 120
{
"name": "text",
"description": "text",
"include_all": true,
"case_ids": [],
"milestone_id": 1,
"due_on": 1,
"assignedto_id": "text"
}
{
"assignedto_id": 1,
"completed_on": 1,
"config": "text",
"config_ids": [],
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"include_all": true,
"is_completed": true,
"milestone_id": 1,
"plan_id": 1,
"name": "text",
"project_id": 1,
"suite_id": 1,
"updated_on": 1,
"url": "text",
"refs": "text",
"due_on": 1,
"start_on": 1
}
Updates an existing run with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a run, such as the run ID.
The unique identifier of the run runUid in TF.
The name of the test run
The description of the test run
True if the test run includes all test cases and false otherwise true by default
A comma-separated list of case IDs to add to the test run. Required if include_all is false.
This will add the milestone to the test run and will not remove any existing milestones.
The date/time when the test run is due (as UNIX timestamp)
The run was successfully created. In addition to the properties below, the response will also include the count of statuses in the run which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 97
{
"name": "text",
"description": "text",
"include_all": true,
"case_ids": [],
"milestone_id": 1,
"due_on": 1
}
{
"assignedto_id": 1,
"completed_on": 1,
"config": "text",
"config_ids": [],
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"include_all": true,
"is_completed": true,
"milestone_id": 1,
"plan_id": 1,
"name": "text",
"project_id": 1,
"suite_id": 1,
"updated_on": 1,
"url": "text",
"refs": "text",
"due_on": 1,
"start_on": 1
}
Closes an existing run with the provided details. This endpoint accepts a JSON object containing the necessary fields to close a run, such as the run ID.
The unique identifier of the run runUid in TF.
The run was successfully closed. In addition to the properties below, the response will also include the count of statuses in the run which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"assignedto_id": 1,
"completed_on": 1,
"config": "text",
"config_ids": [],
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"include_all": true,
"is_completed": true,
"milestone_id": 1,
"plan_id": 1,
"name": "text",
"project_id": 1,
"suite_id": 1,
"updated_on": 1,
"url": "text",
"refs": "text"
}
Deletes an existing run with the provided details. This endpoint accepts a JSON object containing the necessary fields to delete a run, such as the run ID.
The unique identifier of the run runUid in TF.
If soft=1, this will return data on the number of affected tests. Including soft=1 will not actually delete the entity.
The run was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 10
{
"soft": 1
}
No content
Test Plans
Retrieves a plan with the provided details. This endpoint accepts a JSON object containing the necessary fields to retrieve a plan, such as the plan ID.
The unique identifier of the plan planUid in TF.
The plan was successfully retrieved. In addition to the properties below, the response will also include the count of statuses in the plan which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No plan found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"assignedto_id": 1,
"completed_on": 1,
"created_by": "text",
"created_on": 1,
"description": "text",
"entries": [],
"id": 1,
"is_completed": true,
"milestone_id": 1,
"name": "text",
"project_id": 1,
"url": "text"
}
Retrieves all plans with the provided details. This endpoint accepts a JSON object containing the necessary fields to retrieve all plans, such as the project ID.
The unique identifier of the project projectUid in TF.
Only return test plans created after this date (as UNIX timestamp)
Only return test plans created before this date (as UNIX timestamp)
A comma-separated list of creators (user IDs) to filter by
1 to return completed test plans only. 0 to return active test plans only
Limit the result to limit test plans. Use offset to skip records
Use offset to skip records
A comma-separated list of milestone IDs to filter by
The plans were successfully retrieved. In addition to the properties below, the response will also include the count of statuses in the plan which can be accessed by forming name as custom_<status_name>_count.
Invalid input, missing parameters, or incorrect format.
No plans found for the specified project ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"offset": 1,
"limit": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"plans": [
{
"assignedto_id": 1,
"completed_on": 1,
"created_by": "text",
"created_on": 1,
"description": "text",
"id": 1,
"is_completed": true,
"milestone_id": 1,
"name": "text",
"project_id": 1,
"refs": "text",
"url": "text"
}
]
}
Adds a plan with the provided details. This endpoint accepts a JSON object containing the necessary fields to add a plan, such as the project ID.
The unique identifier of the project projectUid in TF.
The name of the test plan
The description of the test plan
The ID of the milestone to link to the test plan
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 208
{
"name": "text",
"description": "text",
"milestone_id": 1,
"entries": [
{
"include_all": true,
"config_ids": [],
"assignedto_id": "text",
"runs": [
{
"include_all": true,
"case_ids": [],
"config_ids": [],
"assignedto_id": "text"
}
]
}
]
}
Updates a plan with the provided details. This endpoint accepts a JSON object containing the necessary fields to update a plan, such as the plan ID.
The unique identifier of the plan planUid in TF.
The name of the test plan
The description of the test plan
The ID of the milestone to link to the test plan
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"name": "text",
"description": "text",
"milestone_id": 1
}
Testfairy does not support plan entries. This endpoint will add runs to the plan and runs will be grouped into 2 entries. 1 entry of the runs with configs and 1 entry of the runs without configs. In addtion to it there is no support for additional enteries the endpoint will add runs accordingly.
The unique identifier of the plan planUid in TF.
The name of the test run(s)
The description of the test plan
An array of case IDs for the custom case selection (Required if include_all is false)
The ID of the user to assign each execution that is added to the test run
An array of configuration IDs used for the test run of the test plan entry
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 172
{
"name": "text",
"description": "text",
"case_ids": [],
"assignedto_id": "text",
"config_ids": [],
"runs": [
{
"include_all": true,
"case_ids": [],
"config_ids": [],
"assignedto_id": "text"
}
]
}
Adds a run to a plan entry.
The unique identifier of the plan planUid in TF.
The unique identifier of the plan entry entryUid in TF.
An array of configuration IDs used for the test run of the test plan entry
The description of the test run
True for including all test cases of the test suite and false for a custom case selection
The ID of the user to assign each execution that is added to the test run
An array of case IDs for the custom case selection
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 94
{
"config_ids": [],
"description": "text",
"include_all": true,
"assignedto_id": "text",
"case_ids": []
}
Updates a plan entry.
The unique identifier of the plan planUid in TF.
The unique identifier of the plan entry entryUid in TF.
The name of the test run(s)
The description of the test plan
An array of case IDs for the custom case selection
True for including all test cases of the test suite and false for a custom case selection
An array of configuration IDs used for the test run of the test plan entry
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 85
{
"name": "text",
"description": "text",
"case_ids": [],
"include_all": true,
"config_ids": []
}
Updates a run in a plan entry.
The unique identifier of the run runUid in TF.
An array of case IDs for the custom case selection
The description of the test run
True for including all test cases of the test suite and false for a custom case selection
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 55
{
"case_ids": [],
"description": "text",
"include_all": true
}
Closes a plan.
The unique identifier of the plan planUid in TF.
The plan was successfully closed / archived.
Invalid input, missing parameters, or incorrect format.
No plan found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"assignedto_id": 1,
"completed_on": 1,
"created_by": "text",
"created_on": 1,
"description": "text",
"entries": [],
"id": 1,
"is_completed": true,
"milestone_id": 1,
"name": "text",
"project_id": 1,
"url": "text"
}
Deletes a plan.
The unique identifier of the plan planUid in TF.
The plan was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No plan found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Deletes a plan entry.
The unique identifier of the plan planUid in TF.
Id of entry in plan
The plan entry was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No plan found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Deletes a run from a plan entry.
The unique identifier of the run runUid in TF.
The run was successfully deleted from the plan entry.
Invalid input, missing parameters, or incorrect format.
No run found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Milestones
Gets a milestone.
The unique identifier of the milestone milestoneUid in TF.
The milestone was successfully retrieved.
Invalid input, missing parameters, or incorrect format.
No milestone found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"completed_on": 1,
"description": "text",
"due_on": 1,
"id": 1,
"is_completed": true,
"is_started": true,
"milestones": [],
"name": "text",
"parent_id": 1,
"project_id": 1,
"refs": "text",
"start_on": 1,
"started_on": 1,
"url": "text"
}
Gets milestones.
The unique identifier of the project projectUid in TF.
The milestones were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The milestones were successfully retrieved.
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"milestones": [
{
"completed_on": 1,
"description": "text",
"due_on": 1,
"id": 1,
"is_completed": true,
"is_started": true,
"milestones": [],
"name": "text",
"parent_id": 1,
"project_id": 1,
"refs": "text",
"start_on": 1,
"started_on": 1,
"url": "text"
}
]
}
Adds a milestone.
The unique identifier of the project projectUid in TF.
The name of the milestone
The description of the milestone
The due date of the milestone (as UNIX timestamp)
The ID of the parent milestone, if any (for sub-milestones)
The scheduled start date of the milestone (as UNIX timestamp)
The milestone was successfully added.
Invalid input, missing parameters, or incorrect format.
No milestone found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 74
{
"name": "text",
"description": "text",
"due_on": 1,
"parent_id": 1,
"start_on": 1
}
{
"completed_on": 1,
"description": "text",
"due_on": 1,
"id": 1,
"is_completed": true,
"is_started": true,
"milestones": [],
"name": "text",
"parent_id": 1,
"project_id": 1,
"refs": "text",
"start_on": 1,
"started_on": 1,
"url": "text"
}
Updates a milestone.
The unique identifier of the milestone milestoneUid in TF.
True if a milestone is considered completed and false otherwise
True if a milestone is considered started and false otherwise
The ID of the parent milestone, if any (for sub-milestones)
The scheduled start date of the milestone (as UNIX timestamp)
The milestone was successfully updated.
Invalid input, missing parameters, or incorrect format.
No milestone found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 66
{
"is_completed": true,
"is_started": true,
"parent_id": 1,
"start_on": 1
}
{
"completed_on": 1,
"description": "text",
"due_on": 1,
"id": 1,
"is_completed": true,
"is_started": true,
"milestones": [],
"name": "text",
"parent_id": 1,
"project_id": 1,
"refs": "text",
"start_on": 1,
"started_on": 1,
"url": "text"
}
Deletes a milestone.
The unique identifier of the milestone milestoneUid in TF.
The milestone was successfully deleted.
Invalid input, missing parameters, or incorrect format.
No milestone found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Tests (TestFiesta Test Executions)
Gets a test.
The unique identifier of the test testUid in TF.
The test was successfully retrieved.
Invalid input, missing parameters, or incorrect format.
No test found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"assigned_to_id": 1,
"case_id": 1,
"id": 1,
"milestone_id": 1,
"priority_id": 1,
"refs": "text",
"run_id": 1,
"status_id": 1,
"title": "text",
"type_id": 1
}
Gets tests.
The unique identifier of the run runUid in TF.
A comma-separated list of status IDs to filter by
The number that sets the limit of tests to be shown on the response (Optional parameter. The response size limit is 250 by default) β requires TestRail 6.7 or later
The number that sets the position where the response should start from (Optional parameter) β requires TestRail 6.7 or later
The tests were successfully retrieved.
Invalid input, missing parameters, or incorrect format.
No test found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"tests": [
{
"assigned_to_id": 1,
"case_id": 1,
"id": 1,
"milestone_id": 1,
"priority_id": 1,
"refs": "text",
"run_id": 1,
"status_id": 1,
"title": "text",
"type_id": 1
}
]
}
Test Results
Gets results.
The unique identifier of the test testUid in TF.
The number that sets the limit of results to be shown on the response (Optional parameter. The response size limit is 250 by default) β requires TestRail 6.7 or later
The number that sets the position where the response should start from (Optional parameter) β requires TestRail 6.7 or later
The results were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The results were successfully retrieved.
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"results": [
{
"assignedto_id": 1,
"comment": "text",
"created_by": "text",
"created_on": 1,
"defects": "text",
"id": 1,
"status_id": 1,
"test_id": 1
}
]
}
Gets results for a case.
The unique identifier of the run runUid in TF.
The unique identifier of the case caseUid in TF.
The number that sets the limit of results to be shown on the response (Optional parameter. The response size limit is 250 by default) β requires TestRail 6.7 or later
The number that sets the position where the response should start from (Optional parameter) β requires TestRail 6.7 or later
The results were successfully retrieved.
Invalid input, missing parameters, or incorrect format.
No results found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
No content
Gets results for a run.
The unique identifier of the run runUid in TF.
The number that sets the limit of results to be shown on the response (Optional parameter. The response size limit is 250 by default) β requires TestRail 6.7 or later
The number that sets the position where the response should start from (Optional parameter) β requires TestRail 6.7 or later
Only return test results created after this date (as UNIX timestamp)
Only return test results created before this date (as UNIX timestamp)
A comma-separated list of creators (user IDs) to filter by
A comma-separated list of status IDs to filter by
The results were successfully retrieved.
Invalid input, missing parameters, or incorrect format.
No results found for the specified ID.
Internal server error.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"results": [
{
"assignedto_id": 1,
"comment": "text",
"created_by": "text",
"created_on": 1,
"defects": "text",
"id": 1,
"status_id": 1
}
]
}
Adds a result.
The unique identifier of the test testUid in TF.
The ID of the test status.
The comment/description for the test result
The result was successfully added.
Invalid input, missing parameters, or incorrect format.
No test found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 32
{
"status_id": 1,
"comment": "text"
}
{
"assignedto_id": 1,
"comment": "text",
"created_by": "text",
"created_on": 1,
"defects": "text",
"id": 1,
"status_id": 1,
"test_id": 1
}
Adds a result for a case.
The unique identifier of the run runUid in TF.
The unique identifier of the case caseUid in TF.
The ID of the test status.
The comment/description for the test result
The result was successfully added.
Invalid input, missing parameters, or incorrect format.
No test found for the specified ID.
Internal server error.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 32
{
"status_id": 1,
"comment": "text"
}
{
"assignedto_id": 1,
"comment": "text",
"created_by": "text",
"created_on": 1,
"defects": "text",
"id": 1,
"status_id": 1,
"test_id": 1
}
Adds results.
The unique identifier of the run runUid in TF.
The results were successfully added.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 58
{
"results": [
{
"test_id": 1,
"status_id": 1,
"comment": "text"
}
]
}
The results were successfully added.
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"results": [
{}
],
"properties": null
}
Adds results for cases.
The unique identifier of the run runUid in TF.
The results were successfully added.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 58
{
"results": [
{
"case_id": 1,
"status_id": 1,
"comment": "text"
}
]
}
The results were successfully added.
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"results": [
{}
],
"properties": null
}
Settings and Configurations
Gets priorities.
The priorities were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The priorities were successfully retrieved.
[
{
"id": 1,
"name": "text",
"is_default": true,
"priority": 1,
"short_name": "text"
}
]
Gets statuses.
The statuses were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The statuses were successfully retrieved.
[
{
"color_bright": 1,
"color_dark": 1,
"color_medium": 1,
"id": 1,
"is_final": true,
"is_system": true,
"is_untested": true,
"label": "text",
"name": "text"
}
]
Gets templates.
The templates were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The templates were successfully retrieved.
[
{
"id": 1,
"name": "text",
"is_default": true,
"case_fields": [
{
"system_name": "text",
"name": "text",
"type": "text"
}
]
}
]
Gets configurations.
The configurations were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The configurations were successfully retrieved.
[
{
"id": 1,
"name": "text",
"project_id": 1,
"configs": [
{
"id": 1,
"name": "text",
"group_id": 1
}
]
}
]
Adds a configuration group.
The unique identifier of the project projectUid in TF.
The name of the configuration group
The configuration group was successfully added.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
The configuration group was successfully added.
{
"id": 1,
"name": "text",
"project_id": 1,
"configs": [
{
"id": 1,
"name": "text",
"group_id": 1
}
]
}
Adds a configuration.
The unique identifier of the configuration group configGroupUid in TF.
The name of the configuration
The configuration was successfully added.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
The configuration was successfully added.
{
"id": 1,
"name": "text",
"group_id": 1
}
Updates a configuration group.
The unique identifier of the configuration group configGroupUid in TF.
The name of the configuration group
The configuration group was successfully updated.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
The configuration group was successfully updated.
{
"id": 1,
"name": "text",
"project_id": 1,
"configs": [
{
"id": 1,
"name": "text",
"group_id": 1
}
]
}
Updates a configurations.
The unique identifier of the configuration configUid in TF.
Name of the configuration to update
The configuration was successfully updated.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
The configuration was successfully updated.
{
"id": 1,
"name": "text",
"project_id": 1,
"configs": [
{
"id": 1,
"name": "text",
"group_id": 1
}
]
}
Deletes a configuration group.
The unique identifier of the configuration group configGroupUid in TF.
The configuration group was successfully deleted.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The configuration group was successfully deleted.
No content
Deletes a configuration.
The unique identifier of the configuration configUid in TF.
The configuration was successfully deleted.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The configuration was successfully deleted.
No content
Attachments
Adds an attachment to a case.
The unique identifier of the case caseUid in TF.
The attachment to add
The attachment was successfully added.
POST /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Content-Type: multipart/form-data
Accept: */*
Content-Length: 21
{
"attachment": "text"
}
The attachment was successfully added.
{
"attachment_id": "text"
}
Gets attachments for a case.
The unique identifier of the case caseUid in TF.
The attachments were successfully retrieved.
GET /trv2/{org-handle}/index.php HTTP/1.1
Host: api.testfiesta.com
Accept: */*
The attachments were successfully retrieved.
{
"limit": 1,
"offset": 1,
"size": 1,
"_links": {
"next": "text",
"prev": "text"
},
"attachments": [
{
"id": 1,
"name": "text",
"size": 1,
"created_on": 1,
"project_id": 1,
"case_id": 1,
"user_id": 1
}
]
}
Last updated