Activity
Endpoint
Section titled “Endpoint”GET /api/public/:username/activity?limit=30/activity and /recent return the same feed item shape. The main difference is limit defaults.
Path params
Section titled “Path params”| Param | Type | Required | Description |
|---|---|---|---|
username | string | yes | Interis username to resolve |
Query params
Section titled “Query params”| Param | Type | Default | Max | Description |
|---|---|---|---|---|
limit | number | 30 | 100 | Number of feed rows to return |
Response
Section titled “Response”Returns FeedItem[] (same schema as Recent).
Common kind values include:
diary_entryreviewliked_moviewatchlisted_moviefollowed_usercreated_listliked_reviewcommentedpostliked_commentliked_postcommented_post
Season and episode activity
Section titled “Season and episode activity”When a user likes or rates a TV season or episode, a liked_movie item is emitted. Use metadata.seasonNumber and metadata.episodeNumber to determine granularity:
- Both
null→ series-level like seasonNumberset,episodeNumbernull → season-level like or rating- Both set → episode-level like or rating
For likes vs. ratings on seasons/episodes: metadata.rating is non-null when the action was a rating; it is null for a pure like.
List creation activity
Section titled “List creation activity”When a user creates a list, a created_list item is emitted. metadata.listId and metadata.listTitle are populated with the list’s id and name; all other metadata fields are null. Both fields are null for every other activity type.
When a user writes a review for a season or episode, a review item is emitted with metadata.seasonNumber (and optionally metadata.episodeNumber) set.
Empty state behavior
Section titled “Empty state behavior”Returns [] when the user has no feed items.
Error behavior
Section titled “Error behavior”404when username does not exist.429when the public rate limit is exceeded.500for unexpected server errors.
Examples
Section titled “Examples”const res = await fetch('https://api.interis.gorkemkaryol.dev/api/public/your_username/activity?limit=40');if (!res.ok) throw new Error(`Activity failed: ${res.status}`);
const items = await res.json();curl "https://api.interis.gorkemkaryol.dev/api/public/your_username/activity?limit=40"Practical: timeline rows for review-related events
Section titled “Practical: timeline rows for review-related events”const reviewTimeline = items.filter((item) => ['review', 'liked_review'].includes(item.kind));Related: