https://api.usesink.co on the hosted service.
The hosted deployment answers on two names:
api.usesink.co for the API, and the apex usesink.co for the dashboard, the installer and anything a person opens in a browser — share links, invites and the legal pages. Both serve the same routes, so a call to either works; api.usesink.co is the deliberate name for programmatic use.One consequence worth knowing: install.sh bakes the apex into the CLI as its stored api_url, so a freshly installed client talks to usesink.co until you point it elsewhere with sink login --api-url or SINK_API_URL.Authenticating a request
Two credentials work, and thesk- prefix is what tells them apart.
POST /keys/, belongs to a user, and is what the CLI and any automation should use. A session token comes from a browser login and is short-lived.
Workspace scope
On a path that contains{workspace_id}, that value decides the scope. On a path without one, Sink reads the X-Workspace-Id header, and failing that the credential’s own scope — the workspace claim on a session token, or the holder’s current workspace for an API key. A caller who is not a member of the resolved workspace gets 403.
Interactive docs (
/docs, /redoc, /openapi.json) are served only when a deployment runs with DEBUG enabled, so they are not available on the hosted instance.Accounts
Verifying an email
Codes expire on their own timer, and a fresh one is refused while a live one is outstanding.
SSO
These are browser flows. A first sign-in through either creates the account and its first workspace.
API keys
string
required
How the key shows up in the dashboard.
string
Free text — what this key is for.
integer
Lifetime in minutes from now, not a timestamp.
43200 is thirty days. Omit for a key that does not expire.token — the actual credential. Only its SHA-256 digest is stored, so this is the one and only time it is shown.
A revoked or expired key answers
401 on its next use, with a message distinguishing the two.
Sessions
Sessions are one per device: signing in again from the same user agent revokes that device’s previous session rather than sitting alongside it.
Errors
Errors and limits has the full picture, including rate-limit headers and the
207 case on secret reads.