Acesso via API do Discourse, chave e/ou usuário rejeitado

A biblioteca Python DiscourseClient foi projetada para funcionar com uma chave de API de Admin (Admin → API).
O que você gera de generate_api_key é uma chave de API de Cliente.

Você precisa passar os cabeçalhos API-User-Key e API-User-Username em vez disso.
Por exemplo:

curl https://forum.example.com/t/95783.json -H 'Api-User-Key: 388b79103056fede1d3223dae032df99' -H 'Api-User-Username: tflidd'