Deprecating non-compliant JSON in incoming requests
Historically, Targetprocess API supported non-standard JSON in incoming requests. The most prominent example is omitting quotes around field names and using multi-line strings. For example, the following API v1 request was allowed:
POST /api/v1/UserStory
{
Name: "Some test data",
Project: {
Id: 42
},
Description: "First line
And second line"
}
However, since it's not part of the official JSON specification, different parsers may interpret it differently. This can result in unpredictable behavior and errors, making debugging and maintaining applications that use this format difficult.
To fix the API request mentioned above, wrap field names into "
quotes and replace new lines with \n
escape character:
POST /api/v1/UserStory
{
"Name": "Some test data",
"Project": {
"Id": 42
},
"Description": "First line\n And second line"
}
As we evolve our platform, we want to consolidate our effort and focus on providing the best support for our customers' most important use cases. We will stop supporting the data format that doesn't follow JSON specifications.
Using the industry standard for data format ensures that the code is consistent and predictable, which can help reduce errors and improve performance.
While most API requests are made using dedicated REST API clients, which produce valid JSON, we expect this change to have a minimal impact on most customers.
Non-standard JSON will be gradually disabled for the customers that don't rely on this functionality. We will completely disable it by August 1st, 2023.
To ensure continued compatibility with Targetprocess API, customers should update their code to use valid JSON with quotes around field names.