To expand on Matías's answer, you have to think about the consequences of allowing consumers to call your API using any verb they wanted.
Firstly, your implementation is going to be more complex if you never know what operation is going to be expected. For example, if someone can update a resource using GET, how do you tell the difference between a query and an update? The answer: extra (needless) complexity of the implementation.
Secondly, there are consequences from the point-of-view of performance and scalability. GET allows easy caching of resource representations because of its idempotent nature - which is the expected convention. By not making it clear which verbs do what, you're making it harder to utilise strategies such as caching, which makes your API harder to scale.
Thirdly, it makes things more complicated for consumers. HTTP's convention-based approach is widely understood. Working with an API that doesn't follow that convention - especially one that labels itself as using HTTP/REST - is going to increase integration costs.