POST API implementation

Note that there is currently a bug where the API will return a *500 Server Error* response when the `Content-Type` header is set to `text/plain`. The workaround is to set it to anything else.

Remaining tasks:

- [x] update the readme