Wie werden Post-IDs zugewiesen? (und weitere Fragen zu /posts.json)

Ich arbeite an https://mentionme.app und möchte die neuesten Inhalte aus öffentlich zugänglichen Discourse-Foren sammeln. Dafür habe ich den API-Endpunkt /posts.json ausgewählt.

Mir ist aufgefallen, dass dieser Endpunkt eine scheinbar zufällige Anzahl von Elementen zurückgibt. Die Dokumentation besagt, dass die 50 neuesten Beiträge zurückgegeben werden, aber bei genauerer Betrachtung (z. B. https://meta.discourse.org/posts.json) stellen wir fest, dass es sich nicht um die 50 neuesten Beiträge handelt, sondern um Beiträge mit IDs im Bereich von max-50 bis max, wobei einige fehlen.

Ich gehe davon aus, dass die Tatsache, dass in diesem Endpunkt nicht 50 Beiträge enthalten sind, ein Mangel der API ist – liege ich richtig?
Ich nehme an, dass Beitrags-IDs aus einem größeren Pool von IDs zugewiesen werden, der auch andere Dinge enthält (Benutzer-IDs?), und dass ich mir darüber keine Sorgen machen sollte.

Könnte jemand bitte meine Bedenken ausräumen?

Insbesondere ist die Liste für einige Werte leer, z. B.: https://meta.discourse.org/posts.json?before=1234 – was soll ich tun, wenn eine Liste ohne den Parameter „before

Einige Beiträge befinden sich in geschützten Kategorien, die du nicht sehen kannst, und andere in persönlichen Nachrichten und werden nicht in dem Endpunkt aufgeführt, der die neuesten Beiträge in Themen auflistet, die du lesen kannst.

Zum Beispiel ist dieser Beitrag hier gerade die ID 621820 und der nächste ist 621818 von @gerhard. Der fehlende Beitrag ist 621819, eine PN, und deshalb kannst du ihn nicht sehen.

Vielen Dank für die Erklärung, jetzt ist es klar. Ich durchsuche derzeit mehrere Discourse-Foren und bin bisher einmal in der Produktion auf das Problem gestoßen (posts.json ohne den Parameter „before