Diário
Sessões, e as jornadas que as agrupam.
Uma jornada é uma passagem por um jogo. Uma sessão pode marcar o começo ou o fim de uma.
/api/ v1/ journal/ entriesSessões registradas, as jogadas mais recentes primeiro.
Parâmetros
| Campo | Tipo | Observações |
|---|---|---|
game | integer | Filtra por id de jogo. |
limit | integer | 1 a 1000, padrão 50. |
/api/ v1/ journal/ entriesRegistra uma sessão. Responde 201.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
igdb_idobrigatório | integer | O id do jogo no catálogo. |
game_slugobrigatório | string | O slug do jogo. |
played_on | date | AAAA-MM-DD. Padrão: hoje. |
ended_on | date | Para uma sessão que atravessa dias. |
minutes | integer | De 0 a 100000. |
note | string | Markdown, até 5000 caracteres. |
visibility | string | PUBLIC, FOLLOWERS ou PRIVATE. |
marks_start | boolean | Esta sessão começou o jogo. |
marks_finish | boolean | Esta sessão terminou o jogo. |
started_at | string | A hora em que a sessão começou, HH:MM ou HH:MM:SS. Opcional: um dia inteiro também é uma sessão. |
journey_id | string | A jornada a que esta sessão pertence. Tem de ser uma jornada sua e do mesmo jogo; sem ela a sessão fica solta. |
comments_scope | string | Quem pode responder: EVERYONE, FOLLOWERS ou NOBODY. |
/api/ v1/ journal/ entries/ {id}Altera uma sessão. Aceita os mesmos campos do POST, sem igdb_id nem game_slug, e mais dois que só fazem sentido depois que a sessão existe.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
sensitive | boolean | Esconde as imagens atrás de um aviso. Desligar isso não apaga o registro de uma marca automática: é o que deixa a decisão revisável depois. |
image_order | array | Os ids das imagens da sessão, na ordem em que devem aparecer, até 12. As imagens em si entram pelo site; aqui só se ordena o que já está lá. |
/api/ v1/ journal/ entries/ {id}Remove uma sessão.
/api/ v1/ journal/ daysMarca vários dias de uma vez como jogados, sem descrever nenhum deles. É o traço no calendário: um dia já coberto por uma sessão é deixado como está, e added conta o que mudou, não o que foi pedido.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
igdb_idobrigatório | integer | O id do jogo no catálogo. |
game_slugobrigatório | string | O slug do jogo. |
daysobrigatório | array | De 1 a 366 datas como YYYY-MM-DD. Nenhuma pode estar no futuro. |
journey_id | string | A jornada a que os dias pertencem. Sem ela, ficam soltos. |
Exemplo
{
"data": { "igdb_id": 14593, "days": ["2026-09-01", "2026-09-02"], "added": 1 }
}/api/ v1/ journal/ daysApaga as sessões que cobrem esses dias. Vai por parâmetro e não por corpo, porque um DELETE com corpo não atravessa toda intermediária.
Parâmetros
| Campo | Tipo | Observações |
|---|---|---|
igdb_idobrigatório | integer | O id do jogo no catálogo. |
daysobrigatório | string | As datas separadas por vírgula, de 1 a 366. |
journey_id | string | Limita a remoção às sessões dessa jornada. |
/api/ v1/ journal/ entries/ {id}Um registro visível, autor, galeria e contexto de interação.
/api/ v1/ journal/ journeys/ {id}Metadados públicos de uma jornada e quantidade de sessões públicas.
/api/ v1/ journal/ journeys/ {id}/ entriesSessões visíveis de uma jornada, 40 por página, com imagens e resumo. page: 1 a 1000.
/api/ v1/ journal/ journeysAs jornadas do dono.
Parâmetros
| Campo | Tipo | Observações |
|---|---|---|
game | integer | Filtra por id de jogo. |
limit | integer | 1 a 1000, padrão 50. |
/api/ v1/ journal/ journeysAbre uma jornada num jogo. Responde 201.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
igdb_idobrigatório | integer | O id do jogo no catálogo. |
game_slugobrigatório | string | O slug do jogo. |
titleobrigatório | string | Até 120 caracteres. |
/api/ v1/ journal/ journeys/ {id}Renomeia uma jornada, ou diz que tipo de jornada ela foi. Um campo de cada vez: o que não vier no corpo fica como está, e o que vier em clear fica vazio. Terminar antes de começar é recusado.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
title | string | Até 120 caracteres. |
status | string | PLANNED, PLAYING, ON_HOLD, COMPLETED ou DROPPED. É o estado da jornada, não o do jogo. |
started_on | string | AAAA-MM-DD. |
finished_on | string | AAAA-MM-DD. |
library_entry_id | string | A cópia em que esta jornada foi jogada. |
replay | boolean | Se o jogo já tinha sido jogado antes desta. |
mastered | boolean | Se a platina ou os 100% saíram nesta jornada. |
difficulty | string | Até 80 caracteres. |
progress | string | Até 160 caracteres. |
clear | array | Campos a esvaziar: status, started_on, finished_on, difficulty, progress, replay, mastered ou library_entry_id. Um campo não pode vir com valor e em clear ao mesmo tempo. |
/api/ v1/ journal/ journeys/ {id}Remove uma jornada.
/api/ v1/ journal/ sessionsA sessão aberta do dono, com o jogo e os eventos dela. Responde data: null quando não há nenhuma.
/api/ v1/ journal/ sessionsAbre uma sessão. Uma por conta: responde 409 quando já existe outra aberta. Responde 201.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
igdb_idobrigatório | integer | O id do jogo no catálogo. |
game_slugobrigatório | string | O slug do jogo. |
journey_id | string | Liga a sessão a uma jornada sua. |
visibility | string | PUBLIC, FOLLOWERS ou PRIVATE. |
/api/ v1/ journal/ sessions/ {id}/ eventsAnota algo que aconteceu na sessão aberta. Só acrescenta: um evento não se edita. Responde 201.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
kindobrigatório | string | NOTE, PROGRESS, SHOT ou STOP. NOTE e STOP pedem body, PROGRESS pede marker, SHOT pede screenshot_id. |
body | string | Até 500 caracteres. |
marker | string | Até 80 caracteres. |
screenshot_id | string | Uma captura sua. |
/api/ v1/ journal/ sessions/ {id}Encerra a sessão, que é o que a transforma em registro. Sem minutos, vale o tempo corrido, limitado a 16 horas.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
minutes | integer | De 0 a 100000. O relógio conta, você confirma. |
note | string | Até 5000 caracteres. |
marks_finish | boolean | Marca que o jogo terminou nesta sessão. |
/api/ v1/ journal/ sessions/ {id}Descarta uma sessão aberta que não registrou nada. Responde 409 quando já tem eventos: aí o caminho é encerrar.