PUT or POST that is the question!

The opinions differ regarding the usage of PUT and POST methods: some sources argue that PUT method should be used to request the creation of an entity with a supplied IRI, while other sources argue that POST method should be used for any creation request and PUT should be used for updating entities.

After a discussion with Lukas Rosentaler, Ivan Subotic and Benjamin Geer we came to the conclusion that for the sake of simplicity, clarity, and consistency in both value and admin APIs, in general, POST method should be used for creation requests regardless of supplying a custom IRI, and PUT should only be used for updating the entities.

Therefore, both admin and value APIs work based on the principle that to create an entity (such as a resource, value, project, list, etc) with a custom IRI, POST method should be used and the custom IRI must be provided in the body of the request.

This discussion took place on 11.06.2020, it is to be noted that Subotic raised objections to this decision and announced readiness to rub this in our face in the future if something goes wrong. As a return, Rosenthaler and Alassi accepted that they will bear the responsibility to implement modifications if the agreed decision turns out to be incorrect in the future.