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. For example, the following API v1 request was allowed:
POST /api/v1/UserStory
{
Name: "Some test data",
Project: {
Id: 42
}
}
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.
The correct API v1 request format:
POST /api/v1/UserStory
{
"Name": "Some test data",
"Project": {
"Id": 42
}
}
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 July 1st, 2023.
To ensure continued compatibility with Targetprocess API, customers should update their code to use valid JSON with quotes around field names.