On this page, you can find detailed documentation about our API. Using the API you can set up the testing flow like a smooth and enhanced process. Initially, TestCaseLab was designed for the manual QAs, but now, using the API you can also reflect the results of your automated tests in TestCaseLab. API allows you to:
The document below will help you to set up an integration. There you can find all available API calls and methods.
Mail us in case you’re not sure about how to do that: support@testcaselab.com
Only Company Owner is granted to generate API token (from Admin Settings -> Company Profile). Please contact your Company Owner in order to receive API Token.
Returns all companies
Authorization: Bearer* | API Token |
---|
The above command returns JSON structured like this:
[
{
"id": "integer",
"name": "string",
"subdomain": "string"
}
]
{
"errors": [
"string"
]
}
Returns all users from company
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
[
{
"name": "string",
"email": "string",
"role": "string",
"id": "integer",
"status": "string",
"created_at_in_company": "0000-00-00T00:00:00.0000",
"updated_at_in_company": "0000-00-00T00:00:00.0000",
"created_by": "string",
"updated_by": "string",
"last_sign_in_at": "0000-00-00T00:00:00.0000"
}
]
{
"message": "string"
}
Roles:
Company admin
Company employee
Returns all projects
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
[
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
]
[
"message": [
"string"
]
}
Return new project from the system
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
name* | Project name |
---|---|
key* | Project key |
Example JSON:
{
"name": "title",
"key": "key"
}
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Returns project from the company
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Returns updated project from the company
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
name | Project name |
---|---|
key | Project key |
Example JSON:
{
"name": "title",
"key": "key"
}
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Returns archived project from the system
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Return unarchived project from the system
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Return deleted project from the company
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
The above command returns JSON structured like this:
{
"id": "integer",
"company_id": "integer",
"name": "string",
"key": "string",
"status": "string"
}
{
"errors": [
"string"
]
}
Returns all test cases
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
category_id | Category ID |
limit | Limit |
offset | Offset |
The above command returns JSON structured like this:
{
"test_cases_company": [
{
"tag_list": [
"string"
],
"key": "string",
"test_type": "string",
"priority": "string",
"test_plans": [
{
"id": "integer",
"tree_position": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
],
"test_plan_ids": [
"integer"
],
"test_run_ids": [
"integer"
],
"id": "string",
"title": "string",
"category_id": "integer",
"execution": "string"
}
]
}
{
"errors": [
"string"
]
}
Returns new test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
title* | Title |
---|---|
category_id | Suite (Category) ID |
priority* | |
test_type* | |
execution* | |
steps | Steps |
expected_result | Expected result |
description | Description |
Example JSON:
{
"title": "title",
"category_id": "1",
"priority": "Normal",
"test_type": "Functional",
"execution": "Manual",
"steps": "",
"expected_result": "",
"description": ""
}
The above command returns JSON structured like this:
{
"tag_list": [
"string"
],
"key": "string",
"test_plans": [
{
"id": "integer",
"tree_position": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
],
"case_created_by": "string",
"case_updated_by": "string",
"id": "string",
"title": "string",
"category_id": "integer",
"test_type": "string",
"priority": "string",
"execution": "string",
"description": "string",
"steps": "string",
"expected_result": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Returns execution list
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
[
"string"
]
{
"errors": [
"string"
]
}
Return priorities list
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
[
"string"
]
{
"errors": [
"string"
]
}
Returns test types list
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
[
"string"
]
{
"errors": [
"string"
]
}
Returns test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"tag_list": [
"string"
],
"key": "string",
"priority": "string",
"test_plans": [
{
"id": "integer",
"tree_position": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
}
],
"case_created_by": "string",
"case_updated_by": "string",
"id": "string",
"title": "string",
"category_id": "integer",
"test_type": "string",
"execution": "string",
"description": "string",
"steps": "string",
"expected_result": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
"project_id": "integer",
"additional_steps": [
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
]
}
{
"errors": [
"string"
]
}
Returns updated test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
title | Title |
---|---|
category_id | Category ID |
priority | |
test_type | |
execution | |
steps | Steps |
expected_result | Expected result |
description | Description |
Example JSON:
{
"steps": "steps",
"expected_result": "expected result"
}
The above command returns JSON structured like this:
{
"tag_list": [
"string"
],
"key": "string",
"priority": "string",
"test_plans": [
{
"id": "integer",
"tree_position": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
}
],
"case_created_by": "string",
"case_updated_by": "string",
"id": "string",
"title": "string",
"category_id": "integer",
"test_type": "string",
"execution": "string",
"description": "string",
"steps": "string",
"expected_result": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Return deleted test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"tag_list": [
"string"
],
"key": "string",
"priority": "string",
"test_plans": [
{
"id": "integer",
"tree_position": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
],
"case_created_by": "string",
"case_updated_by": "string",
"id": "string",
"title": "string",
"category_id": "integer",
"test_type": "string",
"execution": "string",
"description": "string",
"steps": "string",
"expected_result": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Returns all test case steps
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_id* | Test Case ID |
The above command returns JSON structured like this:
{
"test_case_steps": [
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
]
}
{
"errors": [
"string"
]
}
Returns new test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_id* | Test Case ID |
step | Step |
---|---|
expected_result | Expected result |
Example JSON:
{
"step": "step",
"expected_result": "expected result"
}
The above command returns JSON structured like this:
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
{
"errors": [
"string"
]
}
Returns all test case steps
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_id* | Test Case ID |
step | Step |
---|---|
expected_result | Expected result |
Example JSON:
{ "steps":
[
{
"step": "string",
"expected_result": "string"
}
]
}
Note: Test case steps limit is 75 for one test case.
The above command returns JSON structured like this:
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
{
"errors": [
"string"
]
}
Returns updated test case
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_id* | Test Case ID |
step | Step |
---|---|
expected_result | Expected result |
Example JSON:
{
"step": "step",
"expected_result": "expected result"
}
The above command returns JSON structured like this:
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
{
"errors": [
"string"
]
}
Return deleted test case step
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_id* | Test Case ID |
The above command returns JSON structured like this:
{
"test_case_steps": [
{
"id": "integer",
"test_case_id": "integer",
"step": "string",
"expected_result": "string",
"position": "integer"
}
]
}
{
"errors": [
"string"
]
}
Returns all categories
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"tree_position": "integer",
"level": "integer",
"parent_id": "integer",
"test_cases_count": "integer"
}
{
"errors": [
"string"
]
}
Returns new category
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
name* | Name |
---|
Example JSON:
{
"name": "name"
}
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Returns category
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"test_cases_count": "integer",
"id": "integer",
"name": "string",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Returns deleted Category from the system
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"project_id": "integer"
}
{
"errors": [
"string"
]
}
Returns all test plans
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
limit | Limit |
offset | Offset |
The above command returns JSON structured like this:
[
{
"test_cases_count": "integer",
"test_cases_ids": [
"integer"
],
"id": "integer",
"name": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
]
{
"errors": [
"string"
]
}
Returns new test plan
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
name | Name |
---|
Example JSON:
{
"name": "name"
}
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns test plan
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"test_cases_count": "integer",
"test_cases_ids": [
"integer"
],
"id": "integer",
"name": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Return updated test plan
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
name | Name |
---|
Example JSON:
{
"name": "name"
}
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns deleted test plan
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"created_at": "0000-00-00T00:00:00.0000",
"updated_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns all test runs
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
limit | Limit |
offset | Offset |
The above command returns JSON structured like this:
{
"test_plan_name": "string",
"test_results": {},
"test_case_runs_count": "integer",
"run_created_by": "string",
"test_case_ids": [
"integer"
],
"id": "integer",
"name": "string",
"test_plan_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns new test run
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
name* | Name |
---|
Example JSON:
{
"name": "name"
}
The above command returns JSON structured like this:
{
"test_plan_name": "string",
"test_results": {},
"test_case_runs_count": "integer",
"run_created_by": "string",
"test_case_ids": [],
"id": "integer",
"name": "string",
"test_plan_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns test run
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"test_plan_name": "string",
"test_results": {},
"test_case_runs_count": "integer",
"run_created_by": "string",
"test_case_ids": [
"integer"
],
"id": "integer",
"name": "string",
"test_plan_id": "integer",
"project_id": "integer",
"created_by": "integer"
"created_at": "0000-00-00T00:00:00.0000"
"updated_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns updated test run
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
name | Name |
---|
Example JSON:
{
"name": "name"
}
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"test_plan_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns test cases
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_ids[]* | Test Case IDS |
---|
Example JSON:
{
"test_case_ids": []
}
The above command returns JSON structured like this:
[
"integer"
]
{
"errors": [
"string"
]
}
Returns test cases
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_case_ids[]* | Test Case IDS |
---|
Example JSON:
{
"test_case_ids": []
}
The above command returns JSON structured like this:
[
"integer"
]
{
"errors": [
"string"
]
}
Returns test plan ids
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_plan_ids[]* | Test Plan IDS |
---|
Example JSON:
{
"test_plan_ids": []
}
The above command returns JSON structured like this:
[
"integer"
]
{
"errors": [
"string"
]
}
Returns deleted test run
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"id": "integer",
"name": "string",
"test_plan_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns all test results from test run
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_run_id* | Test Run ID |
limit | Limit |
offset | Offset |
The above command returns JSON structured like this:
[{
"id": "integer",
"status": "string",
"comment": "string",
"link_to_issue": "string",
"test_case_id": "integer",
"test_run_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}]
{
"errors": [
"string"
]
}
Returns all statuses
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
["string"]
{
"errors": [
"string"
]
}
Returns test result
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
The above command returns JSON structured like this:
{
"id": "integer",
"status": "string",
"comment": "string",
"link_to_issue": "string",
"test_case_id": "integer",
"test_run_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns test result
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
status | |
---|---|
comment | Comment |
link_to_issue | Link to issue |
Example JSON:
{
"status": "passed",
"comment": "",
"link_to_issue": ""
}
The above command returns JSON structured like this:
{
"id": "integer",
"status": "string",
"comment": "string",
"link_to_issue": "string",
"test_case_id": "integer",
"test_run_id": "integer",
"project_id": "integer",
"created_at": "0000-00-00T00:00:00.0000"
}
{
"errors": [
"string"
]
}
Returns test result
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_result_id* | Test Result ID |
The above command returns JSON structured like this:
{
"id": "integer",
"test_result_id": "integer",
"test_case_step_id": "integer",
"status": "string",
"case_step": "string",
"expected_result": "string",
"position": "integer"
}
{
"errors": [
"string"
]
}
Returns test result
Authorization: Bearer* | API Token |
---|---|
company_id* | Company ID |
project_id* | Project ID |
test_result_id* | Test Result ID |
status |
---|
Example JSON:
{
"status": "passed"
}
The above command returns JSON structured like this:
{
"id": "integer",
"test_result_id": "integer",
"test_case_step_id": "integer",
"status": "string",
"case_step": "string",
"expected_result": "string",
"position": "integer"
}
{
"errors": [
"string"
]
}