The answer

Status 200

Security How the member who is asking signs in.

email
stringneeded
first
stringWhich second step a sign-in asks first: `key` or `app`.
has_password
booleanneeded
keys
list of PasskeyViewSecurity keys, the second step beside the app (D5).
mail
booleanWhether this deployment sends email: a code by email is a way in.
own_sign_in
booleanneededWhether this tidekeeper signs people in itself at all.
passkeys
list of PasskeyViewneeded
passkeys_offered
booleanneeded
password_words
stringWhat the Password row says when there is none: how they do sign in, naming only what is true of them (D3).
second_step
booleanneeded
second_step_required
booleanneededThe owner asked that every member has a second step.
services
list of ServiceRowThe services this deployment offers, each linked to the member or not (doc/sign-in-services.md, D2), in the sign-in page's order.
setup_card
stringThe setup card (C): `folded`, `open` or `hidden`.

Asking

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