API Reference
Bugs
Manage bugs found during testing.
Note: Bugs are automatically created when testers report issues during test execution. To create and run tests, see Exploratory Tests. You can filter bugs by product ID, section ID, or test cycle ID.
Fetch bugs
Retrieve bugs with optional filtering.
Endpoint: GET /bugs
Query Parameters:
filter_product_ids(string, optional) - Comma-separated product IDsfilter_section_ids(string, optional) - Comma-separated section IDsfilter_test_cycle_ids(string, optional) - Comma-separated test cycle IDsexport_status(string, optional) - Export status filter. Values:export_requested,not_exported,exported
Example Request:
1curl -X GET "https://api.test.io/customer/v2/bugs?filter_product_ids=1,2&export_status=not_exported" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
1{
2 "bugs": [
3 {
4 "id": 123,
5 "title": "Summary of the bug",
6 "severity": "high",
7 "language": "en",
8 "location": "https://example.com/page",
9 "expected_result": "Expected result",
10 "actual_result": "Actual result",
11 "steps": "Step to reproduce the bug",
12 "known": false,
13 "exported_at": null
14 }
15 ]
16}Get bug
Retrieve a specific bug by ID.
Endpoint: GET /bugs/{bug_id}
Parameters:
bug_id(number, required) - ID of the bug
Example Request:
1curl -X GET "https://api.test.io/customer/v2/bugs/123" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
1{
2 "bug": {
3 "id": 123,
4 "title": "Summary of the bug",
5 "severity": "high",
6 "language": "en",
7 "location": "https://example.com/page",
8 "expected_result": "Expected result",
9 "actual_result": "Actual result",
10 "steps": "Step to reproduce the bug",
11 "known": false,
12 "exported_at": null
13 }
14}Search bug
Search for bugs using external index.
Endpoint: POST /bugs
Request Body:
1{
2 "bug": {
3 "external_idx": "id in the system"
4 }
5}Example Request:
1curl -X POST "https://api.test.io/customer/v2/bugs" \
2 -H "Authorization: Token YOUR_API_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "bug": {
6 "external_idx": "id in the system"
7 }
8 }'Response: 200 OK
Returns an array of matching bug objects.
Fetch Reject Reasons
Get a list of available reject reasons for bugs.
Endpoint: GET /bugs/reject_reasons
Example Request:
1curl -X GET "https://api.test.io/customer/v2/bugs/reject_reasons" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
Returns an array of reject reason objects.
Accept bug
Accept a bug.
Endpoint: PUT /bugs/{bug_id}/accept
Parameters:
bug_id(number, required) - ID of the bug
Example Request:
1curl -X PUT "https://api.test.io/customer/v2/bugs/123/accept" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
1{
2 "bug": {
3 "id": 123,
4 "title": "Summary of the bug",
5 "severity": "high",
6 "status": "accepted"
7 }
8}Mark As Exported
Mark a bug as exported.
Endpoint: PUT /bugs/{bug_id}/mark_as_exported
Parameters:
bug_id(number, required) - ID of the bug
Example Request:
1curl -X PUT "https://api.test.io/customer/v2/bugs/123/mark_as_exported" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
Returns the updated bug object.
Mark As Known
Mark a bug as known.
Endpoint: PUT /bugs/{bug_id}/mark_as_known
Parameters:
bug_id(number, required) - ID of the bug
Example Request:
1curl -X PUT "https://api.test.io/customer/v2/bugs/123/mark_as_known" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
Returns the updated bug object.
Mark As Fixed
Mark a bug as fixed.
Endpoint: PUT /bugs/{bug_id}/mark_as_fixed
Parameters:
bug_id(number, required) - ID of the bug
Example Request:
1curl -X PUT "https://api.test.io/customer/v2/bugs/123/mark_as_fixed" \
2 -H "Authorization: Token YOUR_API_TOKEN"Response: 200 OK
Returns the updated bug object.
Reject bug
Reject a bug with a reason and comment.
Endpoint: PUT /bugs/{bug_id}/reject
Parameters:
bug_id(number, required) - ID of the bug
Request Body:
reason(string, required) - Reject reasoncomment(string, required) - Reject comment
Example Request:
1curl -X PUT "https://api.test.io/customer/v2/bugs/123/reject" \
2 -H "Authorization: Token YOUR_API_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "reason": "known_bug",
6 "comment": "This bug is already known and being tracked"
7 }'Response: 200 OK
1{
2 "bug": {
3 "id": 123,
4 "title": "Summary of the bug",
5 "severity": "high",
6 "status": "rejected"
7 }
8}