The use of POST is not Idempotent.
So, POST is not Idempotent.
A line like x = 5 would be considered Idempotent.
A POST is not Idempotent, in the way that x++ is not Idempotent.
The resource is never changed via a GET request, e.g.,
the request has no side effects(Idempotent).
An Idempotent operation is an operation that gives the same
result no matter how many times you perform it.
Unlike POST, PUT is Idempotent, meaning the same call can be
made multiple times without producing a different result.
The use of an HTTP PUT method versus an HTTP
POST method should be based on the Idempotent aspect of that operation.
Using PUT will ensure your request is Idempotent, i.e. it can safely be sent again if
the client isn't sure about success.
That is to say that an operation is Idempotent if it can be performed on a resource once
or many times and always return the same state of that resource.