The code, used: a member is signed in; someone new is sent to make their workspace (202, `to`).

What to send

CodeUse A link's own token, or the address it went to with its six digits.

code
string or null
email
string or null
second
string or nullThe second step, when the member has one.
token
string or null

The answer

Status 200

Me

account_id
stringneeded
account_name
stringneeded
accounts
list of MeAccountEvery account they are in. One is the account this answer is about; a person in one account has one here.
email
stringneeded
features
FeatureSetneeded
invite_needed
booleanAnother account of theirs needs an invite code (doc/invites.md).
may
list of stringWhat this request may do: `read`, `events`, `manage`, `visitors`, `own`. A page hides what would be refused.
name
stringWhat they are called. Empty until they say.
operator
booleanWhoever runs this tidekeeper: the operator's console is theirs.
role
stringneeded
second_step_missing
booleanThe account's owner asked that every member has a second step at sign-in, and this member has not set one up.
some_sites
booleanGiven some of the account's sites, not all.
user_id
stringneeded

Asking

With your token from Settings
curl -X POST https://tidekeeper.eu/api/v1/auth/start/use \
    -H "Authorization: Bearer $TIDEKEEPER_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{}'
With your token from Settings
const answer = await fetch("https://tidekeeper.eu/api/v1/auth/start/use", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.TIDEKEEPER_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
}).then((r) => r.json());