---
title: "Create regression testing items in batch"
method: POST
path: "/app/{appId}/regressionItems/batch"
tags: ["regressionTesting"]
---

# Create regression testing items in batch

`POST /app/{appId}/regressionItems/batch`

## Request

- Base URL: `https://api.runway.team`
- URL: `https://api.runway.team/app/{appId}/regressionItems/batch`
- Auth: API key in header `X-API-Key`

Attempts to create each regression testing item in the request and continues when individual items fail. The response includes both successfully created items and per-item errors. For apps using FlightPaths with multiple destinations, include `stepConfigId` on each item when the target regression step would otherwise be ambiguous. One-off items (`oneOffForVersion` set) on FlightPaths apps can be created with an initial `status`, which avoids a separate status update per item; items whose `status` is invalid are reported in `errors` and the rest are still created.

## Path parameters

- `appId` string, required

## Request body

- CreateRegressionItemsBatchRequestBody
  - `items` CreateApprovalOrRegressionTestingItemRequestBody[], required: The regression testing items to create. The API attempts every item and returns both created items and per-item errors.
    - `title` string, required: Title of the approval or regression testing item
    - `description` string: Description of the approval or regression testing item
    - `approverGroups` UserGroup[]: The list of user groups that can approve or update this item
    - `owners` string[]: List of user ids allowed to approve or update item
    - `notifyEnabled` boolean: Will send a notification when item is updated.
    - `oneOffForVersion` string: Nullable, approval or regression testing item will only appear in this version
    - `stepConfigId` string: Nullable - if using FlightPaths, the id of a specific approvals or regression testing step config for which to create the item
    - `status` 'approved' | 'rejected' | 'inProgress' | 'blocked' | 'passed' | 'failed': All possible statuses for a checklist item

## Response `200`

A batch checklist item creation response

- BatchCreateChecklistItemsResponse
  - `requestedCount` integer, required: The number of items requested in the batch
  - `createdCount` integer, required: The number of items successfully created
  - `errorCount` integer, required: The number of items that failed to create
  - `createdItems` ChecklistItemEntity[], required: The items that were created successfully
    - `id` string, required: The identifier of the checklist item
    - `title` string, required: The title of the checklist item
    - `description` string: The description of the checklist item. Accepts markdown.
    - `approverGroups` UserGroup[], required: The list of user groups that can approve this checklist item. Custom groups can be included as well.
    - `releaseType` 'all' | 'hotfixOnly' | 'rollbackOnly' | 'allExceptHotfix', required: The type of release this checklist item will appear on
    - `notifyEnabled` boolean, required: Whether the checklist item will notify on Slack when its status changes
    - `statuses` ChecklistItemStatusType[], required: The list of possible checklist item status types for this checklist item. A subset of all possible ChecklistItemStatusType values
    - `releaseStepType` string: The release step that the checklist item appears on. Will be `null` if the placement of the item is not `binary`. Can either be of type ReleaseStepType, or a step's Step ID can be sent instead
    - `stepId` unknown
    - `oneOffForVersion` string: If the checklist item only applies for a single release version, this field will contain the version string for that version
    - `status` ChecklistItemStatus: The status of a checklist item
      - `status` 'approved' | 'rejected' | 'inProgress' | 'blocked' | 'passed' | 'failed', required: All possible statuses for a checklist item
      - `createdBy` string, required: The userId (email) of the user that created the checklist item
      - `createdAt` string, date-time, required: The date and time the checklist item was created
    - `placement` 'stepChecklist' | 'approvals' | 'regressionTesting', required: The placement of a given checklist item
    - `comment` ChecklistItemComment: A comment on a checklist item
      - `createdAt` string, date-time
      - `createdBy` string: The user id (email) of the user that added the comment
      - `comment` string: The comment string. Can be markdown.
  - `errors` BatchCreateChecklistItemError[], required: Per-item failures for requests that could not be created
    - `index` integer, required: The zero-based index of the item in the request payload
    - `title` string: The title of the item that failed, when provided
    - `error` string, required: The error message for the failed item

## Other responses

- `400`: Bad request response
- `404`: Resource not found response

---

[API](https://skmtc.dev/runway/apis/runway-rest-api.md) - [All operations](https://skmtc.dev/runway/apis/runway-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runway/apis/runway-rest-api/revisions/081109863a9a?raw)
