Authorization header:
401.
Get an API key
An API key is scoped to one organization rather than to a person, which is what you want for automation — it keeps working when the person who created it changes roles or leaves.1
Open API keys
Go to API keys in the Tolmo app (Settings → API keys).
2
Create a key
Click Create key. Give it a name you will recognize later, such as the pipeline or service that will use it.
3
Copy it immediately
The key is shown once, at creation. Copy it then — it cannot be retrieved afterwards.
4
Send it on every request
Export it with your org slug, then pass it as a bearer credential:
/api/v1 endpoint for its organization, and never another organization’s data. What it may do there is still governed by role: a key created this way carries ordinary member permissions, so it can read published findings and create drafts, but it cannot publish one. The broader-role credentials Tolmo’s own agent runs use are minted by the platform and are not something you create.
Keys created before this credential was renamed begin with
org_tok. instead of api_tok.. They remain valid and need no action — authentication is by a hash of the whole value, so the prefix is only a label.Credential types
Tolmo issues two kinds of credential. You can tell them apart by their prefix.User tokens (usr_tok.)
A user token represents you. It resolves your permissions on every request, so it sees exactly what you see in the app — no more.
Get one by logging in with the CLI:
~/.tolmo/. Read it from there, or set it explicitly with the TOLMO_API_TOKEN environment variable.
User tokens are deliberately short-lived:
- They expire seven days after they are minted.
- They also expire after three days of inactivity, whichever comes first.
tolmo auth login again.
What a credential can see
Authorization is enforced at the data layer, not only in the route handler, so a credential cannot reach around the API to read data it should not see — including through the SQL and openCypher query endpoints. Two consequences worth designing around:- Findings that are still drafts are not visible to ordinary callers. You will see published findings, plus ingested ones.
- An
/orgs/{orgSlug}/...path for any organization other than your own is rejected. Inside your own organization, a resource id you cannot see returns404— the API will not confirm that it exists elsewhere.
Revoking a credential
Revoke the user token you are currently authenticated with:Choosing between them
Use an API key
The caller is a pipeline, a server, or a scheduled job that must keep running unattended and outlive any one person’s account. Create one under API keys.
Use a user token
You are exploring the API, writing a script you run yourself, or want every call attributed to you and limited to your own access.