Applies to QAComplete 14.4, last modified on May 20, 2024

Creates a new release in the specified QAComplete project.

Use the operation to create a new release in the specified project in QAComplete.

To update all the fields of a release, use the …/releases/{Id} (PUT) operation. To update specific fields of the release, use the …/releases/{Id} (PATCH) operation.


Basic authentication using a user’s login and password. See Authentication for details.

Security Rights

The authenticating user must belong to a security group that has the Add privilege for Releases.

Request Format

To create a release, send a POST request to the following URL:

URL parameters

ProjectId  :  integer, required

The ID of the project, to which you want to add a release.

Body parameters

In the request body, pass the RequestReleasePost object that describes the release to be created.

  "FolderId": "int",
  "ParentId": "int",
  "ReleaseType": "string",
  "Title": "string",
  "Description": "string",
  "OwnerUserId": "int",
  "AssigneeUserId": "int",
  "IsAutoAdjustEstDates": "boolean",
  "StatusCode": "string",
  "IsActive": "boolean",
  "CustomFields": [
    "Id": "string",
    "Name": "string",
    "Value": "string"
  "EstStartDate": "Date",
  "EstFinishDate": "Date",
  "SeqNum": "int"

Some string property values (for example, StatusCode) are based on choice lists defined in your QAComplete project. You can find these values in Releases > Actions > Manage Choice Lists in QAComplete.

FolderId  :  integer

The ID of the folder you want to contain the release. 0, if the release should not be placed in a folder.

ParentId  :  integer

The ID of the new release’s parent release.

ReleaseType  :  string, required

Should be Release, Iteration, or Build.

Note: For builds and iterations, make sure to specify ParentId.

Title  :  string, required

The release’s title.

Description  :  string

The release’s description.

OwnerUserId  :  integer

The ID of the release’s owner.

AssigneeUserId  :  integer

The ID of the release’s assignee user.

IsAutoAdjustEstDates  :  boolean

Defines whether QAComplete should automatically adjust estimated dates for this release. Default value: false.

StatusCode  :  string, required

The release’s status code.

IsActive  :  boolean

Defines whether the release is active. Default value: false.

CustomFields  :  object

An array of CustomFields objects that describe custom fields and their values:

  "Id": "string",
  "Name": "string",
  "Value": "string"

Id  :  string, required

The unique identifier of the custom field. Must be in the CustomN format, where N is the custom field’s number (index).

Name  :  string

The field name.

Value  :  string

The field value.

EstStartDate  :  dateTime, required

Estimated start date for working on the release.

EstFinishDate  :  dateTime, required

Estimated finish date for working on the release.

SeqNum  :  integer, required

Number of the release in sequence.

A sample request:

Connection: keep-alive
Content-Type: application/json
Accept: application/json
Authorization: Basic am9obkBleGFtcGxlLmNvbTpwQHNzd29yZA==
Content-Length: 245

"ReleaseType": "Release",
"Title": "The Sample Release",
"StatusCode": "In Progress",
"EstStartDate": "2/27/2017 12:00:00 AM",
"EstFinishDate": "3/27/2017 12:00:00 AM",
"SeqNum": 2

A sample request made by using cURL:

curl -u [email protected]:p@ssword -d @release.txt -H "Content-Type: application/json" -H "Accept: application/json"

Response Format

If successful, the operation responds with HTTP status code 200. The response is a JSON object with information on the new release.

A sample response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 842

  "id": 145910,
  "project_id": 11873,
  "folder_id": 0,
  "release_id": 145910,
  "parent_id": 0,
  "release_type": "Release",
  "title": "The Sample Release",
  "owner_user_id: 135027,
  "assignee_user_id": 0,
  "is_auto_adjust_est_dates": false,
  "date_created": "2017-01-06T09:46:32.3100000",
  "date_updated": "2017-01-06T09:46:32.3100000",
  "create_user_id": 135027,
  "update_user_id": 135027,
  "is_active": false,
  "status_code": "In Progress",
  "est_start_date": "2012-02-27T00:00:00.0000000",
  "est_finish_date": "2012-03-27T00:00:00.0000000",
  "seq_num": 2,
  "import_id": 0,
  "parent_name": "",
  "updated_user_name": "Smith, John",
  "created_user_name": "Smith, John",
  "custom_fields": [],
  "__permissions": {
"acl": 7

Error responses

If the operation fails, it returns the appropriate status code and (optionally) the error description in the response body.

If the project with the specified ProjectId does not exist or the authenticating user does not have rights to access the project, the operation returns the Access is denied error.

See Also

Releases Resources

Highlight search results