MyAnimeList forum operations
This page lists public MyAnimeList forum operations by response domain.
Forum
mal.forum.boards
MyAnimeListForumApi.boards gets the MyAnimeList forum board tree through MalForumOperation.boards. It is the public facade for GET /forum/boards; use MalRequestOptions transport settings to override per call.
Signature
boards(options?: MalRequestOptions): Promise<MalForumBoardsResponse>Auth: Not required: a public read.
| Name | Type | Required | Description |
|---|---|---|---|
options | MalRequestOptions | no | Optional transport settings; a MalRequestOptions merged over the instance defaults. |
timeout | number | no | Milliseconds before a request is aborted. `0` disables the Axios timeout. Defaults to DEFAULT_REQUEST_TIMEOUT; timeout errors carry the effective duration as `AniLinkNetworkError.timeoutMs`. |
signal | AbortSignal | no | Signal used to cancel in-flight requests. |
| Field | Type | Description |
|---|---|---|
categories | MalForumCategory[] | The forum categories, each carrying its boards. |
AniLinkRestError:for a non-success MyAnimeList responseAniLinkNetworkError:for timeout, cancellation, or other transport failures
Example
const api = new AniLink({ mal: { accessToken: "mal-token" } }).mal;
const boards = await api.forum.boards();
console.log(boards.categories[0]?.boards[0]?.title);mal.forum.topics
MyAnimeListForumApi.topics gets the MyAnimeList forum topic list through MalForumOperation.topics. It is the public facade for GET /forum/topics; filter by board, keyword, or creator with MalForumTopicsParams and page with limit/offset.
Signature
topics(params?: MalForumTopicsParams, options?: MalRequestOptions): Promise<MalForumTopicsResponse>Auth: Not required: a public read.
| Name | Type | Required | Description |
|---|---|---|---|
params | MalForumTopicsParams | no | The topic-list read inputs; a MalForumTopicsParams carrying the optional board, keyword, creator, sort, and paging filters. |
boardId | number | no | The board to list topics of, when limiting to one board. |
subboardId | number | no | The subboard to list topics of, when limiting to one subboard. |
q | string | no | The keyword to filter topic titles by. |
topicUserName | string | no | The user name whose created topics to list. |
userName | string | no | The user name whose posts to list topics by. |
sort | MalForumTopicSort | no | The sort order; one of MalForumTopicSort. |
limit | number | no | The number of entries per page; defaults to 100, capped at 100 by MyAnimeList. |
offset | number | no | The offset of the first entry; defaults to 0. |
options | MalRequestOptions | no | Optional transport settings; a MalRequestOptions merged over the instance defaults. |
timeout | number | no | Milliseconds before a request is aborted. `0` disables the Axios timeout. Defaults to DEFAULT_REQUEST_TIMEOUT; timeout errors carry the effective duration as `AniLinkNetworkError.timeoutMs`. |
signal | AbortSignal | no | Signal used to cancel in-flight requests. |
| Field | Type | Description |
|---|---|---|
data | MalForumTopicSummary[] | The topic entries on this page. |
paging | MalPaging | The paging node with the next/previous page URLs, when the list continues. |
AniLinkRestError:for a non-success MyAnimeList responseAniLinkNetworkError:for timeout, cancellation, or other transport failures
Example
const api = new AniLink({ mal: { accessToken: "mal-token" } }).mal;
const topics = await api.forum.topics({ q: "one piece" });
console.log(topics.data[0]?.title);mal.forum.topic
MyAnimeListForumApi.topic gets one forum topic with its posts and poll through MalForumOperation.topic. It is the public facade for GET /forum/topic/{topic_id}; page through a long topic's posts with the limit/offset fields of MalForumTopicParams.
Signature
topic(params: MalForumTopicParams, options?: MalRequestOptions): Promise<MalForumTopicResponse>Auth: Not required: a public read.
| Name | Type | Required | Description |
|---|---|---|---|
params | MalForumTopicParams | yes | The topic read inputs; a MalForumTopicParams carrying the topic ID plus the optional post-paging filters. |
id | number | no | The MyAnimeList forum topic ID. |
limit | number | no | The number of posts per page; defaults to 100, capped at 100 by MyAnimeList. |
offset | number | no | The offset of the first post; defaults to 0. |
options | MalRequestOptions | no | Optional transport settings; a MalRequestOptions merged over the instance defaults. |
timeout | number | no | Milliseconds before a request is aborted. `0` disables the Axios timeout. Defaults to DEFAULT_REQUEST_TIMEOUT; timeout errors carry the effective duration as `AniLinkNetworkError.timeoutMs`. |
signal | AbortSignal | no | Signal used to cancel in-flight requests. |
| Field | Type | Description |
|---|---|---|
data | MalForumTopicDetail | The topic's detail: title, posts, and poll. |
paging | MalPaging | The paging node with the next/previous post-page URLs, when the topic continues. |
AniLinkRestError:for a non-success MyAnimeList responseAniLinkNetworkError:for timeout, cancellation, or other transport failures
Example
const api = new AniLink({ mal: { accessToken: "mal-token" } }).mal;
const topic = await api.forum.topic({ id: 23744 });
console.log(topic.data.title, topic.data.posts[0]?.body);Related guides
- MAL operations explains forum request parameters and responses.
- MAL pagination covers paging through forum topics and posts.