API Operations

Data Transfer Objects

The Issuetrak API uses the concept of Data Transfer Objects (DTOs) to represent the serialized input to API operation endpoints for API methods that use the POST and PUT HTTP verbs and to represent the serialized output from API operations where a response object is expected.


 

Date Serialization

For serializing dates, the Issuetrak API uses the ISO 8601 standard.

Example:

The date February 27, 2014, at 11:30:10 AM, is represented in the ISO 8601 standard as: 2014-02-27T11:30:10.0000000.


 

Data Serialization

The Issuetrak API supports two serialization formats: JSON and XML. The documentation assumes the use of JSON; however, the Issuetrak API Swagger UI demonstrates the alternate serialization response schema for XML if an XML implementation is desired.


 

ExtensionData and MetaData Objects

For API operation responses that generate DTOs or collections of DTOs, there are two additional properties that will be present within each of the DTO instances, “ExtensionData” and “Metadata”.

The ExtensionData property represents a collection of key / value pairs and is intended to provide a container for conveying data that is external to an established data contract. One of the primary uses of this property would be to convey data from a future version of a DTO contract (e.g., a future version of a response DTO from a version X implementation of the Issuetrak API) to a previous DTO version.

The Metadata property represents a collection of key / value pairs and is intended to provide a container for conveying data that pertinent to the individual API operation. For API operations that produce response DTO instances, the Metadata collection will include at least two properties: “APIVersion” and “QueryDate”. The “APIVersion” property will provide a text representation of the version of the API used to generate the response, e.g., “v1”. The “QueryDate” property will provide an ISO 8601 serialized date representing the date-time that the API operation was run.

API Operations for APIMETADATA

API Operations for Attachments

API Operations for Causes

API Operations for Classes

API Operations for Departments

API Operations for Issues

API Operations for IssueTypes

Summary

Operation Name: Retrieve an IssueType by IssueType ID
Relative API Request Path: ~/api/v1/issuetypes/{issueTypeID}
HTTP Verb: GET
Description: Retrieve a single IssueType by IssueType ID.

Operation Name: Retrieve all IssueTypes
Relative API Request Path: ~/api/v1/issuetypes
HTTP Verb: GET
Description: Retrieve a collection of currently defined IssueTypes.


 

Retrieve an IssueType by IssueType ID

Description: This API method retrieves an IssueType from the Issuetrak data store for a specified IssueType ID. The “issueTypeID” parameter must correspond to an existing IssueType. If there is no such IssueType ID, an error message will be returned with an HTTP response status code of 404.

When retrieving an IssueType using the API, no special character decoding (e.g., HTML decoding &lt; as < or &gt; as >) is performed. Therefore, please note that the IssueTypeName returned via the API method represents the IssueTypeName as stored within the Issuetrak database. Thus, when retrieving an IssueType created through the Issuetrak web interface where HTML encoding of the IssueTypeName is performed, the API consumer may desire to perform additional client-side decoding.

A successful response will include an HTTP status code of 200 (OK) and a response body containing a serialized ReadIssueTypeDTO instance.

ReadIssueTypeDTO{
  ExtensionData (Array[CustomKeyValuePairDataElement], optional),
  Metadata (Array[CustomKeyValuePairDataElement], optional),
  IssueTypeID (integer, optional),
  IssueTypeName (string, optional),
  DisplayOrder (number, optional),
  CreatedBy (string, optional),
  CreatedDate (string, optional): ISO 8601 string ,
  ModifiedBy (string, optional),
  ModifiedDate (string, optional): ISO 8601 string ,
  IsActive (boolean, optional),
  TrakTip (string, optional),
  IsTrakTipAdvancedOnly (boolean, optional),
  CustomScreenID (integer, optional)
}
CustomKeyValuePairDataElement {
  Key (string, optional),
  Value (object, optional)
}

Request HTTP Verb: GET

Response Status Codes:

  • Success: 200
  • Invalid IssueType ID: 400 (Bad Request, e.g., a negative integer is supplied)
  • Non-existent IssueType: 404
  • Invalid IssueType ID: 422 (Unprocessable Entity, e.g., a non-numeric value is supplied)
  • The ExtensionData property is not used in version 1 of the API.
  • The Metadata property provides a key/value collection of additional data about the API operation and/or the response body.
  • BREAKING CHANGES from Previous API Versions:
    • The “AutoAssignTo” (string) property has been removed as of Issuetrak API 10.0.

Sample Request URL: ~/api/v1/issuetypes/11

{
  “ExtensionData”: [],
  “Metadata”: [
  {
    “Key”: “APIVersion”,
    “Value”:12.5},
  {
    “Key”: “QueryDate”,
    “Value”:2020-12-09T20:19:23.9695584Z”
  }
 ],
  “IssueTypeID”: 11,
  “IssueTypeName”: “Duplicate Ticket”,
  “DisplayOrder”: 3,
  “CreatedBy”: “admin”,
  “CreatedDate”:2017-11-16T08:26:46.44,
  “ModifiedBy”: null,
  “ModifiedDate”: null,
  “IsActive”: true
  “TrakTip”: “”,
  “IsTrakTipAdvancedOnly”: false,
  “CustomScreenID”: 7
}

 

Retrieve all IssueTypes

Description: This API method retrieves a collection of all currently-defined IssueTypes from the Issuetrak data store.

When retrieving an IssueType using the API, no special character decoding (e.g., HTML decoding &lt; as < or &gt; as >) is performed. Therefore, please note that the IssueTypeName returned via the API method represents the IssueTypeName as stored within the Issuetrak database. Thus, when retrieving an IssueType created through the Issuetrak web interface where HTML encoding of the IssueTypeName is performed, the API consumer may desire to perform additional client-side decoding.

A successful response will include an HTTP status code of 200 (OK) and a response body containing a serialized collection of ReadIssueTypeDTO instance.

QueryResultsContainer[ReadIssueTypeDTO] {
 IsPageIndexZeroBased (boolean),
 PageIndex (integer),
 CountForPage (integer),
 PageSize (integer),
 TotalCount (integer),
 Collection (array[ReadIssueSubType3DTO])
}
ReadIssueTypeDTO {
 ExtensionData(array[KeyValuePair[String,Object]]),
 Metadata (array[KeyValuePair[String,Object]]),
 IssueTypeID (integer),
 IssueTypeName (string),
 DisplayOrder (number),
 CreatedBy (string),
 CreatedDate (ISO 8601 string),
 ModifiedBy (string),
 ModifiedDate (ISO 8601 string),
 IsActive (boolean),
 TrakTip (string),
 IsTrakTipAdvancedOnly (boolean),
 CustomScreenID (integer)
}
CustomKeyValuePairDataElement {
 Key (string),
 Value (object)
}

Request HTTP Verb: GET

Response Status Codes:

  • Success: 200
  • Non-existent IssueType: 404
  • The IsPageIndexZeroBased property value is always true. This property is included for use in future API versions.
  • The PageIndex property value is always 0. This property is included for use in future API versions.
  • The CountForPage property value is always the same as TotalCount. This property is included for use in future API versions.
  • The PageSize property value is always the maximum value for a signed, 32-bit integer. This property is included for use in future API versions.
  • The TotalCount property value is the number of records returned in the collection.
  • The Collection property is an array containing the ReadIssueTypeDTO objects returned.
  • The ExtensionData property is not implemented in v1 of the API.
  • BREAKING CHANGES from Previous API Versions:
    • The “AutoAssignTo” (string) property has been removed as of Issuetrak API 10.0.

Sample Request URL: ~/api/v1/issuetypes

{
  “IsPageIndexZeroBased”: true,
  “PageIndex”: 0,
  “CountForPage”: 1,
  “PageSize”: 2147483647,
  “TotalCount”: 1,
  “Collection”: [
   {
     “ExtensionData”: [],
     “Metadata”: [
      {
        “Key”: “APIVersion”,
        “Value”:12.5}
      {
        “Key”: “QueryDate”,
        “Value”:2020-12-10T18:34:37.8439079Z”
      }
   “IssueTypeID”: 5,
   “IssueTypeName”: "Facilities",
   “DisplayOrder”: 1,
   “CreatedBy”: “admin”,
   “CreatedDate”:2017-11-16T08:26:46.44,
   “ModifiedBy”: null,
   “ModifiedDate”: null,
   “IsActive”: true
   “TrakTip”: “”,
   “IsTrakTipAdvancedOnly”: false,
   “CustomScreenID”: 2
  }
 ]
}

API Operations for IssueSubTypes

API Operations for IssueSubTypes2

API Operations for IssueSubTypes3

API Operations for IssueSubTypes4

API Operations for Locations

API Operations for MenuItems

API Operations for Notes

API Operations for Organizations

API Operations for Priorities

API Operations for Projects

API Operations for ServiceLevels

API Operations for ServiceLevelAgreements

API Operations for ServiceLevelSeverities

API Operations for ServiceLevelTerms

API Operations for Substatuses

API Operations for TimeZones

API Operations for Users

API Operations for User Types

API Operations for User-Defined Field Types