The answer

Status 200

Ways The ways into this tidekeeper, for the sign-in page.

from
stringneededThe address its emails come from, to look for.
invites
booleanWhether making one needs an invite code (doc/invites.md): the entry page says so under its form.
new_accounts
booleanWhether it makes accounts for addresses it does not know: the entry page then reads "Sign in, or start counting" (doc/sign-in-services.md, A).
passkey
booleanneeded
password
booleanneededEmail and password, and a link by email.
social
list of Labelled2neededOther services people can sign in through: (id, name).
sso
booleanneededThe instance's own single sign-on.
sso_at
stringWhere that single sign-on is: the host people are sent to and back.

Asking

With your token from Settings
curl https://tidekeeper.eu/api/v1/auth/ways \
    -H "Authorization: Bearer $TIDEKEEPER_TOKEN"
With your token from Settings
const answer = await fetch("https://tidekeeper.eu/api/v1/auth/ways", {
  headers: {
    Authorization: `Bearer ${process.env.TIDEKEEPER_TOKEN}`,
  },
}).then((r) => r.json());