acyka api

GET /api/v1/titles/{id}/related

relatedTitles

needs catalog:read

The title asked about is in the list rather than dropped from it, because the one thing this shelf is for is saying where in a sequence somebody is — `current` is what lets a client mark it in place.

curl https://api.acyka.cc/api/v1/titles/52991/related?lang=en \
  -H "Authorization: Bearer $ACYKA_TOKEN"

Asking #

In the address

fieldtypewhat it is
id numberthe shikimori id

Narrowing it

fieldtypewhat it is
lang may be absentstring | undefinedwhich of a title's three names leads: `en` (romaji), `ru`, `ja`, `uk`, `uz`. Defaults to `en`.

Answering #

200 Page<Related> a page: items, and total beside it

The shapes #

A franchise entry: a card, plus where in the sequence the caller was.

fieldtypewhat it is
id number
title string
title_orig may be absentstring | undefined
poster may be absentstring | undefined
year may be absentnumber | undefined
kind string`tv` | `movie` | `ova` | `ona` | `special` | `music`
episodes number
score may be absentnumber | undefinedThe one number a reader sees: what the people here think of it and what the outside number said, weighed against each other.
current booleanwhether this row *is* the title that was asked about

When it says no #

A refusal is { "message": "errors.something" } — a phrase name and never a sentence, because one screen can be read in five languages. Every library turns the name into a type, so you catch the class you can do something about. Errors has the list.