Introduction

Overview

The Jama REST API has been designed to provide developers with a clean and straightforward experience for integrating with Jama. If you haven’t already, we encourage you to spend a little time getting acquainted with the Jama administration area as this will help you understand the language and configuration options that drove the design of the REST architecture.

For discussion and additional examples please visit our community. Support is limited to providing insight into which API calls might be useful. It is not in scope to write code snippets or provide training.

Availability

The REST API is available in our hosted SaaS instance Jamacloud and for on-premises customers running 8.0 or above.

Getting Access

REST is not enabled by default.

SaaS customers will need to send a request to support via the portal http://support.jamasoftware.com or email support@jamasoftware.com.

On-premises customers can enable REST via system administration.

Using Swagger

Swagger is an interactive documentation tool used with REST API. This tool is available to users with a valid login and REST enabled. Swagger can be accessed through {Context-Path}/api-docs/

If you are not logged in, the login page will display and then take you to Swagger: If your instance of Jama does not have REST enabled you will receive this message:
“Can't read swagger JSON from {Context-Path}/rest/latest/api-docs”

A list of resources will be displayed and you can explore all of the supported endpoints.

Resource List

Each endpoint will detail its parameters, request object, and response object, as well as which parameters are required.

Endpoints

Fill out the desired parameters and forms and click "Try it out!" A response will be returned from the server, along with the formatted URL:

Try It Out

To quickly obtain the schema for a request object, click Model Schema and click on the formatted JSON in the window. A sample model will be loaded in the Body window to the left and the JSON can now be edited:

Schema

Authentication

Basic Authentication

Most rest clients have an easy interface for basic authentication. You must provide your username and password in the header of the request following the RFC 2617 standard

Note: This type of authentication will not work in a SAML/SSO environment.

Examples for username: “myusername” and password: “mypassword”

Header
Authorization: Basic bXl1c2VybmFtZTpteXBhc3N3b3Jk

Curl Example
curl -u myusername:mypassword http://basepath/rest/v1/projects

OAuth

Jamacloud Hosted SAML (SSO) users can use authenticate REST calls via OAuth. Please contact support for credentials.

Getting Ready

To use OAuth as your method of authentication with the Jama application, you will need the following:

  • A client application that supports OAuth, specifically the client credentials "flow" or "grant type". This means that your client application will take a client ID and client secret
  • Client credentials, specifically a client ID and client secret. You would obtain these from Jama support. You cannot at this time create your own client credentials through the Jama application. Note that the client ID is not the same as the corresponding, existing Jama user name

OAuth as a method of authentication with the Jama application can be used for the REST API only.

Legs

The client credentials flow as implemented by the Jama OAuth service has the following two legs:

  1. Exchange client credentials for an access token (once)
  2. Make request to the REST API using the access token (repeatedly)

Repeat when the access token expires. (The Jama OAuth service does at this time not support refresh tokens. You will have to observe the expiration time that is returned when exchanging client credentials for an access token. The duration that your access token is valid may be different between Jama servers.)

Exchange Client Credentials

The goal of this leg is to exchange client credentials (specifically a client ID and client secret) for an access token.

Make a request as follows:

  • Request: POST
  • Target: /rest/oauth/token on your instance of the Jama application, e.g.: https://xyz.jamacloud.com/rest/oauth/token
  • Data: grant_type=client_credentials
  • Authentication: HTTP Basic Authentication with client ID as user name, client secret as password

If your connection library does not support HTTP Basic Authentication, you may consider adding an additional header:

  • Name: "Authorization", value: "Basic AUTHORIZATION", where AUTHORIZATION is a Base64-encoded presentation of "ID:SECRET", where ID is the client ID and SECRET is the client secret

This will return a response that includes an access_token field, which is the access token used for the next leg. It also includes an expires_in field, which is the number of seconds until the access token expires (1 hour is the default). The access token can be used many times, until it expires.

Here is an example using curl for a client ID test123:

	$ curl --request POST http://test123:EC231BA29695BF2CBAB6@localhost:8080/contour/rest/oauth/token \
--data grant_type=client_credentials \
{ "access_token":"eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDQ5MjI4OTcsInNjb3BlIjpbInJlYWQiXSwianRpIjoiNTQ3N2... (et cetera)", "token_type":"bearer", "expires_in":3599, "scope":"token_information", "application_data":{ "JAMA_CORE":"sample" }, "tenant":"default", "jti":"d480b154-4e5e-446b-beec-2f1b7cdc0e35" }

REST API Request

The goal of this leg is to make a request to the REST API using the access token from the previous leg.

Make a normal request to the REST API, except instead of HTTP Basic Authentication, add an additional header:

  • Name: Authorization, value "Bearer AUTHORIZATION", where AUTHORIZATION is the access_token from the previous leg

This will return a normal response from the REST API.

Here is an example using curl to make a request to the /users REST API endpoint:

 
	$ curl --request GET http://localhost:8080/contour/rest/v1/users/current
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDQ5MjI4OTcsInNjb3BlIjpbInJlYWQiXSwianRpIjoiNTQ3N2... (et cetera)"
{ "meta":{ "status":"OK", "timestamp":"2015-10-28T22:33:16.524+0000" }, "links":{}, "data":{ "id":5, "username":"sample", "firstName":"Sample", "lastName":"User", "email":"admin@my.domain.com", "phone":"", "title":"", "location":"", "licenseType":"NAMED", "active":true, "type":"users" } }

Release Updates

Release Updates

3/25/2017 - 8.14

Test Runs include the version of the test case it was created from and the current version of the test case.

Testruns returned with group order within cycle.

Each testrun indicates its sort order within the test group it belonged to when the test cycle was created or edited.

Test Cycles include version endpoints.

New options to retrieve testrun.

Query Params:

  • testPlan=(id of testplan)
      - Muliple test plans allowed. This group is OR together
  • testCycle=(id of testcycle)
      - Multiple test cycles allowed. This group is OR together
  • testCase=(id of testCase)
      - Multiple test cases allowed This group is OR together
  • The different types of query params are always AND together.
    e.g. (TP1 || TP2 || TP3 || ....) && (TC1 || TC2 || TC3 || ....) && (TCy1 || TCy2 || TCy3 || ....)
  • If the ID does not match the type, it does not error. ID will not make any matches. If no testPlan, TestCycle, or testCase is provided, return 0 results.
  •  

Defect Fix: Querying /activities/?objectType=TEST_CYCLE, TEST_RUN, TEST_CASE, or TEST_RESULT returns no items.

 

Defect Fix: Retrieving non-Explorer tree content via abstractitems endpoint may not return all items as indicated by the total results.

2/25/2017 - 8.13 (HOSTED)

Edit Read Only Fields

A new option is available with the item type field configuration allows for non-system read only fields to be editable via the REST API. This option is targeted at integrations that need data represented in Jama, but not editable by a user. An example would be a JIRA URL for a synced item.

Location on Baselines versioneditems

When a baseline is created, the system records the location of the included items as part of the baseline and is now available via REST. The location data is important for anyone attempting to recreate a document or archive this data in the same order as it was originally reviewed. Please note this information is not available on all versionitems as the location is only preserved when a baseline is created.

get /baselines/{baselineId}/versioneditems

1/27/2017

Two new efficiency options:

  • include parameter
    This parameter provides the ability to pull the content from linked objects to reduce the number of requests needed to retrieve information.
  • PATCH
    PATCH allows for partial updates to items, testcycles, testplans, and testruns resources.

And the first option to help with administration. Picklist options can now be managed via:

  • post /picklists/{picklistId}/options
  • put /picklistoptions/{picklistOptionId}

4/15/2016

REST out of Beta and available to on-premises customers using 8.0 or above.

All customers running 8.0 or above of Jama has access and support to REST.

Hosted 2/20/2016

The new group resource provides the ability to retrieve all groups in the system, determine membership and include/exclude users. User provisioning is now possible by combining Groups with the existing user resource.

Hosted 1/23/2016

Two new resources available.

  • Baselines - Retrieve all baselines within a project, the details about each baseline and the versioned items that make up each baseline.
  • Releases - Manage a project’s release values.

Three new endpoints for retrieving an item’s version description and details. Attachments, testplans and testruns also include these new endpoints.

  • get /items/{id}/versions
    retrieve list of version description/metadata for an item
  • get /items/{id}/versions/{versionNum}
    retrieve the specified version description/metadata for an item
  • get /items/{id}/versions/{versionNum}/versioneditem
    retrieve the specified item version

And finally, a documentKey specific parameter available on abstractitems that provides the ability to retrieve an item or list of items by the user known identifier, documentKey.

  • get /abstractitems?documentKey={documentKey}

Hosted 12/12/2015

Swagger upgraded to version 2. This is the documentation engine behind Jama's api-docs.

Two new endpoints added that provide ability to move collections between projects.

  • get /items/{id}/location
    Get the location for the item with the specified ID
  • put /items/{id}/location
    Update the location for the item with the specified ID as an asynchronous request (a successful response signifies that the work was started and a work identifier is given. This identifier will be used in a future feature). Any child items are moved along with this item. Note that this currently only supports moving items between projects.

Important Features

Include Parameter

This parameter provides the ability to pull the content from linked objects to reduce the number of requests needed to retrieve information. For a great overview in how our design came about and the thoughts that went into to it please read http://www.jamasoftware.com/blog/rest-api-design/.

Example Request:


curl -X GET --header "Accept: application/json"
"https://www.jamaland.com/rest/latest/items/2737149?include=data.fields.priority&include=data.project"
								

The response includes a new linked section:


"linked": {
  "projects": {
    "24114": {
      "id": 24114,
      "projectKey": "API",
      "isFolder": false,
      "createdDate": "2014-06-05T11:12:01.000+0000",
      "modifiedDate": "2016-01-19T19:28:57.000+0000",
      "createdBy": 22374,
      "modifiedBy": 21798,
      "fields": {
        "projectManager": 21798,
        "user1": 22374,
        "projectKey": "API",
        "statusId": 178902,
        "text1": "",
        "name": "REST API",
        "description": "",
        "projectGroup": 178905
      },
      "type": "projects"
    }
  },
  "picklistoptions": {
    "178888": {
      "id": 178888,
      "name": "High",
      "description": "",
      "value": "5",
      "active": true,
      "color": "9CE78C",
      "sortOrder": 4,
      "pickList": 102546,
      "default": false,
      "type": "picklistoptions"
    }
  }
},

PATCH

The PATCH http verb is available for items, testcycles, testplans, and testruns resources.

 

PATCH allows for partial updates of REST resources. You do not have to have the entire object (e.g. Request Item required for PUT) to make an update. A list of Request Operations is used to transform the current version of the object.

JSON Payload: Request Patch Operation

For PATCH /items/id, you will provide a list of changes you want to make. This is based off of RFC 6902. Currently we support add, replace, and remove.

This operation sets the value to the field in the path. The field at the path must exist. Value is required.

{
  "op": "replace",
  "path": "/fields/name",
  "value": "New Updated Name"
}

This operation clears the value of the field in the path. The field at the path must exist. Value does not need to be set.

{
  "op": "remove"
  "path": "/fields/description"
}

This operation sets the value to the field in the path. If the field does not exist at the path, it is added. Value is required.

{
  "op": "add"
  "path": "/fields/customField$12",
  "value" : "Hello!"
}

Notes

  • Paths always reference what you would expect to see in a request object JSON payload for the PUT endpoint of the resource you are working with. This means you must provide the $ suffix on custom field names (see the "add" operation above).
  • Expect new 400 errors.
    • "no such path in target JSON document" - Check that the path is possible on the Request Object for the resource. A field will not show up in the request object if it is currently null.
    • "The value you provided could not be set at the path." - Check that the value matches the type at the path. i.e. Are you trying to set an integer to a string field?
  • Remove will ensure that the attribute in the path is cleared. A valid path must be provided.
  • You may provide JSON objects with nested values as the 'value' of a Request Patch Operation. For example, you may replace an items location with a whole Request Location.
"value": { "parent": { "item": 99 } }

Paginated Lists

The API provides strict pagination to reduce load on the application.

  • startIndex - Integer that describes the current response’s offset into the list of all results.
  • resultCount - Integer that describes the max number of items returned per page. The default response is 20 items, however an upper limit of 50 can be provided.
  • totalResults - Integer that descrives total amount of items available in list.

Date Format

The Date format used is based on the ISO 8601 standard, but has additional restrictions. The time field and the timezone must be included. For example, July 1st 2015, 11 AM in GMT would be written as 2015-07-01T11:00:00.000+0000. Note that the UTC offset is required, because Jama uses UTC time to avoid ambiguity. In this case the offset is +0000 for GMT. Jama will always respond with the +0000 offset.

Examples

Date or Time Accepted in Query Parameters Format from REST Response
June 18th 2015 2015-06-18T00:00:00.000+0000 2015-06-18T00:00:00.000+0000
July 4th 2011 @ 1:59pm PST 2011-07-4T13:59:00.000-0700 2011-07-4T20:59:00.000+0000

Note that date fields on items do not have time granularity. You will use yyyy-MM-dd format for these. E.g. 2015-09-05 for September 5th 2015.

Sample Response

Jama is extremely configurable by business users. At any time, an Organization Admin may choose to create, modify or remove an item type, which if you are not familiar, you can think of as an artifact. This means that Jama needs to provide developers with the ability to discover the available item types and the types of fields used, including pick list values. Any integration that hard codes these should expect surprises when the business decides they want a change several labels, add a new field or remove a pick list value.

Meta

The meta section provides an overview of the response and, when returning a list, the size of the list and the location within the pagination.

{
  "meta": {
  "status": "OK",
  "timestamp": "2015-09-10T23:05:53.856+0000",
  "pageInfo": {
    "startIndex": 0,
    "resultCount": 20,
    "totalResults": 37
  }
},

Links

The links section was designed to serve two purposes. First was to make the Jama content and configuration discoverable. Links are provided for easy retrieval of valid pick list values, item type description, related items, users or project. The second purpose of the design is to manage the size of the response and remove duplicate information. Some item types can have upwards of 50 fields and returning all content around a status pick list in each item would not be efficient.

"links": {
  "data.location.parent.item": {
    "type": "items",
    "href": "http://localhost:8080/jama/rest/latest/items/{data.location.parent.item}"
  },
  "data.modifiedBy": {
    "type": "users",
    "href": "http://localhost:8080/jama/rest/latest/users/{data.modifiedBy}"
  },
  "data.project": {
    "type": "projects",
    "href": "http://localhost:8080/jama/rest/latest/projects/{data.project}"
  },
  "data.createdBy": {
    "type": "users",
    "href": "http://localhost:8080/jama/rest/latest/users/{data.createdBy}"
  },
  "data.fields.priority": {
    "type": "picklistoptions",
    "href": "http://localhost:8080/jama/rest/latest/picklistoptions/{data.fields.priority}"
  },
  "data.fields.release": {
    "type": "release",
    "href": "http://localhost:8080/jama/rest/latest/release/{data.fields.release}"
  },
  "data.fields.status": {
    "type": "picklistoptions",
    "href": "http://localhost:8080/jama/rest/latest/picklistoptions/{data.fields.status}"
  },
  "data.itemType": {
    "type": "itemtypes",
    "href": "http://localhost:8080/jama/rest/latest/itemtypes/{data.itemType}"
  }
},

Data

The data section is broken up into two areas. The top area consists of the data that the system includes on every item within Jama. The “fields” section matches the fields configured on an item type and will match the content visible in the UI. Fields may be in both areas as an admin can opt to show system fields, such as createdBy, in an item’s detail view.

Note the “status”: value of 293 and be plugged into the above link to retrieve the details. http://localhost:8080/jama/rest/latest/picklistoptions/293

"data": {
  "id": 25,
  "documentKey": "CP-REQ-5",
  "globalId": "GID-25",
  "itemType": 24,
  "project": 1,
  "createdDate": "2014-09-09T03:32:21.000+0000",
  "modifiedDate": "2014-10-16T03:44:30.000+0000",
  "lastActivityDate": "2014-10-16T03:44:30.000+0000",
  "createdBy": 5,
  "modifiedBy": 5,
  "fields": {
    "documentKey": "CP-REQ-5",
    "globalId": "GID-25",
    "name": "Uploading of Patient Records",
    "description": "<p style=\"margin:0pt\"><span>Patients that agree to be managed ...</span></p>",
    "priority": 301,
    "status": 293,
    "release": 2
  }
},

Resources

The resources section provides a list of the available actions for the authenticated user. In the example below, the user that made this request can opt to read, update or delete the item.

"resources": {
  "self": {
    "allowed": [
      "GET",
      "PUT",
      "DELETE"
    ]
  }
},

Location

The location section is designed to present the data about an items location with a project’s explorer tree. These values are derived by the system and on the parent can be controlled via the REST API. This means that the specific order within a tree node cannot be set. Updating an item’s parent will place it at the bottom of that parent’s list of children items.

"location": {
  "sortOrder": 1,
  "globalSortOrder": 4063,
  "sequence": "2.1.7.1.2",
  "parent": {
    "item": 23
  }
},

Lock

The lock section handles the different locks that can be applied within Jama. A user may lock an item by editing an item, opting to lock an item for themselves or changing a workflow state that results in a locked item.

"lock": {
    "locked": false,
    "lastLockedDate": "2012-11-16T04:44:30.000+0000"
  },
  "type": "items"
}

Sample Header

Note that Jama only supports JSON but the Content-Type value is required

PUT /jama/rest/v1/items/23 HTTP/1.1
Host: localhost:8080
Authorization: Basic c2FtcGxlOnBhc3N3b3Jk
Content-Type: application/json
Cache-Control: no-cache

Common Response Codes

200 - OK
The request was processed successfully. This code gets returned after GET requests or PUT requests (if the PUT resulted in data being generated and returned).

201 - Created
The POST request was processed successfully.

204 - No Content
The DELETE request was processed successfully.

400 - Bad Request
The request could not be parsed or the parameters were not valid. The request should be modified before resubmitting.

401 - Unauthorized
Username/password is invalid or the user does not have access to the requested object.

404 - Not Found
Syntax is correct on the request, but does not exist at the location specified.

405 - Method Not Allowed
There is an issue with the way the request was made.

429 - Too many requests
Only returned for API throttling or system maintenance.

Versioning

The Jama REST API is versioned separately from the Jama product releases. Multiple API versions are supported in each Jama release in order to provide backwards compatibility.

To query which API versions are available issue a request like the following:

GET https://xyz.jamacloud.com/rest

Throttling

Jama’s SaaS environment "jamacloud" throttles API requests for REST and SOAP. The application servers have a maximum number of threads available for responding to API requests to prevent the system from being overwhelmed by aggressive integrations. Requests will be queued and the system will respond with a 429 when the queue is full or requests within the queue have timed out.

Jama will monitor API usage as integrations are built and continue to refine throttling and usage agreements as we gather information around usage.

Documentation

This is the documentation for the Jama REST API.

Version: latest

Endpoints

Most of the following endpoints consume the application/json media type according to the Content-Type request header.

Most of the following endpoints produce the application/json media type according to the Accept request header.

abstractitems

The abstractitems endpoint has the following operations:

  1. GET /abstractitems
  2. GET /abstractitems/{id}
  3. GET /abstractitems/{id}/versionedrelationships
  4. GET /abstractitems/{id}/versions
  5. GET /abstractitems/{id}/versions/{versionNum}
  6. GET /abstractitems/{id}/versions/{versionNum}/versioneditem

Below is more detail for each of the operations of the abstractitems endpoint.

GET /abstractitems

Summary: Search for items, test plans, test cycles, test runs, or attachments

Query parameters:

  • project (optional)
  • itemType (optional)
  • documentKey (optional)
  • release (optional)
  • createdDate (optional)
    Filter datetime fields after a single date or within a range of values. Provide one or two values in ISO8601 format (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • modifiedDate (optional)
    Filter datetime fields after a single date or within a range of values. Provide one or two values in ISO8601 format (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • lastActivityDate (optional)
    Filter datetime fields after a single date or within a range of values. Provide one or two values in ISO8601 format (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • contains (optional)
    Filter on the text contents of the item. Strings taken literally. Multiple ';contains'; values will be bitwise ORed.
  • sortBy (optional)
    Sort orders can be added with the name of the field by which to sort, followed by .asc or .desc (e.g. ';name.asc'; or ';modifiedDate.desc';). If not set, this defaults to sequence.asc.
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

GET /abstractitems/{id}

Summary: Get any item, test plan, test cycle, test run, or attachment with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractItem

GET /abstractitems/{id}/versionedrelationships

Summary: Get all versioned relationships that were associated to the item at the specified time

Path parameters:

  • id(required)

Query parameters:

  • timestamp (required)
    Get relationships for the specified item at this date and time. Requires ISO8601 formatting (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[VersionedRelationship]

GET /abstractitems/{id}/versions

Summary: Get all versions for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Version]

GET /abstractitems/{id}/versions/{versionNum}

Summary: Get the numbered version for the item with the specified ID

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Version

GET /abstractitems/{id}/versions/{versionNum}/versioneditem

Summary: Get the snapshot of the item at the specified version

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

activities

The activities endpoint has the following operations:

  1. GET /activities
  2. GET /activities/{activityId}
  3. GET /activities/{activityId}/affecteditems
  4. POST /activities/{activityId}/restore

Below is more detail for each of the operations of the activities endpoint.

GET /activities

Summary: Get all activities in the project with the specified ID

Query parameters:

  • project(required)
  • eventType (optional)
    Event type to filter on. More than one event type can be chosen
  • objectType (optional)
    Object type to filter on. More than one object type can be chosen
  • itemType (optional)
    ID of item type to filter on. More than one item type can be chosen
  • date (optional)
    Filter datetime fields after a single date or within a range of values. Provide one or two values in ISO8601 format (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • deleteEvents (optional)
    Get item delete events only
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Activity]

GET /activities/{activityId}

Summary: Get the activity with the specified ID

Path parameters:

  • activityId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Activity

GET /activities/{activityId}/affecteditems

Summary: Get all items affected by the activity with the specified ID

Path parameters:

  • activityId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

POST /activities/{activityId}/restore

Summary: Restore item(s) associated with a delete activity.

Path parameters:

  • activityId(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

attachments

The attachments endpoint has the following operations:

  1. GET /attachments/{attachmentId}
  2. GET /attachments/{attachmentId}/comments
  3. GET /attachments/{attachmentId}/file
  4. PUT /attachments/{attachmentId}/file
  5. GET /attachments/{attachmentId}/lock
  6. PUT /attachments/{attachmentId}/lock
  7. GET /attachments/{attachmentId}/versions
  8. GET /attachments/{attachmentId}/versions/{versionNum}
  9. GET /attachments/{attachmentId}/versions/{versionNum}/versioneditem

Below is more detail for each of the operations of the attachments endpoint.

GET /attachments/{attachmentId}

Summary: Get the attachment with the specified ID

Path parameters:

  • attachmentId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Attachment

GET /attachments/{attachmentId}/comments

Summary: Get all comments for the item with the specified ID

Path parameters:

  • attachmentId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • rootCommentsOnly (optional)
    , default value: false
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Comment]

GET /attachments/{attachmentId}/file

Summary: Download attachment file from the attachment with the specified ID

Path parameters:

  • attachmentId(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/octet-stream

Response:

PUT /attachments/{attachmentId}/file

Summary: Upload attachment file to the attachment with the specified ID

Path parameters:

  • attachmentId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • multipart/form-data

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /attachments/{attachmentId}/lock

Summary: Get the locked state, last locked date, and last locked by user for the item with the specified ID

Path parameters:

  • attachmentId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Lock

PUT /attachments/{attachmentId}/lock

Summary: Update the locked state of the item with the specified ID

Path parameters:

  • attachmentId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /attachments/{attachmentId}/versions

Summary: Get all versions for the item with the specified ID

Path parameters:

  • attachmentId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Version]

GET /attachments/{attachmentId}/versions/{versionNum}

Summary: Get the numbered version for the item with the specified ID

Path parameters:

  • versionNum(required)
  • attachmentId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Version

GET /attachments/{attachmentId}/versions/{versionNum}/versioneditem

Summary: Get the snapshot of the item at the specified version

Path parameters:

  • versionNum(required)
  • attachmentId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

baselines

The baselines endpoint has the following operations:

  1. GET /baselines
  2. GET /baselines/{baselineId}
  3. GET /baselines/{baselineId}/versioneditems
  4. GET /baselines/{baselineId}/versioneditems/{itemId}
  5. GET /baselines/{baselineId}/versioneditems/{itemId}/versionedrelationships

Below is more detail for each of the operations of the baselines endpoint.

GET /baselines

Summary: Get all baselines in the project with the specified ID

Query parameters:

  • project(required)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Baseline]

GET /baselines/{baselineId}

Summary: Get the baseline with the specified ID

Path parameters:

  • baselineId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Baseline

GET /baselines/{baselineId}/versioneditems

Summary: Get all items in a baseline with the specified ID

Path parameters:

  • baselineId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractItem]

GET /baselines/{baselineId}/versioneditems/{itemId}

Summary: Get the item with the specified ID in a baseline with the specified ID

Path parameters:

  • itemId(required)
  • baselineId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractItem

GET /baselines/{baselineId}/versioneditems/{itemId}/versionedrelationships

Summary: Get all versioned relationships for the item in the baseline

Path parameters:

  • itemId(required)
  • baselineId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[VersionedRelationship]

comments

The comments endpoint has the following operations:

  1. GET /comments
  2. POST /comments
  3. GET /comments/{id}
  4. GET /comments/{id}/replies

Below is more detail for each of the operations of the comments endpoint.

GET /comments

Summary: Get all comments viewable by the current user

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • rootCommentsOnly (optional)
    whether to show only root comments; true to get only root comments, without their comment replies, default value: false
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Comment]

POST /comments

Summary: Create a new comment

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /comments/{id}

Summary: Get the comment with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Comment

GET /comments/{id}/replies

Summary: Get all reply comments for the comment with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Comment

files

The files endpoint has the following operations:

  1. GET /files

Below is more detail for each of the operations of the files endpoint.

GET /files

Summary: Download attachment file from the attachment with the specified Jama URL

Query parameters:

  • url(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/octet-stream

Response:

filters

The filters endpoint has the following operations:

  1. GET /filters
  2. GET /filters/{id}
  3. GET /filters/{id}/results

Below is more detail for each of the operations of the filters endpoint.

GET /filters

Summary: Get all filters in the project with the specified ID viewable by the current user

Query parameters:

  • project(required)
  • author (optional)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Filter]

GET /filters/{id}

Summary: Get the filter with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Filter

GET /filters/{id}/results

Summary: Get all result items for the filter with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • project (optional)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

items

The items endpoint has the following operations:

  1. GET /items
  2. POST /items
  3. GET /items/{id}
  4. PUT /items/{id}
  5. DELETE /items/{id}
  6. PATCH /items/{id}
  7. GET /items/{id}/activities
  8. GET /items/{id}/attachments
  9. POST /items/{id}/attachments
  10. DELETE /items/{id}/attachments/{attachmentId}
  11. GET /items/{id}/children
  12. GET /items/{id}/comments
  13. GET /items/{id}/downstreamrelated
  14. GET /items/{id}/downstreamrelationships
  15. GET /items/{id}/links
  16. POST /items/{id}/links
  17. GET /items/{id}/links/{linkId}
  18. PUT /items/{id}/links/{linkId}
  19. DELETE /items/{id}/links/{linkId}
  20. GET /items/{id}/location
  21. PUT /items/{id}/location
  22. GET /items/{id}/lock
  23. PUT /items/{id}/lock
  24. GET /items/{id}/parent
  25. GET /items/{id}/synceditems
  26. POST /items/{id}/synceditems
  27. DELETE /items/{id}/synceditems/{syncedItemId}
  28. GET /items/{id}/synceditems/{syncedItemId}/syncstatus
  29. GET /items/{id}/tags
  30. POST /items/{id}/tags
  31. GET /items/{id}/tags/{tagId}
  32. DELETE /items/{id}/tags/{tagId}
  33. GET /items/{id}/upstreamrelated
  34. GET /items/{id}/upstreamrelationships
  35. GET /items/{id}/versions
  36. GET /items/{id}/versions/{versionNum}
  37. GET /items/{id}/versions/{versionNum}/versioneditem
  38. GET /items/{id}/workflowtransitionoptions
  39. POST /items/{id}/workflowtransitions

Below is more detail for each of the operations of the items endpoint.

GET /items

Summary: Get all items in the project with the specified ID

Query parameters:

  • project(required)
  • rootOnly (optional)
    Set this to true to only get root-level nodes from the item tree
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

POST /items

Summary: Create a new item

Body:

Query parameters:

  • setGlobalIdManually (optional)
    This value must be set to true if you attempt to manually set the Global ID field of an item

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}

Summary: Get the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

PUT /items/{id}

Summary: Update the item with the specified ID

Path parameters:

  • id(required)

Body:

Query parameters:

  • setGlobalIdManually (optional)
    This value must be set to true if you attempt to manually set the Global ID field of an item

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /items/{id}

Summary: Delete the item with the specified ID (item becomes inactive and can be un-deleted if necessary)

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

PATCH /items/{id}

Summary: Update the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/activities

Summary: Get all activities for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Activity]

GET /items/{id}/attachments

Summary: Get all attachments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Attachment]

POST /items/{id}/attachments

Summary: Add an existing attachment to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /items/{id}/attachments/{attachmentId}

Summary: Remove an existing attachment from the item

Path parameters:

  • attachmentId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/children

Summary: Get all children items for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

GET /items/{id}/comments

Summary: Get all comments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • rootCommentsOnly (optional)
    , default value: false
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Comment]

GET /items/{id}/downstreamrelated

Summary: Get all downstream related items for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

GET /items/{id}/downstreamrelationships

Summary: Get all downstream relationships for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /items/{id}/links

Summary: Get all links for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Link]

POST /items/{id}/links

Summary: Create a new link for the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/links/{linkId}

Summary: Get the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Link

PUT /items/{id}/links/{linkId}

Summary: Update the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /items/{id}/links/{linkId}

Summary: Delete the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/location

Summary: Get the location for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Location

PUT /items/{id}/location

Summary: Update the location for the item with the specified ID as an asynchronous request (a successful response signifies that the work was started and a work identifier is given. This identifier will be used in a future feature). Any child items are moved along with this item. Note that this currently only supports moving items between projects

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/lock

Summary: Get the locked state, last locked date, and last locked by user for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Lock

PUT /items/{id}/lock

Summary: Update the locked state of the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/parent

Summary: Get the parent item for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

GET /items/{id}/synceditems

Summary: Get all synchronized items for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

POST /items/{id}/synceditems

Summary: Add an existing item to the Global ID pool of the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /items/{id}/synceditems/{syncedItemId}

Summary: Remove an existing item from the Global ID pool of the item with the specified ID (break sync)

Path parameters:

  • syncedItemId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/synceditems/{syncedItemId}/syncstatus

Summary: Get the sync status for the synced item with the specified ID

Path parameters:

  • syncedItemId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: SyncStatus

GET /items/{id}/tags

Summary: Get all tags for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Tag]

POST /items/{id}/tags

Summary: Add an existing tag to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/tags/{tagId}

Summary: Get the tag with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Tag

DELETE /items/{id}/tags/{tagId}

Summary: Remove an existing tag from the item with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /items/{id}/upstreamrelated

Summary: Get all upstream related items for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

GET /items/{id}/upstreamrelationships

Summary: Get all upstream relationships for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /items/{id}/versions

Summary: Get all versions for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Version]

GET /items/{id}/versions/{versionNum}

Summary: Get the numbered version for the item with the specified ID

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Version

GET /items/{id}/versions/{versionNum}/versioneditem

Summary: Get the snapshot of the item at the specified version

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

GET /items/{id}/workflowtransitionoptions

Summary: Get all valid workflow transitions that can be made on the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[WorkflowTransition]

POST /items/{id}/workflowtransitions

Summary: Executes a workflow transition for the item with the specified ID. Valid transitions can be found at /items/{id}/workflowtransitionoptions

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

itemtypes

The itemtypes endpoint has the following operations:

  1. GET /itemtypes
  2. GET /itemtypes/{itemTypeId}

Below is more detail for each of the operations of the itemtypes endpoint.

GET /itemtypes

Summary: Get all item types

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[ItemType]

GET /itemtypes/{itemTypeId}

Summary: Get the item type with the specified ID

Path parameters:

  • itemTypeId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: ItemType

picklistoptions

The picklistoptions endpoint has the following operations:

  1. GET /picklistoptions/{picklistOptionId}
  2. PUT /picklistoptions/{picklistOptionId}

Below is more detail for each of the operations of the picklistoptions endpoint.

GET /picklistoptions/{picklistOptionId}

Summary: Get the pick list option with the specified ID

Path parameters:

  • picklistOptionId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: PickListOption

PUT /picklistoptions/{picklistOptionId}

Summary: Update the pick list option with the specified ID

Path parameters:

  • picklistOptionId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

picklists

The picklists endpoint has the following operations:

  1. GET /picklists
  2. GET /picklists/{picklistId}
  3. GET /picklists/{picklistId}/options
  4. POST /picklists/{picklistId}/options

Below is more detail for each of the operations of the picklists endpoint.

GET /picklists

Summary: Get all pick lists

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[PickList]

GET /picklists/{picklistId}

Summary: Get the pick list with the specified ID

Path parameters:

  • picklistId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: PickList

GET /picklists/{picklistId}/options

Summary: Get all pick list options for the pick list with the specified ID

Path parameters:

  • picklistId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[PickListOption]

POST /picklists/{picklistId}/options

Summary: Create a new pick list option for the pick list with the specified ID

Path parameters:

  • picklistId(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

projects

The projects endpoint has the following operations:

  1. GET /projects
  2. POST /projects
  3. GET /projects/{projectId}
  4. PUT /projects/{projectId}
  5. POST /projects/{projectId}/attachments
  6. GET /projects/{projectId}/itemtypes
  7. GET /projects/{projectId}/tags

Below is more detail for each of the operations of the projects endpoint.

GET /projects

Summary: Get all projects

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Project]

POST /projects

Summary: Create a new project

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /projects/{projectId}

Summary: Get the project with the specified ID

Path parameters:

  • projectId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Project

PUT /projects/{projectId}

Summary: Update the project with the specified ID

Path parameters:

  • projectId(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

POST /projects/{projectId}/attachments

Summary: Create a new attachment in the project with the specified ID

Path parameters:

  • projectId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /projects/{projectId}/itemtypes

Summary: Get all item types for the project with the specified ID

Path parameters:

  • projectId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[ItemType]

GET /projects/{projectId}/tags

Summary: Get all tags for the project with the specified ID

Path parameters:

  • projectId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Tag]

relationships

The relationships endpoint has the following operations:

  1. GET /relationships
  2. POST /relationships
  3. GET /relationships/{relationshipId}
  4. PUT /relationships/{relationshipId}
  5. DELETE /relationships/{relationshipId}
  6. DELETE /relationships/{relationshipId}/suspect

Below is more detail for each of the operations of the relationships endpoint.

GET /relationships

Summary: Get all relationships in the project with the specified ID

Query parameters:

  • project(required)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

POST /relationships

Summary: Create a new relationship

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /relationships/{relationshipId}

Summary: Get the relationship with the specified ID

Path parameters:

  • relationshipId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Relationship

PUT /relationships/{relationshipId}

Summary: Update the relationship with the specified ID

Path parameters:

  • relationshipId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /relationships/{relationshipId}

Summary: Delete the relationship with the specified ID

Path parameters:

  • relationshipId(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /relationships/{relationshipId}/suspect

Summary: Remove an existing suspect link for the relationship with the specified ID

Path parameters:

  • relationshipId(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

relationshiptypes

The relationshiptypes endpoint has the following operations:

  1. GET /relationshiptypes
  2. GET /relationshiptypes/{id}

Below is more detail for each of the operations of the relationshiptypes endpoint.

GET /relationshiptypes

Summary: Get all relationship types

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[RelationshipType]

GET /relationshiptypes/{id}

Summary: Get the relationship type with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • timestamp (optional)
    Get relationship type at this date and time. Requires ISO8601 formatting (milliseconds or seconds) - \"yyyy-MM-dd';T';HH:mm:ss.SSSZ\" or \"yyyy-MM-dd';T';HH:mm:ssZ\"
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: RelationshipType

releases

The releases endpoint has the following operations:

  1. GET /releases
  2. POST /releases
  3. GET /releases/{releaseId}
  4. PUT /releases/{releaseId}

Below is more detail for each of the operations of the releases endpoint.

GET /releases

Summary: Get all releases in the project with the specified ID

Query parameters:

  • project(required)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Release]

POST /releases

Summary: Create a new release

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /releases/{releaseId}

Summary: Get the release with the specified ID

Path parameters:

  • releaseId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Release

PUT /releases/{releaseId}

Summary: Update the release with the specified ID

Path parameters:

  • releaseId(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

system

The system endpoint has the following operations:

  1. GET /system/settings/corsdomains
  2. POST /system/settings/corsdomains

Below is more detail for each of the operations of the system endpoint.

GET /system/settings/corsdomains

Summary: Overwrite the current CORS Domain whitelist

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractRestResponse]

POST /system/settings/corsdomains

Summary: Get the current CORS domains whitelist

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

tags

The tags endpoint has the following operations:

  1. GET /tags
  2. POST /tags
  3. GET /tags/{id}
  4. PUT /tags/{id}
  5. DELETE /tags/{id}
  6. GET /tags/{id}/items

Below is more detail for each of the operations of the tags endpoint.

GET /tags

Summary: Get all tags for the project with the specified ID

Query parameters:

  • project(required)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Tag]

POST /tags

Summary: Create a new tag in the project with the specified ID

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /tags/{id}

Summary: Get the tag with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Tag

PUT /tags/{id}

Summary: Update the tag with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /tags/{id}

Summary: Delete the tag with the specified ID

Path parameters:

  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /tags/{id}/items

Summary: Get all items that have the tag with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

testcycles

The testcycles endpoint has the following operations:

  1. GET /testcycles/{testCycleId}
  2. PUT /testcycles/{testCycleId}
  3. DELETE /testcycles/{testCycleId}
  4. PATCH /testcycles/{testCycleId}
  5. GET /testcycles/{testCycleId}/testruns

Below is more detail for each of the operations of the testcycles endpoint.

GET /testcycles/{testCycleId}

Summary: Get the test cycle with the specified ID

Path parameters:

  • testCycleId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: TestCycle

PUT /testcycles/{testCycleId}

Summary: Update the test cycle with the specified ID, including regenerating the test runs in the test cycle

Path parameters:

  • testCycleId(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testcycles/{testCycleId}

Summary: Delete the test cycle with the specified ID, including the test runs in the test cycle

Path parameters:

  • testCycleId(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

PATCH /testcycles/{testCycleId}

Summary: Update the test cycle with the specified ID, including regenerating the test runs in the test cycle

Path parameters:

  • testCycleId(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testcycles/{testCycleId}/testruns

Summary: Get all test runs for the test cycle with the specified ID

Path parameters:

  • testCycleId(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: TestRun

testplans

The testplans endpoint has the following operations:

  1. GET /testplans
  2. POST /testplans
  3. GET /testplans/{id}
  4. PUT /testplans/{id}
  5. DELETE /testplans/{id}
  6. PATCH /testplans/{id}
  7. GET /testplans/{id}/activities
  8. PUT /testplans/{id}/archived
  9. GET /testplans/{id}/attachments
  10. POST /testplans/{id}/attachments
  11. DELETE /testplans/{id}/attachments/{attachmentId}
  12. GET /testplans/{id}/comments
  13. GET /testplans/{id}/downstreamrelated
  14. GET /testplans/{id}/downstreamrelationships
  15. GET /testplans/{id}/links
  16. POST /testplans/{id}/links
  17. GET /testplans/{id}/links/{linkId}
  18. PUT /testplans/{id}/links/{linkId}
  19. DELETE /testplans/{id}/links/{linkId}
  20. GET /testplans/{id}/lock
  21. PUT /testplans/{id}/lock
  22. GET /testplans/{id}/tags
  23. POST /testplans/{id}/tags
  24. GET /testplans/{id}/tags/{tagId}
  25. DELETE /testplans/{id}/tags/{tagId}
  26. GET /testplans/{id}/testcycles
  27. POST /testplans/{id}/testcycles
  28. GET /testplans/{id}/testgroups
  29. POST /testplans/{id}/testgroups
  30. GET /testplans/{id}/testgroups/{testGroupId}
  31. PUT /testplans/{id}/testgroups/{testGroupId}
  32. DELETE /testplans/{id}/testgroups/{testGroupId}
  33. GET /testplans/{id}/testgroups/{testGroupId}/testcases
  34. POST /testplans/{id}/testgroups/{testGroupId}/testcases
  35. GET /testplans/{id}/testgroups/{testGroupId}/testcases/{testCaseId}
  36. DELETE /testplans/{id}/testgroups/{testGroupId}/testcases/{testCaseId}
  37. GET /testplans/{id}/upstreamrelated
  38. GET /testplans/{id}/upstreamrelationships
  39. GET /testplans/{id}/versions
  40. GET /testplans/{id}/versions/{versionNum}
  41. GET /testplans/{id}/versions/{versionNum}/versioneditem

Below is more detail for each of the operations of the testplans endpoint.

GET /testplans

Summary: Get all test plans in the project with the specified ID

Query parameters:

  • project(required)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[TestPlan]

POST /testplans

Summary: Create a new test plan

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}

Summary: Get the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: TestPlan

PUT /testplans/{id}

Summary: Update the test plan with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testplans/{id}

Summary: Delete the test plan with the specified ID

Path parameters:

  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

PATCH /testplans/{id}

Summary: Update the test plan with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/activities

Summary: Get all activities for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Activity]

PUT /testplans/{id}/archived

Summary: Update the archived status of the test plan

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/attachments

Summary: Get all attachments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Attachment]

POST /testplans/{id}/attachments

Summary: Add an existing attachment to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testplans/{id}/attachments/{attachmentId}

Summary: Remove an existing attachment from the item

Path parameters:

  • attachmentId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/comments

Summary: Get all comments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • rootCommentsOnly (optional)
    , default value: false
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Comment]

GET /testplans/{id}/downstreamrelated

Summary: Get all downstream related items for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractItem]

GET /testplans/{id}/downstreamrelationships

Summary: Get all downstream relationships for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /testplans/{id}/links

Summary: Get all links for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Link]

POST /testplans/{id}/links

Summary: Create a new link for the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/links/{linkId}

Summary: Get the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Link

PUT /testplans/{id}/links/{linkId}

Summary: Update the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testplans/{id}/links/{linkId}

Summary: Delete the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/lock

Summary: Get the locked state, last locked date, and last locked by user for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Lock

PUT /testplans/{id}/lock

Summary: Update the locked state of the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/tags

Summary: Get all tags for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Tag]

POST /testplans/{id}/tags

Summary: Add an existing tag to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/tags/{tagId}

Summary: Get the tag with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Tag

DELETE /testplans/{id}/tags/{tagId}

Summary: Remove an existing tag from the item with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/testcycles

Summary: Get all test cycles for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[TestCycle]

POST /testplans/{id}/testcycles

Summary: Create a new test cycle

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/testgroups

Summary: Get all test groups for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[TestGroup]

POST /testplans/{id}/testgroups

Summary: Create a new test group to the test plan with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/testgroups/{testGroupId}

Summary: Get the test group with the specified ID

Path parameters:

  • testGroupId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: TestGroup

PUT /testplans/{id}/testgroups/{testGroupId}

Summary: Update the test group with the specified ID

Path parameters:

  • testGroupId(required)
  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testplans/{id}/testgroups/{testGroupId}

Summary: Delete the test group with the specified ID

Path parameters:

  • testGroupId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/testgroups/{testGroupId}/testcases

Summary: Get all test cases associated with the test group with the specified ID

Path parameters:

  • testGroupId(required)
  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Item]

POST /testplans/{id}/testgroups/{testGroupId}/testcases

Summary: Add an existing test case to the test group with the specified ID

Path parameters:

  • testGroupId(required)
  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/testgroups/{testGroupId}/testcases/{testCaseId}

Summary: Get the test case with the specified ID

Path parameters:

  • testCaseId(required)
  • testGroupId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

DELETE /testplans/{id}/testgroups/{testGroupId}/testcases/{testCaseId}

Summary: Remove an existing test case from the test group

Path parameters:

  • testCaseId(required)
  • testGroupId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testplans/{id}/upstreamrelated

Summary: Get all upstream related items for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractItem]

GET /testplans/{id}/upstreamrelationships

Summary: Get all upstream relationships for the test plan with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /testplans/{id}/versions

Summary: Get all versions for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Version]

GET /testplans/{id}/versions/{versionNum}

Summary: Get the numbered version for the item with the specified ID

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Version

GET /testplans/{id}/versions/{versionNum}/versioneditem

Summary: Get the snapshot of the item at the specified version

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

testruns

The testruns endpoint has the following operations:

  1. GET /testruns/{id}
  2. PUT /testruns/{id}
  3. PATCH /testruns/{id}
  4. GET /testruns/{id}/activities
  5. GET /testruns/{id}/attachments
  6. POST /testruns/{id}/attachments
  7. DELETE /testruns/{id}/attachments/{attachmentId}
  8. GET /testruns/{id}/comments
  9. GET /testruns/{id}/downstreamrelated
  10. GET /testruns/{id}/downstreamrelationships
  11. GET /testruns/{id}/links
  12. POST /testruns/{id}/links
  13. GET /testruns/{id}/links/{linkId}
  14. PUT /testruns/{id}/links/{linkId}
  15. DELETE /testruns/{id}/links/{linkId}
  16. GET /testruns/{id}/lock
  17. PUT /testruns/{id}/lock
  18. GET /testruns/{id}/tags
  19. POST /testruns/{id}/tags
  20. GET /testruns/{id}/tags/{tagId}
  21. DELETE /testruns/{id}/tags/{tagId}
  22. GET /testruns/{id}/upstreamrelated
  23. GET /testruns/{id}/upstreamrelationships
  24. GET /testruns/{id}/versions
  25. GET /testruns/{id}/versions/{versionNum}
  26. GET /testruns/{id}/versions/{versionNum}/versioneditem

Below is more detail for each of the operations of the testruns endpoint.

GET /testruns/{id}

Summary: Get the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: TestRun

PUT /testruns/{id}

Summary: Update the execution results for the test run with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

PATCH /testruns/{id}

Summary: Update the execution results for the test run with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/activities

Summary: Get all activities for the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Activity]

GET /testruns/{id}/attachments

Summary: Get all attachments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Attachment]

POST /testruns/{id}/attachments

Summary: Add an existing attachment to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testruns/{id}/attachments/{attachmentId}

Summary: Remove an existing attachment from the item

Path parameters:

  • attachmentId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/comments

Summary: Get all comments for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • rootCommentsOnly (optional)
    , default value: false
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Comment]

GET /testruns/{id}/downstreamrelated

Summary: Get all downstream related items for the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractItem]

GET /testruns/{id}/downstreamrelationships

Summary: Get all downstream relationships for the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /testruns/{id}/links

Summary: Get all links for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Link]

POST /testruns/{id}/links

Summary: Create a new link for the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/links/{linkId}

Summary: Get the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Link

PUT /testruns/{id}/links/{linkId}

Summary: Update the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /testruns/{id}/links/{linkId}

Summary: Delete the link with the specified ID

Path parameters:

  • linkId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/lock

Summary: Get the locked state, last locked date, and last locked by user for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Lock

PUT /testruns/{id}/lock

Summary: Update the locked state of the item with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/tags

Summary: Get all tags for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Tag]

POST /testruns/{id}/tags

Summary: Add an existing tag to the item with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/tags/{tagId}

Summary: Get the tag with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Tag

DELETE /testruns/{id}/tags/{tagId}

Summary: Remove an existing tag from the item with the specified ID

Path parameters:

  • tagId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /testruns/{id}/upstreamrelated

Summary: Get all upstream related items for the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[AbstractItem]

GET /testruns/{id}/upstreamrelationships

Summary: Get all upstream relationships for the test run with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Relationship]

GET /testruns/{id}/versions

Summary: Get all versions for the item with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Version]

GET /testruns/{id}/versions/{versionNum}

Summary: Get the numbered version for the item with the specified ID

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Version

GET /testruns/{id}/versions/{versionNum}/versioneditem

Summary: Get the snapshot of the item at the specified version

Path parameters:

  • versionNum(required)
  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: Item

usergroups

The usergroups endpoint has the following operations:

  1. GET /usergroups
  2. POST /usergroups
  3. GET /usergroups/{id}
  4. PUT /usergroups/{id}
  5. DELETE /usergroups/{id}
  6. GET /usergroups/{id}/users
  7. POST /usergroups/{id}/users
  8. DELETE /usergroups/{id}/users/{userId}

Below is more detail for each of the operations of the usergroups endpoint.

GET /usergroups

Summary: Get all user groups

Query parameters:

  • project (optional)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[UserGroup]

POST /usergroups

Summary: Create a new user group

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /usergroups/{id}

Summary: Get the user group with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: UserGroup

PUT /usergroups/{id}

Summary: Update the user group with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /usergroups/{id}

Summary: Delete the user group with the specified ID

Path parameters:

  • id(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /usergroups/{id}/users

Summary: Get all users for the user group with the specified ID

Path parameters:

  • id(required)

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[User]

POST /usergroups/{id}/users

Summary: Add an existing user to the user group with the specified ID

Path parameters:

  • id(required)

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

DELETE /usergroups/{id}/users/{userId}

Summary: Remove an existing user from the user group with the specified ID

Path parameters:

  • userId(required)
  • id(required)

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

users

The users endpoint has the following operations:

  1. GET /users
  2. POST /users
  3. GET /users/current
  4. GET /users/current/favoritefilters
  5. GET /users/{userId}
  6. PUT /users/{userId}
  7. PUT /users/{userId}/active

Below is more detail for each of the operations of the users endpoint.

GET /users

Summary: Get all users

Query parameters:

  • username (optional)
  • email (optional)
  • firstName (optional)
  • lastName (optional)
  • includeInactive (optional)
  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[User]

POST /users

Summary: Create a new user

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

GET /users/current

Summary: Gets the current user

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: User

GET /users/current/favoritefilters

Summary: Gets the current user';s favorite filters

Query parameters:

  • startAt (optional)
  • maxResults (optional)
    If not set, this defaults to 20. This cannot be larger than 50
  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: array[Filter]

GET /users/{userId}

Summary: Get the user with the specified ID

Path parameters:

  • userId(required)

Query parameters:

  • include (optional)
    Links to include as full objects in the linked map

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: User

PUT /users/{userId}

Summary: Update the user with the specified ID

Path parameters:

  • userId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

PUT /users/{userId}/active

Summary: Update the active status for the user with the specified ID

Path parameters:

  • userId(required)

Consumes: this API call consumes the following media types via the Content-Type request header:

  • application/json

Body:

Produces: API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header:

  • application/json

Response: AbstractRestResponse

AbstractItem

Name Required Type Notes
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

AbstractRestResponse

Name Required Type Notes
status required Integer
statusReasonPhrase required String
pageInfo required PageInfo
headers required map[String, array[String]]

Activity

Name Required Type Notes
id required Integer
date required Date
details required String
action required String
user required Integer ID of a user
userComment required String
item required Integer ID of an item
eventType required String
objectType required String

AllowedResource

Name Required Type Notes
allowed required array[String]

Attachment

Name Required Type Notes
lock required Lock
fileName required String
mimeType required String
fileSize required Integer
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

Baseline

Name Required Type Notes
id required Integer
name required String
description required String
createdDate required Date
createdBy required Integer ID of a user
project required Integer ID of a project
origin required BaselineOrigin

BaselineOrigin

Name Required Type Notes
project required Integer ID of a user
item required Integer ID of an item
filter required Integer ID of a filter
release required Integer ID of a release

BodyPart

Name Required Type Notes
contentDisposition required ContentDisposition
entity required Object
headers required map[String, array[String]]
mediaType required MediaType
messageBodyWorkers required MessageBodyWorkers
parent required MultiPart
providers required Providers
parameterizedHeaders required map[String, array[ParameterizedHeader]]

CollectionSummary

Name Required Type Notes
totalChildren required Integer
totalMissing required Integer
totalOutOfSync required Integer

Comment

Name Required Type Notes
id required Integer
inReplyTo required Integer ID of a comment
createdDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
deleted required Boolean
status required String
body required CommentBody
commentType required String
location required CommentLocation

CommentBody

Name Required Type Notes
text required String

CommentLocation

Name Required Type Notes
item required Integer ID of an item
project required Integer ID of a project

ContentDisposition

Name Required Type Notes
type required String
parameters required map[String, String]
fileName required String
creationDate required Date
modificationDate required Date
readDate required Date
size required Long

CrossOriginDomainWhiteList

Name Required Type Notes
domains required array[String]

Filter

Name Required Type Notes
id required Integer
name required String
author required Integer ID of a user
projectScope required String
specifiedProject required Integer ID of a project
filterQuery required FilterQuery
public required Boolean

FilterField

Name Required Type Notes
id required Integer
name required String
display required String
fieldDataType required String

FilterOrderRule

Name Required Type Notes
direction required String
field required FilterField

FilterQuery

Name Required Type Notes
name required String
rule required FilterRule
orderRules required array[FilterOrderRule]

FilterRule

Name Required Type Notes
field required FilterField
operator required String
values required array[String]
itemType required Integer ID of an item type
subQuery required FilterQuery
rules required array[FilterRule]

FormDataBodyPart

Name Required Type Notes
contentDisposition required ContentDisposition
entity required Object
headers required map[String, array[String]]
mediaType required MediaType
messageBodyWorkers required MessageBodyWorkers
parent required MultiPart
providers required Providers
simple required Boolean
formDataContentDisposition required FormDataContentDisposition
name required String
value required String
parameterizedHeaders required map[String, array[ParameterizedHeader]]

FormDataContentDisposition

Name Required Type Notes
type required String
parameters required map[String, String]
fileName required String
creationDate required Date
modificationDate required Date
readDate required Date
size required Long
name required String

FormDataMultiPart

Name Required Type Notes
contentDisposition required ContentDisposition
entity required Object
headers required map[String, array[String]]
mediaType required MediaType
messageBodyWorkers required MessageBodyWorkers
parent required MultiPart
providers required Providers
bodyParts required array[BodyPart]
fields required map[String, array[FormDataBodyPart]]
parameterizedHeaders required map[String, array[ParameterizedHeader]]

Item

Name Required Type Notes
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
childItemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
lock required Lock
location required Location
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

ItemType

Name Required Type Notes
id required Integer
typeKey required String
display required String
displayPlural required String
description required String
image required String
category required String
widgets required array[ItemTypeWidget]
fields required array[ItemTypeField]
system required Boolean

ItemTypeField

Name Required Type Notes
id required Integer
name required String
label required String
fieldType required String
readOnly required Boolean
required required Boolean
triggerSuspect required Boolean
synchronize required Boolean
pickList required Integer ID of a pick list
textType required String
itemType required Integer ID of an item type

ItemTypeWidget

Name Required Type Notes
name required String
synchronize required Boolean

Location

Name Required Type Notes
sortOrder required Integer
globalSortOrder required Integer
sequence required String
parent required Parent

Lock

Name Required Type Notes
locked required Boolean
lastLockedDate required Date
lockedBy required Integer ID of a user

MediaType

Name Required Type Notes
type required String
subtype required String
parameters required map[String, String]
wildcardType required Boolean
wildcardSubtype required Boolean

MessageBodyWorkers

Name Required Type Notes

MultiPart

Name Required Type Notes
contentDisposition required ContentDisposition
entity required Object
headers required map[String, array[String]]
mediaType required MediaType
messageBodyWorkers required MessageBodyWorkers
parent required MultiPart
providers required Providers
bodyParts required array[BodyPart]
parameterizedHeaders required map[String, array[ParameterizedHeader]]

PageInfo

Name Required Type Notes
startIndex required Integer
resultCount required Integer
totalResults required Integer

ParameterizedHeader

Name Required Type Notes
value required String
parameters required map[String, String]

Parent

Name Required Type Notes
project required Integer ID of a project
item required Integer ID of an item

PickList

Name Required Type Notes
id required Integer
name required String
description required String

PickListOption

Name Required Type Notes
id required Integer
name required String
description required String
default required Boolean
active required Boolean
color required String

Project

Name Required Type Notes
id required Integer
projectKey required String
parent required Integer ID of a project
isFolder required Boolean
createdDate required Date
modifiedDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
fields required map[String, Object]

Providers

Name Required Type Notes

Relationship

Name Required Type Notes
id required Integer
fromItem required Integer ID of an item
toItem required Integer ID of an item
relationshipType required Integer ID of a relationship type
suspect required Boolean

RelationshipType

Name Required Type Notes
id required Integer
name required String
isDefault required Boolean

Release

Name Required Type Notes
id required Integer
name required String
description required String
project required Integer ID of a project
releaseDate required Date
active required Boolean
archived required Boolean
itemCount required Integer

RequestActiveStatus

Name Required Type Notes
active required Boolean

RequestArchivedStatus

Name Required Type Notes
archived required Boolean

RequestAttachment

Name Required Type Notes
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

RequestComment

Name Required Type Notes
inReplyTo required Integer ID of a comment
body required RequestCommentBody
commentType required String
location required RequestCommentLocation

RequestCommentBody

Name Required Type Notes
text required String

RequestCommentLocation

Name Required Type Notes
item required Integer ID of an item
project required Integer ID of a project

RequestGroupUser

Name Required Type Notes
user required Integer

RequestItem

Name Required Type Notes
globalId required String Must use override if you want to set this value on POST.
project required Integer Only required when creating a new item (POST).
itemType required Integer ID of an item type
childItemType required Integer ID of an item type
location required RequestLocation
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

RequestItemAttachment

Name Required Type Notes
attachment required Integer

RequestItemSyncedItem

Name Required Type Notes
item required Integer ID of a item

RequestItemTag

Name Required Type Notes
tag required Integer

RequestLocation

Name Required Type Notes
parent required RequestParent This can point to either a project or a parent item at which this item is located, not both.

RequestLock

Name Required Type Notes
locked required Boolean

RequestMoveLocation

Name Required Type Notes
parent required RequestMoveParent

RequestMoveParent

Name Required Type Notes
project required Integer ID of an project

RequestParent

Name Required Type Notes
item required Integer ID of an item. If this is included, the item of this payload will be located at this parent item. If this is not included, the item will be located at the root of the project.
project required Integer ID of an project. If this is included, the item of this payload will be located at the root of the project, and a parent item cannot be specified. This value will be inferred by the \"project\" property at the root of the payload when a parent location is not specified.

RequestPickListOption

Name Required Type Notes
description required String
name required String
value required String
color required String
sortOrder required Integer
default required Boolean

RequestProject

Name Required Type Notes
projectKey required String Not Required if isFolder is true
isFolder required Boolean
parent required Integer parent project
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Project\", \"status\": 292, \"release\": 2, \"projectManager\": 23}

RequestRelationship

Name Required Type Notes
fromItem required Integer
toItem required Integer
relationshipType required Integer Relationships will be created with the default type when providing a null or invalid relationship type

RequestRelease

Name Required Type Notes
name required String
description required String
releaseDate required String
project required Integer

RequestTag

Name Required Type Notes
name required String
project required Integer Only required on tag creation (POST)

RequestTestCycle

Name Required Type Notes
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"startDate\": \"2015-01-01\", \"endDate\": \"2015-01-15\"} Note: RequestTestCycle requires name, startDate, and endDate. startDate and endDate are formatted with 'yyyy-mm-dd'
testRunGenerationConfig required TestRunGenerationConfig Settings for how test runs will be generated in this test cycle

RequestTestGroup

Name Required Type Notes
name required String
assignedTo required Integer ID of a user

RequestTestGroupTestCase

Name Required Type Notes
testCase required Integer

RequestTestPlan

Name Required Type Notes
project required Integer Only required when creating a new test plan (POST).
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

RequestTestRun

Name Required Type Notes
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

RequestTransition

Name Required Type Notes
transitionId required String
comment required String

RequestUser

Name Required Type Notes
username required String Required when creating a new user (POST). Optional on update (PUT)
password required String Required when creating a new user (POST). Not valid on update (PUT)
firstName required String Required when creating a new user (POST). Optional on update (PUT)
lastName required String Required when creating a new user (POST). Optional on update (PUT)
email required String Required when creating a new user (POST). Optional on update (PUT)
phone required String
title required String
location required String
licenseType required String Required when creating a new user (POST). Optional on update (PUT)

SyncStatus

Name Required Type Notes
inSync required Boolean
collectionSummary required CollectionSummary

Tag

Name Required Type Notes
id required Integer
name required String
project required Integer ID of a project

TestCycle

Name Required Type Notes
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

TestGroup

Name Required Type Notes
id required Integer
name required String
assignedTo required Integer ID of a user

TestPlan

Name Required Type Notes
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}
archived required Boolean

TestRun

Name Required Type Notes
id required Integer
documentKey required String
globalId required String
project required Integer ID of a project
itemType required Integer ID of an item type
createdDate required Date
modifiedDate required Date
lastActivityDate required Date
createdBy required Integer ID of a user
modifiedBy required Integer ID of a user
testCaseVersionNumber required Integer
resources required map[String, AllowedResource] A set of resources and allowed permissions
fields required map[String, Object] A map of field names to field values e.g. {\"name\":\"Sample Item\", \"status\": 292, \"release\": 2, \"assigned\": 23}

TestRunGenerationConfig

Name Required Type Notes
testGroupsToInclude required array[Integer] The Test Group IDs of the Test Groups from which you would like to generate Test Runs. Do not specify anything to include all groups.
testRunStatusesToInclude required array[String] Only valid after generating the first Test Cycle, you may choose to only generate Test Runs that were a specified status in the previous cycle. Do not specify anything to include all statuses

User

Name Required Type Notes
id required Integer
username required String
firstName required String
lastName required String
email required String
phone required String
title required String
location required String
licenseType required String
avatarUrl required String
active required Boolean

UserGroup

Name Required Type Notes
id required Integer
name required String
description required String
project required Integer ID of a project

Version

Name Required Type Notes
versionedItem required array[Integer] Item ID and version number for a versioned item
item required Integer ID of an item
versionNumber required Integer
changeDetails required String
comment required String
createdDate required Date
createdBy required Integer ID of a user

VersionedRelationship

Name Required Type Notes
id required Integer
fromItem required array[Integer] ID of an version
toItem required array[Integer] ID of an version
suspect required Boolean
relationshipType required array[Object] ID of an version

WorkflowTransition

Name Required Type Notes
id required String
action required String
newStatus required Integer ID of a pick list option