Why isn't the Discourse API fully documented?

Proper API authentication is covered in the docs, right at the top. In short, you need to use HTTP Headers to provide the API key and username instead of URL parameters.