Skip to content
Testsigma DOCS

Create a test case

POST/projects/:project_id/test_cases

Base URL  https://test-management.testsigma.com/api/v1

Create a new test case within a specified project.

Authenticate with your API key as a Bearer token in the Authorization header. Generate a key →
project_idUnique identifier of the project in which the test case is created.
titleThe title of the test case.
descriptionA detailed description of the test case.
template_typeThe type of template used for the test case (e.g., TCD, STEPS).
preconditionsPreconditions that must be met before executing the test case.
stepsThe steps to execute the test case.
expected_resultsThe expected results after executing the test case.
type_idIdentifier for the type of the test case.
status_idIdentifier for the current status of the test case.
automation_type_idIdentifier for the automation type of the test case.
project_idIdentifier of the project to which the test case belongs.
priority_idIdentifier for the priority level of the test case.
owner_idIdentifier of the user who owns the test case.
reviewer_idIdentifier of the user who will review the test case.
folder_idIdentifier of the folder where the test case will be stored.
label_idsAn array of labels associated with the test case.
individual_stepsAn array of individual step objects for the test case.
messageA message indicating the result of the operation; usually empty on success.
data.test_case.idUnique identifier for the created test case.
data.test_case.titleThe title of the test case.
data.test_case.descriptionThe description of the test case.
data.test_case.template_typeThe type of template used for the test case.
data.test_case.preconditionsPreconditions for the test case.
data.test_case.stepsSteps to execute the test case.
data.test_case.expected_resultsExpected results after execution.
data.test_case.human_idHuman-readable identifier for the test case.
data.test_case.owner_idIdentifier of the owner of the test case.
data.test_case.type_idIdentifier for the type of the test case.
data.test_case.status_idIdentifier for the status of the test case.
data.test_case.automation_type_idIdentifier for the automation type.
data.test_case.priority_idIdentifier for the priority level.
data.test_case.reviewer_idIdentifier for the reviewer of the test case.
data.test_case.folder_idIdentifier for the folder containing the test case.
data.test_case.project_idIdentifier of the project associated with the test case.
data.test_case.created_atTimestamp of when the test case was created.
data.test_case.updated_atTimestamp of the last update to the test case.
REQUEST
curl -X POST \
  'https://test-management.testsigma.com/api/v1/projects/:project_id/test_cases' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Attempt to book a flight with missing required fields",
    "description": "Attempt to book a flight with missing required fields",
    "template_type": "TCD",
    "preconditions": "User has selected a flight from the search results. User is on the booking page.",
    "steps": "Leave one or more required fields (e.g., First Name, Last Name, Email) blank. Click the 'Book Now' button.",
    "expected_results": "An error message is displayed indicating that the required fields are missing. The user is prompted to fill in the missing fields.",
    "type_id": "75a816d1-8909-47b5-b85b-fbf60a973587",
    "status_id": "bafd7f8d-832a-42ea-91df-9a1e5e02a2d9",
    "automation_type_id": "3cee45b5-4335-4564-bbdf-4ea9b0306ed3",
    "project_id": "c47ade67-0543-4582-a4a5-b7de447c94f5",
    "priority_id": "1d810f8f-7be0-41e4-9971-67ee1f55612e",
    "owner_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
    "reviewer_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
    "folder_id": "580e3972-7f4a-4748-87e6-9b74873e2b93",
    "label_ids": [
      "Flight_testcase"
    ],
    "individual_steps": []
  }'
const response = await fetch('https://test-management.testsigma.com/api/v1/projects/:project_id/test_cases', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <API_KEY>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
      "title": "Attempt to book a flight with missing required fields",
      "description": "Attempt to book a flight with missing required fields",
      "template_type": "TCD",
      "preconditions": "User has selected a flight from the search results. User is on the booking page.",
      "steps": "Leave one or more required fields (e.g., First Name, Last Name, Email) blank. Click the 'Book Now' button.",
      "expected_results": "An error message is displayed indicating that the required fields are missing. The user is prompted to fill in the missing fields.",
      "type_id": "75a816d1-8909-47b5-b85b-fbf60a973587",
      "status_id": "bafd7f8d-832a-42ea-91df-9a1e5e02a2d9",
      "automation_type_id": "3cee45b5-4335-4564-bbdf-4ea9b0306ed3",
      "project_id": "c47ade67-0543-4582-a4a5-b7de447c94f5",
      "priority_id": "1d810f8f-7be0-41e4-9971-67ee1f55612e",
      "owner_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "reviewer_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "folder_id": "580e3972-7f4a-4748-87e6-9b74873e2b93",
      "label_ids": [
          "Flight_testcase"
      ],
      "individual_steps": []
  })
});
const data = await response.json();
import requests

response = requests.post(
  'https://test-management.testsigma.com/api/v1/projects/:project_id/test_cases',
  headers={
    'Authorization': 'Bearer <API_KEY>',
    'Content-Type': 'application/json'
  },
  json={
      "title": "Attempt to book a flight with missing required fields",
      "description": "Attempt to book a flight with missing required fields",
      "template_type": "TCD",
      "preconditions": "User has selected a flight from the search results. User is on the booking page.",
      "steps": "Leave one or more required fields (e.g., First Name, Last Name, Email) blank. Click the 'Book Now' button.",
      "expected_results": "An error message is displayed indicating that the required fields are missing. The user is prompted to fill in the missing fields.",
      "type_id": "75a816d1-8909-47b5-b85b-fbf60a973587",
      "status_id": "bafd7f8d-832a-42ea-91df-9a1e5e02a2d9",
      "automation_type_id": "3cee45b5-4335-4564-bbdf-4ea9b0306ed3",
      "project_id": "c47ade67-0543-4582-a4a5-b7de447c94f5",
      "priority_id": "1d810f8f-7be0-41e4-9971-67ee1f55612e",
      "owner_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "reviewer_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "folder_id": "580e3972-7f4a-4748-87e6-9b74873e2b93",
      "label_ids": [
          "Flight_testcase"
      ],
      "individual_steps": []
  }
)
data = response.json()
RESPONSE201Created
{
  "message": "",
  "data": {
    "test_case": {
      "id": "9c09349f-5c16-4d29-9f8e-194576b6b841",
      "title": "Attempt to book a flight with missing required fields",
      "description": "Attempt to book a flight with missing required fields",
      "template_type": "TCD",
      "preconditions": "User has selected a flight from the search results. User is on the booking page.",
      "steps": "Leave one or more required fields (e.g., First Name, Last Name, Email) blank. Click the 'Book Now' button.",
      "expected_results": "An error message is displayed indicating that the required fields are missing. The user is prompted to fill in the missing fields.",
      "human_id": "DEMO-2",
      "owner_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "type_id": "75a816d1-8909-47b5-b85b-fbf60a973587",
      "status_id": "bafd7f8d-832a-42ea-91df-9a1e5e02a2d9",
      "automation_type_id": "3cee45b5-4335-4564-bbdf-4ea9b0306ed3",
      "priority_id": "1d810f8f-7be0-41e4-9971-67ee1f55612e",
      "reviewer_id": "cbbc40a5-26e9-4b88-8c27-3626c9fbdaa4",
      "folder_id": "580e3972-7f4a-4748-87e6-9b74873e2b93",
      "project_id": "c47ade67-0543-4582-a4a5-b7de447c94f5",
      "created_at": 1710675200,
      "updated_at": 1710675200
    }
  }
}