Skip to content
Testsigma DOCS

Create a step group

POST/projects/:project_id/step_groups

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

Creates a new step group for a project, bundling an ordered list of test steps.

Authenticate with your API key as a Bearer token in the Authorization header. Generate a key →
project_idUnique identifier of the project the step group belongs to.
titleDescriptive name indicating the purpose of the step group.
descriptionDetailed description providing context for the step group.
label_idsArray of label IDs used to categorize the step group.
stepsOrdered array of step objects that belong to the step group.
steps[].step_descriptionDescription of the step to be executed.
steps[].expected_resultExpected outcome of executing the step.
steps[].orderPosition of the step within the step group.
messageStatus message for the request; may be empty.
data.step_group.idUnique identifier of the created step group.
data.step_group.titleTitle of the step group.
data.step_group.descriptionDescription of the step group.
data.step_group.human_idHuman-readable identifier for the step group.
data.step_group.steps[].idUnique identifier of the step.
data.step_group.steps[].step_descriptionDescription of the step.
data.step_group.steps[].expected_resultsExpected results of the step.
data.step_group.steps[].orderOrder of the step within the step group.
data.step_group.steps[].step_group_idIdentifier of the step group the step belongs to.
data.step_group.steps[].created_atUnix timestamp of when the step was created.
data.step_group.steps[].updated_atUnix timestamp of the last update to the step.
data.step_group.project_idIdentifier of the project the step group belongs to.
data.step_group.created_atUnix timestamp of when the step group was created.
data.step_group.updated_atUnix timestamp of the last update to the step group.
REQUEST
curl -X POST \
  'https://test-management.testsigma.com/api/v1/projects/:project_id/step_groups' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Regression Test Step Group - 5",
    "description": "Step group for regression test cases",
    "label_ids": [
      "3ebf1ec4-f994-4f41-822a-01305e1f78c1"
    ],
    "steps": [
      {
        "step_description": "Open the application and navigate to the login page",
        "expected_result": "Login page should be displayed",
        "order": 1
      },
      {
        "step_description": "Enter valid credentials and click login",
        "expected_result": "User should be redirected to the dashboard",
        "order": 2
      }
    ]
  }'
const response = await fetch('https://test-management.testsigma.com/api/v1/projects/:project_id/step_groups', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <API_KEY>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
      "title": "Regression Test Step Group - 5",
      "description": "Step group for regression test cases",
      "label_ids": [
          "3ebf1ec4-f994-4f41-822a-01305e1f78c1"
      ],
      "steps": [
          {
              "step_description": "Open the application and navigate to the login page",
              "expected_result": "Login page should be displayed",
              "order": 1
          },
          {
              "step_description": "Enter valid credentials and click login",
              "expected_result": "User should be redirected to the dashboard",
              "order": 2
          }
      ]
  })
});
const data = await response.json();
import requests

response = requests.post(
  'https://test-management.testsigma.com/api/v1/projects/:project_id/step_groups',
  headers={
    'Authorization': 'Bearer <API_KEY>',
    'Content-Type': 'application/json'
  },
  json={
      "title": "Regression Test Step Group - 5",
      "description": "Step group for regression test cases",
      "label_ids": [
          "3ebf1ec4-f994-4f41-822a-01305e1f78c1"
      ],
      "steps": [
          {
              "step_description": "Open the application and navigate to the login page",
              "expected_result": "Login page should be displayed",
              "order": 1
          },
          {
              "step_description": "Enter valid credentials and click login",
              "expected_result": "User should be redirected to the dashboard",
              "order": 2
          }
      ]
  }
)
data = response.json()
RESPONSE200OK
{
  "message": "",
  "data": {
    "step_group": {
      "id": "b3d9f1a2-6c84-4e57-9a01-2f7c5d8e1b40",
      "title": "Regression Test Step Group - 5",
      "description": "Step group for regression test cases",
      "human_id": "DEMO-SG-5",
      "steps": [
        {
          "id": "f1c2a3b4-5d6e-47f8-9a0b-1c2d3e4f5a6b",
          "step_description": "Open the application and navigate to the login page",
          "expected_results": "Login page should be displayed",
          "order": 1,
          "step_group_id": "b3d9f1a2-6c84-4e57-9a01-2f7c5d8e1b40",
          "created_at": 1710675200,
          "updated_at": 1710675200
        },
        {
          "id": "a7b8c9d0-1e2f-43a4-85b6-7c8d9e0f1a2b",
          "step_description": "Enter valid credentials and click login",
          "expected_results": "User should be redirected to the dashboard",
          "order": 2,
          "step_group_id": "b3d9f1a2-6c84-4e57-9a01-2f7c5d8e1b40",
          "created_at": 1710675200,
          "updated_at": 1710675200
        }
      ],
      "project_id": "c47ade67-0543-4582-a4a5-b7de447c94f5",
      "created_at": 1710675200,
      "updated_at": 1710675200
    }
  }
}