Skip to content

Diary

GET /api/public/:username/diary?limit=50
ParamTypeRequiredDescription
usernamestringyesInteris username to resolve
ParamTypeDefaultMaxDescription
limitnumber50200Number of diary rows to return
[
{
"id": "entry-id",
"mediaType": "movie",
"watchedDate": "2026-01-10",
"ratingOutOfTen": 8,
"ratingOutOfFive": 4,
"rewatch": false,
"createdAt": "2026-01-10T12:00:00.000Z",
"updatedAt": "2026-01-10T12:00:00.000Z",
"media": {
"tmdbId": 550,
"title": "Fight Club",
"posterPath": "/a.jpg",
"releaseYear": 1999
},
"review": {
"id": "review-id",
"content": "Great rewatch.",
"containsSpoilers": false,
"createdAt": "2026-01-10T12:00:00.000Z"
}
}
]
  • Includes both movie and tv entries.
  • Results are merged and sorted by watchedDate desc, then createdAt desc.
  • review can be null when no linked review exists.

Returns [] when diary has no entries.

  • 404 when username does not exist.
  • 429 when the public rate limit is exceeded.
  • 500 for unexpected server errors.
const res = await fetch('https://api.interis.gorkemkaryol.dev/api/public/your_username/diary?limit=30');
if (!res.ok) throw new Error(`Diary failed: ${res.status}`);
const diary = await res.json();
Terminal window
curl "https://api.interis.gorkemkaryol.dev/api/public/your_username/diary?limit=30"
const rewatches = diary.filter((entry) => entry.rewatch);

Next: Activity endpoint