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.
For serializing dates, the Issuetrak API uses the ISO 8601 standard.
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.