### User Rates API Source: https://shikimori.one/api/graphql/api/doc Endpoints for managing user's anime/manga rates. ```APIDOC ## GET /api/v2/user_rates ### Description List user rates. ### Method GET ### Endpoint /api/v2/user_rates ### Parameters #### Query Parameters - **user_id** (integer) - Optional - Filter by user ID. - **limit** (integer) - Optional - Number of results per page. - **page** (integer) - Optional - Page number. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **rates** (array) - An array of user rate objects. - **id** (integer) - Rate ID. - **user_id** (integer) - User ID. - **target_type** (string) - Type of target (e.g., 'anime', 'manga'). - **target_id** (integer) - ID of the target. - **score** (integer) - Score given by the user. - **status** (string) - Status of the rate (e.g., 'watching', 'completed'). - **episodes** (integer) - Number of episodes watched. - **chapters** (integer) - Number of chapters read. - **volumes** (integer) - Number of volumes read. - **created_at** (string) - Timestamp of creation. - **updated_at** (string) - Timestamp of last update. #### Response Example ```json { "example": "{\"rates\": [{\"id\": 1, \"user_id\": 10, \"target_type\": \"anime\", \"target_id\": 100, \"score\": 8, \"status\": \"watching\", \"episodes\": 5, \"chapters\": 0, \"volumes\": 0, \"created_at\": \"2023-01-01T10:00:00Z\", \"updated_at\": \"2023-01-01T10:00:00Z\"}]}" } ``` ## GET /api/v2/user_rates/:id ### Description Show a specific user rate. ### Method GET ### Endpoint /api/v2/user_rates/:id ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the user rate to retrieve. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **id** (integer) - Rate ID. - **user_id** (integer) - User ID. - **target_type** (string) - Type of target (e.g., 'anime', 'manga'). - **target_id** (integer) - ID of the target. - **score** (integer) - Score given by the user. - **status** (string) - Status of the rate (e.g., 'watching', 'completed'). - **episodes** (integer) - Number of episodes watched. - **chapters** (integer) - Number of chapters read. - **volumes** (integer) - Number of volumes read. - **created_at** (string) - Timestamp of creation. - **updated_at** (string) - Timestamp of last update. #### Response Example ```json { "example": "{\"id\": 1, \"user_id\": 10, \"target_type\": \"anime\", \"target_id\": 100, \"score\": 8, \"status\": \"watching\", \"episodes\": 5, \"chapters\": 0, \"volumes\": 0, \"created_at\": \"2023-01-01T10:00:00Z\", \"updated_at\": \"2023-01-01T10:00:00Z\"}" } ``` ## POST /api/v2/user_rates ### Description Create a new user rate. ### Method POST ### Endpoint /api/v2/user_rates ### Parameters #### Request Body - **target_type** (string) - Required - Type of target ('anime' or 'manga'). - **target_id** (integer) - Required - ID of the target. - **score** (integer) - Optional - Score given by the user (0-10). - **status** (string) - Optional - Status of the rate (e.g., 'watching', 'completed', 'on_hold', 'dropped', 'plan_to_watch'). - **episodes** (integer) - Optional - Number of episodes watched. - **chapters** (integer) - Optional - Number of chapters read. - **volumes** (integer) - Optional - Number of volumes read. ### Request Example ```json { "example": "{\"target_type\": \"anime\", \"target_id\": 100, \"score\": 9, \"status\": \"completed\", \"episodes\": 12}" } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the created user rate. - **message** (string) - Success message. #### Response Example ```json { "example": "{\"id\": 2, \"message\": \"User rate created successfully\"}" } ``` ## PATCH /api/v2/user_rates/:id ### Description Update an existing user rate. ### Method PATCH ### Endpoint /api/v2/user_rates/:id ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the user rate to update. #### Request Body - **score** (integer) - Optional - Score given by the user (0-10). - **status** (string) - Optional - Status of the rate (e.g., 'watching', 'completed', 'on_hold', 'dropped', 'plan_to_watch'). - **episodes** (integer) - Optional - Number of episodes watched. - **chapters** (integer) - Optional - Number of chapters read. - **volumes** (integer) - Optional - Number of volumes read. ### Request Example ```json { "example": "{\"score\": 10, \"episodes\": 12}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User rate updated successfully\"}" } ``` ## PUT /api/v2/user_rates/:id ### Description Update an existing user rate (full update). ### Method PUT ### Endpoint /api/v2/user_rates/:id ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the user rate to update. #### Request Body - **score** (integer) - Optional - Score given by the user (0-10). - **status** (string) - Optional - Status of the rate (e.g., 'watching', 'completed', 'on_hold', 'dropped', 'plan_to_watch'). - **episodes** (integer) - Optional - Number of episodes watched. - **chapters** (integer) - Optional - Number of chapters read. - **volumes** (integer) - Optional - Number of volumes read. ### Request Example ```json { "example": "{\"score\": 10, \"status\": \"completed\", \"episodes\": 12}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User rate updated successfully\"}" } ``` ## POST /api/v2/user_rates/:id/increment ### Description Increment episodes/chapters by 1 for a user rate. ### Method POST ### Endpoint /api/v2/user_rates/:id/increment ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the user rate to increment. #### Query Parameters - **type** (string) - Required - The type to increment ('episodes' or 'chapters'). ### Request Example ```json { "example": "No request body needed. Use query parameter 'type'. Example: POST /api/v2/user_rates/1/increment?type=episodes" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User rate incremented successfully\"}" } ``` ## DELETE /api/v2/user_rates/:id ### Description Destroy a user rate. ### Method DELETE ### Endpoint /api/v2/user_rates/:id ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the user rate to destroy. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User rate destroyed successfully\"}" } ``` ``` -------------------------------- ### Abuse Requests API Source: https://shikimori.one/api/graphql/api/doc Endpoints for reporting various types of abuse. ```APIDOC ## POST /api/v2/abuse_requests/offtopic ### Description Mark a comment as offtopic. ### Method POST ### Endpoint /api/v2/abuse_requests/offtopic ### Parameters #### Request Body - **comment_id** (integer) - Required - The ID of the comment to mark. ### Request Example ```json { "example": "{\"comment_id\": 12345}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Comment marked as offtopic\"}" } ``` ## POST /api/v2/abuse_requests/review ### Description Convert a comment to a review. ### Method POST ### Endpoint /api/v2/abuse_requests/review ### Parameters #### Request Body - **comment_id** (integer) - Required - The ID of the comment to convert. ### Request Example ```json { "example": "{\"comment_id\": 12345}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Comment converted to review\"}" } ``` ## POST /api/v2/abuse_requests/abuse ### Description Create an abuse report for violation of site rules. ### Method POST ### Endpoint /api/v2/abuse_requests/abuse ### Parameters #### Request Body - **comment_id** (integer) - Required - The ID of the comment to report. - **text** (string) - Optional - Additional text for the report. ### Request Example ```json { "example": "{\"comment_id\": 12345, \"text\": \"User is spamming.\"}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Abuse report created\"}" } ``` ## POST /api/v2/abuse_requests/spoiler ### Description Create an abuse report for a spoiler in content. ### Method POST ### Endpoint /api/v2/abuse_requests/spoiler ### Parameters #### Request Body - **comment_id** (integer) - Required - The ID of the comment to report. - **text** (string) - Optional - Additional text for the report. ### Request Example ```json { "example": "{\"comment_id\": 12345, \"text\": \"Spoiler about the ending.\"}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Spoiler abuse report created\"}" } ``` ``` -------------------------------- ### User Ignore API Source: https://shikimori.one/api/graphql/api/doc Endpoints for ignoring and unignoring users. ```APIDOC ## POST /api/v2/users/:user_id/ignore ### Description Ignore a user. ### Method POST ### Endpoint /api/v2/users/:user_id/ignore ### Parameters #### Path Parameters - **user_id** (integer) - Required - The ID of the user to ignore. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User ignored successfully\"}" } ``` ## DELETE /api/v2/users/:user_id/ignore ### Description Unignore a user. ### Method DELETE ### Endpoint /api/v2/users/:user_id/ignore ### Parameters #### Path Parameters - **user_id** (integer) - Required - The ID of the user to unignore. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"User unignored successfully\"}" } ``` ``` -------------------------------- ### Topic Ignore API Source: https://shikimori.one/api/graphql/api/doc Endpoints for ignoring and unignoring topics. ```APIDOC ## POST /api/v2/topics/:topic_id/ignore ### Description Ignore a topic. ### Method POST ### Endpoint /api/v2/topics/:topic_id/ignore ### Parameters #### Path Parameters - **topic_id** (integer) - Required - The ID of the topic to ignore. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Topic ignored successfully\"}" } ``` ## DELETE /api/v2/topics/:topic_id/ignore ### Description Unignore a topic. ### Method DELETE ### Endpoint /api/v2/topics/:topic_id/ignore ### Parameters #### Path Parameters - **topic_id** (integer) - Required - The ID of the topic to unignore. ### Request Example ```json { "example": "No request body needed." } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Topic unignored successfully\"}" } ``` ``` -------------------------------- ### Episode Notifications API Source: https://shikimori.one/api/graphql/api/doc Endpoint for notifying Shikimori about anime episode releases. ```APIDOC ## POST /api/v2/episode_notifications ### Description Notify Shikimori about an anime episode release. ### Method POST ### Endpoint /api/v2/episode_notifications ### Parameters #### Request Body - **episode_id** (integer) - Required - The ID of the released episode. ### Request Example ```json { "example": "{\"episode_id\": 67890}" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "example": "{\"message\": \"Episode release notified\"}" } ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.