POST /users/:id/save-settings

Creates or updates user-specific settings for the specified user. If a settings record already exists, it is updated; otherwise, a new record is created.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Parameters
Parameter Type Required Description
id string Yes Identifier of the user
Request Body

The request body contains the user settings to be saved. The structure depends on the supported settings model.

{
	"theme-accent-color":"#6394c6",
	"prefered-content-language":"interface",
	"theme":"light",
	"nsfw-mode":"settings.nsfw.show-nsfw-18",
	"view-mode":"column",
	"show-drag-indicator":false
}
Responses
200 OK

Returned when the settings are saved successfully.

{
    "data": "Settings saved successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when required parameters are missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user associated with the refresh token cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while saving the settings.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

— Reading History —

GET /user/reading-history

Returns the authenticated user’s reading history. The result can be filtered, searched, paginated, and ordered using query parameters, and is enriched with localized metadata where available.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Query Parameters
Parameter Type Required Description
order string No Sort order for the results (see supported values below)
limit number No Maximum number of results to return
offset number No Number of results to skip (for pagination)
search string No Search term used to filter results
user_lang string No Preferred language used for localized titles and descriptions
client string No Client identifier used for client-specific filtering or behavior
Supported Ordering Values

The order parameter supports the following values:

  • name-asc, name-desc
  • update-asc, update-desc
  • priority-asc, priority-desc
  • score-asc, score-desc
  • start-date-asc, start-date-desc
  • end-date-asc, end-date-desc

If no order is provided, the default ordering behavior is applied (update-desc).

Responses
200 OK

Returned when the reading history is retrieved successfully.

{
    "series": [
        {
            /* Series data with reading status and metadata */
        }
    ],
    "max": "number",
    "from": "number",
    "to": "number"
}

Models used
Series Model

404 Not Found

Returned when the user associated with the refresh token cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

GET /user/reading-status/id/:id

Returns the authenticated user’s reading status for a specific series.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Responses
200 OK

Returned when the reading status is retrieved successfully.

{
    /* Reading status data for the series */
}

Models used
Series Model

400 Bad Request

Returned when the required series identifier is missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user associated with the refresh token cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

POST /user/reading-status/add/:id

Adds a new reading status entry for the authenticated user and the specified series. This endpoint is used when a reading status does not yet exist for the series.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Request Body
Field Type Required Description
visibility string Yes Visibility settings for the reading status
progressType string Yes Type used to track reading progress
progress number Yes Current reading progress
status string Yes Current reading status
reread number No Indicates how often the series was reread
score number No User-assigned score
priority string Yes Reading priority
start string No Start date
end string No End date
notes string No User notes
client string Yes Client identifier
Enum Values

visibility

  • private (default)
  • public

status

  • started (default)
  • completed
  • paused
  • dropped

progress_type

  • chapters (default)
  • volumes

priority

  • low
  • mid
  • high
Responses
200 OK

Returned when the reading status is added successfully.

{
    "data": "Reading status added successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when required parameters are missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

409 Conflict

Returned when a reading status already exists for the specified series.

{
    "data": "Reading status already exists for this series",
    "code": 409
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while adding the reading status.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

POST /user/reading-status/update/:id

Updates an existing reading status entry for the authenticated user and the specified series. This endpoint is used when a reading status already exists.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Pparameters
Parameter Type Required Description
id string Yes Identifier of the series
Request Body
Field Type Required Description
visibility string Yes Visibility settings for the reading status
progressType string Yes Type used to track reading progress
progress number Yes Current reading progress
status string Yes Current reading status
reread number No Indicates how often the series was reread
score number No User-assigned score
priority string Yes Reading priority
start string No Start date
end string No End date
notes string No User notes
client string Yes Client identifier
Enum Values

visibility

  • private (default)
  • public

status

  • started (default)
  • completed
  • paused
  • dropped

progress_type

  • chapters (default)
  • volumes

priority

  • low
  • mid
  • high
Responses
200 OK

Returned when the reading status is updated successfully.

{
    "data": "Reading status updated successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when required parameters are missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user cannot be found or no reading status exists for the specified series.

{
    "data": "Reading status does not exist for this series",
    "code": 404
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while updating the reading status.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

DELETE /user/reading-status/delete/:id

Deletes an existing reading status entry for the authenticated user and the specified series.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Responses
200 OK

Returned when the reading status is deleted successfully.

{
    "data": "Reading status deleted successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when the required series identifier is missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user cannot be found or no reading status exists for the specified series.

{
    "data": "Reading status does not exist for this series",
    "code": 404
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while deleting the reading status.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

— Rating —

GET /user/series-rating/:id

Returns the authenticated user’s rating for a specific series.

Authentication

This endpoint requires authentication via a refresh token stored in cookies.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate
Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Responses
200 OK

Returned when the rating is retrieved successfully.

{
    /* Rating data for the series */
}

Models used
Series Model

400 Bad Request

Returned when the required series identifier is missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user associated with the refresh token cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

POST /user/series-rating/add/:id

Adds a new rating for a specific series on behalf of the authenticated user. A rating can only be created if one does not already exist for the series.

Authentication

This endpoint requires authentication via a refresh token stored in cookies and the appropriate permission.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate

Required Permission: rate-series

Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Request Body
Field Type Required Description
rating number Yes Rating value for the series
Responses
200 OK

Returned when the rating is added successfully.

{
    "data": "Rating added successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when required parameters are missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when the user cannot be found.

{
    "data": "User not found",
    "code": 404
}

Models used
Response Model

409 Conflict

Returned when a rating already exists for the specified series.

{
    "data": "Rating already exists for this series",
    "code": 409
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while adding the rating.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

POST /user/series-rating/update/:id

Updates an existing rating for a specific series on behalf of the authenticated user. This endpoint is used when a rating already exists.

Authentication

This endpoint requires authentication via a refresh token stored in cookies and the appropriate permission.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate

Required Permission: rate-series

Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Request Body
Field Type Required Description
rating number Yes Updated rating value
Responses
200 OK

Returned when the rating is updated successfully.

{
    "data": "Rating updated successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when required parameters are missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when no existing rating is found for the specified series.

{
    "data": "Rating does not exist for this series",
    "code": 404
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while updating the rating.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

DELETE /user/series-rating/delete/:id

Deletes an existing rating for a specific series on behalf of the authenticated user.

Authentication

This endpoint requires authentication via a refresh token stored in cookies and the appropriate permission.

Cookie Name Required Description
refreshToken Yes Refresh token used to authenticate

Required Permission: rate-series

Path Parameters
Parameter Type Required Description
id string Yes Identifier of the series
Responses
200 OK

Returned when the rating is deleted successfully.

{
    "data": "Rating deleted successfully",
    "code": 200
}

Models used
Response Model

400 Bad Request

Returned when the required series identifier is missing.

{
    "data": "Required parameters missing",
    "code": 400
}

Models used
Response Model

404 Not Found

Returned when no rating exists for the specified series.

{
    "data": "Rating does not exist for this series",
    "code": 404
}

Models used
Response Model

500 Internal Server Error

Returned when an unexpected error occurs while deleting the rating.

{
    "data": "Internal server error",
    "code": 500
}

Models used
Response Model

— Collection —