Diario
Sesiones, y los recorridos que las agrupan.
Un recorrido es un paso por un juego. Una sesión puede marcar el comienzo o el final de uno.
/api/ v1/ journal/ entriesSesiones registradas, las jugadas más recientes primero.
Parámetros
| Campo | Tipo | Notas |
|---|---|---|
game | integer | Filtra por id de juego. |
limit | integer | 1 a 1000, predeterminado 50. |
/api/ v1/ journal/ entriesRegistra una sesión. Responde 201.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
igdb_idobligatorio | integer | El id del juego en el catálogo. |
game_slugobligatorio | string | El slug del juego. |
played_on | date | AAAA-MM-DD. Por defecto: hoy. |
ended_on | date | Para una sesión que cruza días. |
minutes | integer | De 0 a 100000. |
note | string | Markdown, hasta 5000 caracteres. |
visibility | string | PUBLIC, FOLLOWERS o PRIVATE. |
marks_start | boolean | Esta sesión empezó el juego. |
marks_finish | boolean | Esta sesión lo terminó. |
started_at | string | La hora en que empezó la sesión, HH:MM o HH:MM:SS. Opcional: un día entero también es una sesión. |
journey_id | string | El recorrido al que pertenece esta sesión. Debe ser un recorrido tuyo y del mismo juego; sin él la sesión queda suelta. |
comments_scope | string | Quién puede responder: EVERYONE, FOLLOWERS o NOBODY. |
/api/ v1/ journal/ entries/ {id}Cambia una sesión. Acepta los mismos campos que el POST, sin igdb_id ni game_slug, y dos más que solo tienen sentido una vez que la sesión existe.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
sensitive | boolean | Esconde las imágenes tras un aviso. Apagarlo no borra el registro de una marca automática: es lo que deja la decisión revisable después. |
image_order | array | Los ids de las imágenes de la sesión, en el orden en que deben aparecer, hasta 12. Las imágenes entran por el sitio; aquí solo se ordena lo que ya está. |
/api/ v1/ journal/ entries/ {id}Elimina una sesión.
/api/ v1/ journal/ daysMarca varios días de una vez como jugados, sin describir ninguno. Es el trazo en el calendario: un día ya cubierto por una sesión se deja como está, y added cuenta lo que cambió, no lo que se pidió.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
igdb_idobligatorio | integer | El id del juego en el catálogo. |
game_slugobligatorio | string | El slug del juego. |
daysobligatorio | array | De 1 a 366 fechas como YYYY-MM-DD. Ninguna puede estar en el futuro. |
journey_id | string | El recorrido al que pertenecen los días. Sin él, quedan sueltos. |
Ejemplo
{
"data": { "igdb_id": 14593, "days": ["2026-09-01", "2026-09-02"], "added": 1 }
}/api/ v1/ journal/ daysElimina las sesiones que cubren esos días. Va por parámetro y no por cuerpo, porque un DELETE con cuerpo no atraviesa a todo intermediario.
Parámetros
| Campo | Tipo | Notas |
|---|---|---|
igdb_idobligatorio | integer | El id del juego en el catálogo. |
daysobligatorio | string | Las fechas separadas por comas, de 1 a 366. |
journey_id | string | Limita la eliminación a las sesiones de ese recorrido. |
/api/ v1/ journal/ entries/ {id}Una entrada visible, autor, galería y contexto de interacción.
/api/ v1/ journal/ journeys/ {id}Metadatos públicos de un recorrido y cantidad de sesiones públicas.
/api/ v1/ journal/ journeys/ {id}/ entriesSesiones visibles de un recorrido, 40 por página, con imágenes y resumen. page: 1 a 1000.
/api/ v1/ journal/ journeysLos recorridos del dueño.
Parámetros
| Campo | Tipo | Notas |
|---|---|---|
game | integer | Filtra por id de juego. |
limit | integer | 1 a 1000, predeterminado 50. |
/api/ v1/ journal/ journeysAbre un recorrido en un juego. Responde 201.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
igdb_idobligatorio | integer | El id del juego en el catálogo. |
game_slugobligatorio | string | El slug del juego. |
titleobligatorio | string | Hasta 120 caracteres. |
/api/ v1/ journal/ journeys/ {id}Renombra un recorrido, o dice qué tipo de recorrido fue. Un campo por vez: lo que el cuerpo omite queda como está, y lo que clear nombra queda vacío. Terminar antes de empezar se rechaza.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
title | string | Hasta 120 caracteres. |
status | string | PLANNED, PLAYING, ON_HOLD, COMPLETED o DROPPED. Es el estado del recorrido, no el del juego. |
started_on | string | AAAA-MM-DD. |
finished_on | string | AAAA-MM-DD. |
library_entry_id | string | La copia en que se jugó este recorrido. |
replay | boolean | Si el juego ya se había jugado antes de este. |
mastered | boolean | Si la platina o el 100% salieron de este recorrido. |
difficulty | string | Hasta 80 caracteres. |
progress | string | Hasta 160 caracteres. |
clear | array | Campos a vaciar: status, started_on, finished_on, difficulty, progress, replay, mastered o library_entry_id. Un campo no puede llevar un valor y estar en clear a la vez. |
/api/ v1/ journal/ journeys/ {id}Elimina un recorrido.
/api/ v1/ journal/ sessionsLa sesión abierta del dueño, con su juego y sus eventos. Responde data: null cuando no hay ninguna.
/api/ v1/ journal/ sessionsAbre una sesión. Una por cuenta: responde 409 cuando ya hay otra abierta. Responde 201.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
igdb_idobligatorio | integer | El id del juego en el catálogo. |
game_slugobligatorio | string | El slug del juego. |
journey_id | string | Vincula la sesión a un recorrido tuyo. |
visibility | string | PUBLIC, FOLLOWERS o PRIVATE. |
/api/ v1/ journal/ sessions/ {id}/ eventsAnota algo que pasó en la sesión abierta. Solo agrega: un evento no se edita. Responde 201.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
kindobligatorio | string | NOTE, PROGRESS, SHOT o STOP. NOTE y STOP piden body, PROGRESS pide marker, SHOT pide screenshot_id. |
body | string | Hasta 500 caracteres. |
marker | string | Hasta 80 caracteres. |
screenshot_id | string | Una captura tuya. |
/api/ v1/ journal/ sessions/ {id}Cierra la sesión, que es lo que la convierte en registro. Sin minutos, vale el tiempo corrido, limitado a 16 horas.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
minutes | integer | De 0 a 100000. El reloj cuenta, tú confirmas. |
note | string | Hasta 5000 caracteres. |
marks_finish | boolean | Marca que el juego terminó en esta sesión. |
/api/ v1/ journal/ sessions/ {id}Descarta una sesión abierta que no registró nada. Responde 409 cuando ya tiene eventos: entonces el camino es cerrar.