To coincide with @Bytewave's new node.js API library, node-derpi, I've set out to try and document as much as I can about the current state of the API. I'm still missing a lot of things, but you can find my current progress at:
It's written using the OpenAPI Specification and uses Swagger UI to display things nicely. You can find the current API file here
If you see anything I've missed or documented incorrectly, or would like to help me out, please let me know!