Skip to main content
Experience faster, smarter testing with BrowserStack AI Agents. See what your workflow’s been missing. Explore now!
No Result Found
Get your setup working faster. Join our Discord for optimisation tips from elite testers. Join our DiscordJoin our Discord

Reviewers

A test case carries a list of reviewers, where each entry holds a reviewer email and the review status of that reviewer. The test case has its own review_status field. Every project holds a separate allowed reviewers list, which you read and edit through the allowed reviewers endpoints.

Every endpoint on this page that returns a test case returns the complete object. The reviewer fields on it are reviewers and review_status.

Review status values

The review_status field appears twice in a test case payload. It appears once on the test case and once on every entry in the reviewers array.

Value Details
pending The reviewer entry is assigned but the review has not started. A test case with no assigned reviewers also reports pending.
in_review The review is open on the test case.

Reviewer operations

To update the reviewers of a test case, send reviewers as an object. The object holds a value array and an operation. Both the single test case endpoint and the bulk endpoint accept these operations.

Operation Details
add Adds the listed emails to the reviewers already on the test case.
remove Removes the listed emails from the reviewers already on the test case.
replace Removes the reviewers already on the test case and assigns the listed emails.

You can also send reviewers as a bare array of emails instead of an object. A bare array replaces the reviewers already on the test case. An empty array removes every reviewer and sets the review_status of the test case to pending.

Assign reviewers when you create a test case

POST /api/v2/projects/{project_identifier}/folders/{folder_id}/test-cases

Add a reviewers array to the create test case request body to assign reviewers at creation time. Set send_for_review to true in the same request to start the review. For the other fields of this endpoint, refer to Create a test case.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST https://test-management.browserstack.com/api/v2/projects/{project_identifier}/folders/{folder_id}/test-cases
  • project_identifier* String

    Identifier of the project that holds the test case.

  • folder_id* String

    Identifier of the folder in which the test case is created.

Request body

Request Body

{
  "test_case": {
    "name": "Verify submit button on the signup form",
    "reviewers": [
      "sam.r@example.com"
    ],
    "send_for_review": true
  }
}
  • name* String

    Name of the test case.

  • reviewers Array

    Emails of the reviewers to assign to the test case.

  • send_for_review Boolean

    Set to true to start the review on the test case as soon as it is created.

Response attributes 200 OK json

Response

{
  "data": {
    "success": true,
    "test_case": {
      "case_type": "Other",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [],
      "created_at": "2026-08-05T10:14:59.236Z",
      "last_updated_at": "2026-08-05T10:14:59.236Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "tags": [],
      "template": "test_case_steps",
      "description": null,
      "preconditions": null,
      "title": "Verify submit button on the signup form",
      "is_shared": false,
      "identifier": "TC-103",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "reviewers": [
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [],
      "custom_fields": [],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68203"
      }
    }
  }
}
  • data Object

    Envelope that holds the call status and the created test case.

    β–Ά SHOW VALUES
    • success Boolean

      API call is executed successfully.

    • test_case Object

      The test case, including its reviewers and review status.

      β–Ά SHOW VALUES
      • identifier String

        Identifier of the test case.

      • title String

        Name of the test case.

      • reviewers Array

        Reviewers assigned to the test case, with the review status of each one.

        β–Ά SHOW VALUES
        • email String

          Email of the assigned reviewer.

        • review_status String

          Review status of this reviewer on the test case.

      • review_status String

        Review status of the test case.

      • case_type String

        Type of the test case.

      • priority String

        Priority of the test case.

      • status String

        State of the test case.

      • folder_id Integer

        Identifier of the folder that holds the test case.

      • folder_path Array

        Folder identifiers that make up the path to the test case. List responses return this field.

      • issues Array

        Issues linked to the test case from your connected tracker.

        β–Ά SHOW VALUES
        • jira_id String

          Identifier of the linked issue in the connected tracker.

        • issue_type String

          Type of the connected issue tracker.

      • tags Array

        Labels linked to the test case.

      • template String

        Template that defines the test case structure, either test_case_steps or test_case_text.

      • description String

        Brief information about the test case.

      • preconditions String

        Setup or configuration needed before the test runs.

      • is_shared Boolean

        Indicates whether the test case is shared across folders.

      • automation_status String

        Automation state of the test case. One of automated, not_automated, cannot_be_automated, obsolete, or automation_not_required.

      • owner String

        Email of the test case owner.

      • attachments Array

        Files attached to the test case.

        β–Ά SHOW VALUES
        • size String

          File size of the attachment.

        • name String

          File name of the attachment.

        • content_type String

          MIME (Multipurpose Internet Mail Extensions) type of the attachment.

        • url String

          Download URL of the attachment.

      • steps Array

        Test case steps, where each step pairs an action with its expected result.

        β–Ά SHOW VALUES
        • step String

          Action or instruction for the step.

        • result String

          Expected result of the step.

      • custom_fields Array

        Custom fields on the test case, with the name and value of each one.

        β–Ά SHOW VALUES
        • name String

          Name of the custom field.

        • value String

          Value of the custom field.

      • created_at String

        Timestamp in ISO 8601 format for when the test case was created.

      • last_updated_at String

        Timestamp in ISO 8601 format for when the test case was last changed.

      • created_by String

        Email of the user who created the test case.

      • updated_by String

        Email of the user who last changed the test case.

      • urls Object

        Web app links for the test case.

        β–Ά SHOW VALUES
        • self String

          Web app URL to open the test case in Test Management.

Update reviewers on a test case

PATCH /api/v2/projects/{project_identifier}/test-cases/{test_case_identifier}

Change the reviewers of a single test case. To add or remove specific reviewers, send reviewers as an object with an operation. To overwrite the list, send a bare array.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X PATCH https://test-management.browserstack.com/api/v2/projects/{project_identifier}/test-cases/{test_case_identifier}
  • project_identifier* String

    Identifier of the project that holds the test case.

  • test_case_identifier* String

    Identifier of the test case to update.

Request body

Request Body

{
  "test_case": {
    "reviewers": {
      "value": [
        "sam.r@example.com"
      ],
      "operation": "add"
    }
  }
}
  • reviewers Object or Array

    Reviewers to set on the test case. Send an object with value and operation to add or remove specific reviewers. Send a bare array of emails to replace the current reviewers. Send an empty array to remove every reviewer.

    β–Ά SHOW VALUES
    • value* Array

      Emails of the reviewers to apply the operation to.

    • operation* String

      Operation to apply to the reviewers already on the test case. Accepts add, remove, or replace.

  • send_for_review Boolean

    Set to true to start the review on the test case.

To replace the reviewers instead, send a bare array. The following body drops every reviewer already on the test case and assigns dana.k@example.com:

Request Body

{
  "test_case": {
    "reviewers": [
      "dana.k@example.com"
    ]
  }
}

To clear the reviewers and reset the review, send an empty array:

Request Body

{
  "test_case": {
    "reviewers": []
  }
}

To assign reviewers and start the review in the same call, send send_for_review alongside reviewers:

Request Body

{
  "test_case": {
    "reviewers": [
      "sam.r@example.com"
    ],
    "send_for_review": true
  }
}

Response attributes 200 OK json

Response

{
  "data": {
    "success": true,
    "test_case": {
      "case_type": "Functional",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [
        {
          "jira_id": "TM-4412",
          "issue_type": "jira"
        }
      ],
      "created_at": "2026-08-03T07:22:41.000Z",
      "last_updated_at": "2026-08-05T10:29:44.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "tags": [
        "regression",
        "authentication"
      ],
      "template": "test_case_steps",
      "description": "<p>Confirm that a registered user receives a password reset email.</p>",
      "preconditions": "<p>A user account exists with a verified email address.</p>",
      "title": "Verify password reset email",
      "is_shared": false,
      "identifier": "TC-101",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "attachments": [
        {
          "size": "21 KB",
          "name": "reset-email.png",
          "content_type": "image/png",
          "url": "https://teststack.s3.amazonaws.com/media/generic/3/10842/8857111d-8b50-4"
        }
      ],
      "reviewers": [
        {
          "email": "sam.r@example.com",
          "review_status": "pending"
        }
      ],
      "review_status": "in_review",
      "steps": [
        {
          "step": "Open the login page and click Forgot password.",
          "result": "The password reset form opens."
        },
        {
          "step": "Enter a registered email address and submit the form.",
          "result": "A password reset email arrives within 2 minutes."
        }
      ],
      "custom_fields": [
        {
          "name": "Component",
          "value": "Authentication"
        }
      ],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68201"
      }
    }
  }
}
  • data Object

    Envelope that holds the call status and the updated test case.

    β–Ά SHOW VALUES
    • success Boolean

      API call is executed successfully.

    • test_case Object

      The test case, including its reviewers and review status.

      β–Ά SHOW VALUES
      • identifier String

        Identifier of the test case.

      • title String

        Name of the test case.

      • reviewers Array

        Reviewers assigned to the test case, with the review status of each one.

        β–Ά SHOW VALUES
        • email String

          Email of the assigned reviewer.

        • review_status String

          Review status of this reviewer on the test case.

      • review_status String

        Review status of the test case.

      • case_type String

        Type of the test case.

      • priority String

        Priority of the test case.

      • status String

        State of the test case.

      • folder_id Integer

        Identifier of the folder that holds the test case.

      • folder_path Array

        Folder identifiers that make up the path to the test case. List responses return this field.

      • issues Array

        Issues linked to the test case from your connected tracker.

        β–Ά SHOW VALUES
        • jira_id String

          Identifier of the linked issue in the connected tracker.

        • issue_type String

          Type of the connected issue tracker.

      • tags Array

        Labels linked to the test case.

      • template String

        Template that defines the test case structure, either test_case_steps or test_case_text.

      • description String

        Brief information about the test case.

      • preconditions String

        Setup or configuration needed before the test runs.

      • is_shared Boolean

        Indicates whether the test case is shared across folders.

      • automation_status String

        Automation state of the test case. One of automated, not_automated, cannot_be_automated, obsolete, or automation_not_required.

      • owner String

        Email of the test case owner.

      • attachments Array

        Files attached to the test case.

        β–Ά SHOW VALUES
        • size String

          File size of the attachment.

        • name String

          File name of the attachment.

        • content_type String

          MIME (Multipurpose Internet Mail Extensions) type of the attachment.

        • url String

          Download URL of the attachment.

      • steps Array

        Test case steps, where each step pairs an action with its expected result.

        β–Ά SHOW VALUES
        • step String

          Action or instruction for the step.

        • result String

          Expected result of the step.

      • custom_fields Array

        Custom fields on the test case, with the name and value of each one.

        β–Ά SHOW VALUES
        • name String

          Name of the custom field.

        • value String

          Value of the custom field.

      • created_at String

        Timestamp in ISO 8601 format for when the test case was created.

      • last_updated_at String

        Timestamp in ISO 8601 format for when the test case was last changed.

      • created_by String

        Email of the user who created the test case.

      • updated_by String

        Email of the user who last changed the test case.

      • urls Object

        Web app links for the test case.

        β–Ά SHOW VALUES
        • self String

          Web app URL to open the test case in Test Management.

Assign reviewers to multiple test cases

POST /api/v2/projects/{project_identifier}/test-cases/review

Set the reviewers and the review status of several test cases in one call. List the test cases in ids and apply one reviewer operation across all of them.

Note: A request that carries 100 or fewer test case IDs returns the updated test cases in the response body.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST https://test-management.browserstack.com/api/v2/projects/{project_identifier}/test-cases/review
  • project_identifier* String

    Identifier of the project that holds the test cases.

Request body

Request Body

{
  "test_case": {
    "ids": [
      "TC-101",
      "TC-102"
    ],
    "reviewers": {
      "value": [
        "sam.r@example.com",
        "dana.k@example.com"
      ],
      "operation": "replace"
    },
    "review_status": "in_review"
  }
}
  • ids* Array

    Identifiers of the test cases to update.

  • reviewers Object

    Reviewers to set on every test case in ids, sent as an object with value and operation.

    β–Ά SHOW VALUES
    • value* Array

      Emails of the reviewers to apply the operation to.

    • operation* String

      Operation to apply to the reviewers already on the test case. Accepts add, remove, or replace.

  • review_status String

    Review status to set on every test case in ids.

Response attributes 200 OK json

Response

{
  "success": true,
  "test_cases": [
    {
      "case_type": "Functional",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [
        {
          "jira_id": "TM-4412",
          "issue_type": "jira"
        }
      ],
      "created_at": "2026-08-03T07:22:41.000Z",
      "last_updated_at": "2026-08-05T10:30:18.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "tags": [
        "regression",
        "authentication"
      ],
      "template": "test_case_steps",
      "description": "<p>Confirm that a registered user receives a password reset email.</p>",
      "preconditions": "<p>A user account exists with a verified email address.</p>",
      "title": "Verify password reset email",
      "is_shared": false,
      "identifier": "TC-101",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "reviewers": [
        {
          "email": "dana.k@example.com",
          "review_status": "in_review"
        },
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [],
      "custom_fields": [
        {
          "name": "Component",
          "value": "Authentication"
        }
      ],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68201"
      }
    },
    {
      "case_type": "Functional",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [
        {
          "jira_id": "TM-4478",
          "issue_type": "jira"
        }
      ],
      "created_at": "2026-08-03T07:22:44.000Z",
      "last_updated_at": "2026-08-05T10:30:18.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "tags": [
        "regression",
        "session"
      ],
      "template": "test_case_steps",
      "description": "<p>Confirm that an idle session returns the user to the login page.</p>",
      "preconditions": "<p>The session timeout is set to 30 minutes in the admin settings.</p>",
      "title": "Verify session timeout after 30 minutes",
      "is_shared": false,
      "identifier": "TC-102",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "reviewers": [
        {
          "email": "dana.k@example.com",
          "review_status": "in_review"
        },
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [],
      "custom_fields": [
        {
          "name": "Component",
          "value": "Session management"
        }
      ],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68202"
      }
    }
  ]
}
  • success Boolean

    API call is executed successfully.

  • test_cases Array

    Updated test cases, one entry for each identifier sent in ids.

    β–Ά SHOW VALUES
    • identifier String

      Identifier of the test case.

    • title String

      Name of the test case.

    • reviewers Array

      Reviewers assigned to the test case, with the review status of each one.

      β–Ά SHOW VALUES
      • email String

        Email of the assigned reviewer.

      • review_status String

        Review status of this reviewer on the test case.

    • review_status String

      Review status of the test case.

    • case_type String

      Type of the test case.

    • priority String

      Priority of the test case.

    • status String

      State of the test case.

    • folder_id Integer

      Identifier of the folder that holds the test case.

    • folder_path Array

      Folder identifiers that make up the path to the test case. List responses return this field.

    • issues Array

      Issues linked to the test case from your connected tracker.

      β–Ά SHOW VALUES
      • jira_id String

        Identifier of the linked issue in the connected tracker.

      • issue_type String

        Type of the connected issue tracker.

    • tags Array

      Labels linked to the test case.

    • template String

      Template that defines the test case structure, either test_case_steps or test_case_text.

    • description String

      Brief information about the test case.

    • preconditions String

      Setup or configuration needed before the test runs.

    • is_shared Boolean

      Indicates whether the test case is shared across folders.

    • automation_status String

      Automation state of the test case. One of automated, not_automated, cannot_be_automated, obsolete, or automation_not_required.

    • owner String

      Email of the test case owner.

    • attachments Array

      Files attached to the test case.

      β–Ά SHOW VALUES
      • size String

        File size of the attachment.

      • name String

        File name of the attachment.

      • content_type String

        MIME (Multipurpose Internet Mail Extensions) type of the attachment.

      • url String

        Download URL of the attachment.

    • steps Array

      Test case steps, where each step pairs an action with its expected result.

      β–Ά SHOW VALUES
      • step String

        Action or instruction for the step.

      • result String

        Expected result of the step.

    • custom_fields Array

      Custom fields on the test case, with the name and value of each one.

      β–Ά SHOW VALUES
      • name String

        Name of the custom field.

      • value String

        Value of the custom field.

    • created_at String

      Timestamp in ISO 8601 format for when the test case was created.

    • last_updated_at String

      Timestamp in ISO 8601 format for when the test case was last changed.

    • created_by String

      Email of the user who created the test case.

    • updated_by String

      Email of the user who last changed the test case.

    • urls Object

      Web app links for the test case.

      β–Ά SHOW VALUES
      • self String

        Web app URL to open the test case in Test Management.

Get review details of a test case

GET /api/v2/projects/{project_identifier}/test-cases/{test_case_identifier}

Read the reviewers and the review status of one test case.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://test-management.browserstack.com/api/v2/projects/{project_identifier}/test-cases/{test_case_identifier}
  • project_identifier* String

    Identifier of the project that holds the test case.

  • test_case_identifier* String

    Identifier of the test case to read.

Response attributes 200 OK json

Response

{
  "data": {
    "test_case": {
      "case_type": "Functional",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [
        {
          "jira_id": "TM-4412",
          "issue_type": "jira"
        }
      ],
      "created_at": "2026-08-03T07:22:41.000Z",
      "last_updated_at": "2026-08-05T10:30:18.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "tags": [
        "regression",
        "authentication"
      ],
      "template": "test_case_steps",
      "description": "<p>Confirm that a registered user receives a password reset email.</p>",
      "preconditions": "<p>A user account exists with a verified email address.</p>",
      "title": "Verify password reset email",
      "is_shared": false,
      "identifier": "TC-101",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "attachments": [
        {
          "size": "21 KB",
          "name": "reset-email.png",
          "content_type": "image/png",
          "url": "https://teststack.s3.amazonaws.com/media/generic/3/10842/8857111d-8b50-4"
        }
      ],
      "reviewers": [
        {
          "email": "dana.k@example.com",
          "review_status": "in_review"
        },
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [
        {
          "step": "Open the login page and click Forgot password.",
          "result": "The password reset form opens."
        },
        {
          "step": "Enter a registered email address and submit the form.",
          "result": "A password reset email arrives within 2 minutes."
        }
      ],
      "custom_fields": [
        {
          "name": "Component",
          "value": "Authentication"
        }
      ],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68201"
      }
    },
    "success": true
  }
}
  • data Object

    Envelope that holds the call status and the requested test case.

    β–Ά SHOW VALUES
    • success Boolean

      API call is executed successfully.

    • test_case Object

      The test case, including its reviewers and review status.

      β–Ά SHOW VALUES
      • identifier String

        Identifier of the test case.

      • title String

        Name of the test case.

      • reviewers Array

        Reviewers assigned to the test case, with the review status of each one.

        β–Ά SHOW VALUES
        • email String

          Email of the assigned reviewer.

        • review_status String

          Review status of this reviewer on the test case.

      • review_status String

        Review status of the test case.

      • case_type String

        Type of the test case.

      • priority String

        Priority of the test case.

      • status String

        State of the test case.

      • folder_id Integer

        Identifier of the folder that holds the test case.

      • folder_path Array

        Folder identifiers that make up the path to the test case. List responses return this field.

      • issues Array

        Issues linked to the test case from your connected tracker.

        β–Ά SHOW VALUES
        • jira_id String

          Identifier of the linked issue in the connected tracker.

        • issue_type String

          Type of the connected issue tracker.

      • tags Array

        Labels linked to the test case.

      • template String

        Template that defines the test case structure, either test_case_steps or test_case_text.

      • description String

        Brief information about the test case.

      • preconditions String

        Setup or configuration needed before the test runs.

      • is_shared Boolean

        Indicates whether the test case is shared across folders.

      • automation_status String

        Automation state of the test case. One of automated, not_automated, cannot_be_automated, obsolete, or automation_not_required.

      • owner String

        Email of the test case owner.

      • attachments Array

        Files attached to the test case.

        β–Ά SHOW VALUES
        • size String

          File size of the attachment.

        • name String

          File name of the attachment.

        • content_type String

          MIME (Multipurpose Internet Mail Extensions) type of the attachment.

        • url String

          Download URL of the attachment.

      • steps Array

        Test case steps, where each step pairs an action with its expected result.

        β–Ά SHOW VALUES
        • step String

          Action or instruction for the step.

        • result String

          Expected result of the step.

      • custom_fields Array

        Custom fields on the test case, with the name and value of each one.

        β–Ά SHOW VALUES
        • name String

          Name of the custom field.

        • value String

          Value of the custom field.

      • created_at String

        Timestamp in ISO 8601 format for when the test case was created.

      • last_updated_at String

        Timestamp in ISO 8601 format for when the test case was last changed.

      • created_by String

        Email of the user who created the test case.

      • updated_by String

        Email of the user who last changed the test case.

      • urls Object

        Web app links for the test case.

        β–Ά SHOW VALUES
        • self String

          Web app URL to open the test case in Test Management.

Get review details of all test cases

GET /api/v2/projects/{project_identifier}/test-cases

Read the reviewers and the review status of every test case in a project. Pass include_review_status=true to add the reviewer fields to each item in the list.

This list is paginated. For more information, refer to Pagination.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
"https://test-management.browserstack.com/api/v2/projects/{project_identifier}/test-cases?p=1&include_review_status=true"
  • project_identifier* String

    Identifier of the project that holds the test cases.

  • include_review_status Boolean

    Set to true to return the reviewers and review_status fields with each test case.

  • p Integer

    Page number of the paginated list.

Response attributes 200 OK json

Response

{
  "success": true,
  "test_cases": [
    {
      "case_type": "Other",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [],
      "created_at": "2026-08-05T10:14:59.000Z",
      "last_updated_at": "2026-08-05T10:14:59.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "folder_path": [
        4821
      ],
      "tags": [],
      "template": "test_case_steps",
      "description": null,
      "preconditions": null,
      "title": "Verify submit button on the signup form",
      "is_shared": false,
      "identifier": "TC-103",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "attachments": [],
      "reviewers": [
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [],
      "custom_fields": [],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68203"
      }
    },
    {
      "case_type": "Functional",
      "priority": "Medium",
      "status": "Active",
      "folder_id": 4821,
      "issues": [
        {
          "jira_id": "TM-4478",
          "issue_type": "jira"
        }
      ],
      "created_at": "2026-08-03T07:22:44.000Z",
      "last_updated_at": "2026-08-05T10:30:18.000Z",
      "created_by": "alex.m@example.com",
      "updated_by": "alex.m@example.com",
      "folder_path": [
        4821
      ],
      "tags": [
        "regression",
        "session"
      ],
      "template": "test_case_steps",
      "description": "<p>Confirm that an idle session returns the user to the login page.</p>",
      "preconditions": "<p>The session timeout is set to 30 minutes in the admin settings.</p>",
      "title": "Verify session timeout after 30 minutes",
      "is_shared": false,
      "identifier": "TC-102",
      "automation_status": "not_automated",
      "owner": "alex.m@example.com",
      "attachments": [
        {
          "size": "18 KB",
          "name": "session-expiry.png",
          "content_type": "image/png",
          "url": "https://teststack.s3.amazonaws.com/media/generic/3/10842/2f91c7ad-4e10-9"
        }
      ],
      "reviewers": [
        {
          "email": "dana.k@example.com",
          "review_status": "in_review"
        },
        {
          "email": "sam.r@example.com",
          "review_status": "in_review"
        }
      ],
      "review_status": "in_review",
      "steps": [
        {
          "step": "Log in and leave the session idle for 30 minutes.",
          "result": "The session expires and the login page opens."
        }
      ],
      "custom_fields": [
        {
          "name": "Component",
          "value": "Session management"
        }
      ],
      "urls": {
        "self": "https://test-management.browserstack.com/projects/10842/folder/4821/test-cases/68202"
      }
    }
  ],
  "info": {
    "page": 1,
    "page_size": 30,
    "count": 2,
    "prev": null,
    "next": null
  }
}
  • success Boolean

    API call is executed successfully.

  • test_cases Array

    Test cases on the current page, each with its reviewers and review status.

    β–Ά SHOW VALUES
    • identifier String

      Identifier of the test case.

    • title String

      Name of the test case.

    • reviewers Array

      Reviewers assigned to the test case, with the review status of each one.

      β–Ά SHOW VALUES
      • email String

        Email of the assigned reviewer.

      • review_status String

        Review status of this reviewer on the test case.

    • review_status String

      Review status of the test case.

    • case_type String

      Type of the test case.

    • priority String

      Priority of the test case.

    • status String

      State of the test case.

    • folder_id Integer

      Identifier of the folder that holds the test case.

    • folder_path Array

      Folder identifiers that make up the path to the test case. List responses return this field.

    • issues Array

      Issues linked to the test case from your connected tracker.

      β–Ά SHOW VALUES
      • jira_id String

        Identifier of the linked issue in the connected tracker.

      • issue_type String

        Type of the connected issue tracker.

    • tags Array

      Labels linked to the test case.

    • template String

      Template that defines the test case structure, either test_case_steps or test_case_text.

    • description String

      Brief information about the test case.

    • preconditions String

      Setup or configuration needed before the test runs.

    • is_shared Boolean

      Indicates whether the test case is shared across folders.

    • automation_status String

      Automation state of the test case. One of automated, not_automated, cannot_be_automated, obsolete, or automation_not_required.

    • owner String

      Email of the test case owner.

    • attachments Array

      Files attached to the test case.

      β–Ά SHOW VALUES
      • size String

        File size of the attachment.

      • name String

        File name of the attachment.

      • content_type String

        MIME (Multipurpose Internet Mail Extensions) type of the attachment.

      • url String

        Download URL of the attachment.

    • steps Array

      Test case steps, where each step pairs an action with its expected result.

      β–Ά SHOW VALUES
      • step String

        Action or instruction for the step.

      • result String

        Expected result of the step.

    • custom_fields Array

      Custom fields on the test case, with the name and value of each one.

      β–Ά SHOW VALUES
      • name String

        Name of the custom field.

      • value String

        Value of the custom field.

    • created_at String

      Timestamp in ISO 8601 format for when the test case was created.

    • last_updated_at String

      Timestamp in ISO 8601 format for when the test case was last changed.

    • created_by String

      Email of the user who created the test case.

    • updated_by String

      Email of the user who last changed the test case.

    • urls Object

      Web app links for the test case.

      β–Ά SHOW VALUES
      • self String

        Web app URL to open the test case in Test Management.

  • info Object

    Pagination details of the list.

    β–Ά SHOW VALUES
    • page Integer

      The current page being viewed displays a list of test cases.

    • page_size Integer

      Number of test cases in the page.

    • count Integer

      Total number of records across all pages.

    • prev Integer

      Previous page number.

    • next Integer

      Next page number.

Get the allowed reviewers of a project

GET /api/v2/projects/{project_identifier}/allowed-reviewers

Read the allowed reviewers of a project for a given entity type. Pass entity_type=TestCase to read the allowed reviewers for test cases.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
"https://test-management.browserstack.com/api/v2/projects/{project_identifier}/allowed-reviewers?entity_type=TestCase"
  • project_identifier* String

    Identifier of the project to read the allowed reviewers from.

  • entity_type String

    Entity that the allowed reviewers apply to. Pass TestCase to read the allowed reviewers for test cases.

Response attributes 200 OK json

Response

{
  "success": true,
  "allowed_reviewers": [
    {
      "email": "dana.k@example.com"
    },
    {
      "email": "sam.r@example.com"
    }
  ]
}
  • success Boolean

    API call is executed successfully.

  • allowed_reviewers Array

    Reviewers that the project accepts, one object per reviewer.

    β–Ά SHOW VALUES
    • email String

      Email of the allowed reviewer.

Replace the allowed reviewers of a project

PUT /api/v2/projects/{project_identifier}/allowed-reviewers

Overwrite the allowed reviewers of a project with the emails you send. The removed_reviewer_count field counts every reviewer record the call removed, including reviewers that the new list adds back.

Warning: This call drops every reviewer that you leave out of the reviewers array. To add reviewers without dropping the current ones, use the Add allowed reviewers to a project endpoint.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X PUT https://test-management.browserstack.com/api/v2/projects/{project_identifier}/allowed-reviewers
  • project_identifier* String

    Identifier of the project to update.

Request body

Request Body

{
  "reviewers": [
    "sam.r@example.com"
  ]
}
  • reviewers* Array

    Emails that become the complete allowed reviewers list. Emails left out of this array are removed from the project.

Response attributes 200 OK json

Response

{
  "success": true,
  "allowed_reviewers": [
    {
      "email": "sam.r@example.com"
    }
  ],
  "removed_reviewer_count": 2
}
  • success Boolean

    API call is executed successfully.

  • allowed_reviewers Array

    Reviewers that the project accepts after the call, one object per reviewer.

    β–Ά SHOW VALUES
    • email String

      Email of the allowed reviewer.

  • removed_reviewer_count Integer

    Number of reviewers that the call removed from the project.

Add allowed reviewers to a project

PATCH /api/v2/projects/{project_identifier}/allowed-reviewers

Add emails to the allowed reviewers of a project. The reviewers already on the list stay on it.

Request parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X PATCH https://test-management.browserstack.com/api/v2/projects/{project_identifier}/allowed-reviewers
  • project_identifier* String

    Identifier of the project to update.

Request body

Request Body

{
  "reviewers": [
    "dana.k@example.com"
  ]
}
  • reviewers* Array

    Emails to add to the allowed reviewers list. Reviewers already on the list stay on it.

Response attributes 200 OK json

Response

{
  "success": true,
  "allowed_reviewers": [
    {
      "email": "dana.k@example.com"
    },
    {
      "email": "sam.r@example.com"
    }
  ]
}
  • success Boolean

    API call is executed successfully.

  • allowed_reviewers Array

    Reviewers that the project accepts after the call, one object per reviewer.

    β–Ά SHOW VALUES
    • email String

      Email of the allowed reviewer.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Download Copy Check Circle