Notificações
A caixa de entrada, já resolvida.
Cada notificação chega com o autor e com path, o endereço para onde
ela aponta. Resolver isso costumava ser trabalho de quem lê: onze
leituras encadeadas, porque o endereço de uma resposta é o endereço
do que ela responde mais uma âncora. É um join, e acontece onde os
joins acontecem.
Os avisos do próprio sistema, os da moderação e os do Arcade, chegam
com actor null: eles nunca dizem qual pessoa da equipe agiu.
path vem sem o prefixo de idioma (ele é de quem lê), e vem null
quando não há mais para onde ir.
/api/ v1/ notificationsA caixa de entrada, mais recentes primeiro, com as preferências junto. Cada item traz path: o endereço para onde ele aponta, sem o prefixo de idioma, que é de quem lê e não da notificação. Vem null quando não há mais para onde ir (a publicação sumiu, ou quem lê não pode mais vê-la) e aí as palavras ficam sem link, em vez de apontarem para uma página que recusaria. actor vem null nos avisos do próprio sistema, os da moderação e os do Arcade: eles nunca dizem qual pessoa da equipe agiu.
Parâmetros
| Campo | Tipo | Observações |
|---|---|---|
limit | integer | Quantas trazer, de 1 a 100. O padrão é 40. |
Exemplo
{
"data": [
{
"id": "...",
"kind": "post_comment",
"created_at": "2026-09-05T18:00:00.000Z",
"read_at": null,
"target_title": "Hollow Knight",
"actor": { "username": "ada", "display_name": "Ada", "avatar_url": null },
"path": "review/aB3xY#comment-9kQ2",
"is_reply": true
}
],
"preferences": { "follows_enabled": true, "comments_enabled": true }
}/api/ v1/ notificationsMarca tudo o que está por ler como lido.
/api/ v1/ notifications/ {id}Marca uma como lida. Fazer duas vezes não move a hora: a segunda chamada responde a que a primeira escreveu.
/api/ v1/ notifications/ preferencesLiga e desliga o que merece um aviso. Mande só o que muda.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
follows_enabled | boolean | Verdadeiro para receber, falso para não. |
review_likes_enabled | boolean | Verdadeiro para receber, falso para não. |
list_likes_enabled | boolean | Verdadeiro para receber, falso para não. |
comments_enabled | boolean | Verdadeiro para receber, falso para não. |
screenshots_enabled | boolean | Verdadeiro para receber, falso para não. |
journal_likes_enabled | boolean | Verdadeiro para receber, falso para não. |
/api/ v1/ notifications/ devicesOs navegadores registrados para receber push, do mais recente ao mais antigo.
/api/ v1/ notifications/ devicesRegistra um navegador. Reinscrever no mesmo navegador devolve o mesmo endpoint, então repetir atualiza a inscrição em vez de criar outra; um endpoint que já é de outra conta responde 409.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
endpointobrigatório | string | O endereço que o serviço de push deu a este navegador. |
p256dhobrigatório | string | A chave pública da inscrição. |
authobrigatório | string | O segredo de autenticação da inscrição. |
device_label | string | Um nome curto só para reconhecer o aparelho na lista. |
/api/ v1/ notifications/ devices/ {id}Esquece um aparelho. O navegador dele continua inscrito no serviço de push até se desinscrever, o que só ele mesmo pode fazer.