Marcar posts específicos como "lidos" através da API?

Olá,

Estou buscando posts através da API do Discourse. Estou usando Python para isso. A requisição chama o seguinte código (que faz essencialmente uma requisição GET) e retorna o .json semelhante a este post

    def topic_by_id(self, topic_id, **kwargs):
        return self._get("/t/{0}.json".format(topic_id), **kwargs)

Os posts retornados possuem um flag 'read'. Os posts que envio têm read=True, mas para os posts que recebo, todos estão marcados como read=False, a menos que eu faça login ativamente no Discourse e os leia.

Existe alguma maneira de marcar um post específico como lido através da API, dado um post_id? Tenho pesquisado sobre o pydiscourse e eles oferecem um método para adicionar tempo de leitura, o que supostamente também marca o post como “lido”, mas não importa quanto tempo de leitura eu “adicione”, o endpoint .json retorna como falso. Não me importo com “lacunas” de leitura, desde que eu possa marcar IDs de posts específicos.

    def topic_timings(self, topic_id, time, timings={}, **kwargs):
        """
        Define o tempo gasto lendo um post
        Um efeito colateral disso é marcar o post como lido

        Args:
            topic_id: { post_number: ms }
            time: tempo total para o tópico (em qual unidade????)
            timings:
        """
        kwargs["topic_id"] = topic_id
        kwargs["topic_time"] = time
        for post_num, timing in timings.items():
            kwargs["timings[{0}]".format(post_num)] = timing
        return self._post("/topics/timings", **kwargs)

Funcionalidade similar já foi alcançada para notificações usando o endpoint notifications/mark-read

    def mark_read(self, notification_id):
        return self._put('/notifications/mark-read.json', id=notification_id)

Além disso, outra solução alternativa válida seria se fosse possível marcar um tópico inteiro (todos os posts dentro dele) como lido.

Qualquer ajuda é bem-vinda!

EDIT: é necessário que isso também funcione para mensagens privadas.

Bem, eu fiz engenharia reversa disso com o navegador.
o topic_timings() deve ser chamado usando o índice do post no argumento timings={} em vez do ID do post.

Acho que é uma solução alternativa bastante aceitável, embora eu gostaria de ter um método baseado no ID do post, porque não é muito fácil inferir o índice a partir dos IDs (será necessário buscar o tópico real primeiro).

Não sei se isso vai ajudar, mas acredito que exista uma rota /p/<POST_ID>.