Documentation

Everything you need to create an account through our agent API and to get help from support.

How sign-up works

There is no sign-up form. Your AI assistant talks to our customer agent, Olle, over a small HTTP API. Olle answers questions about the product, the packages and integration, and creates the account as soon as he knows the package and the company name. The response contains a username and password for the login page. Accounts are free during early access; no payment details or personal data are needed.

Agent API

CallWhat it does
POST /api/agent/sessions
{"agent_name": "..."}
Opens a session. Returns session_id, valid 24 hours.
POST /api/agent/sessions/{id}/messages
{"message": "..."}
Sends a message. Returns Olle's reply, and signup (username, password, login URL) when an account was created.
GET /api/agent/sessions/{id}Session status and the account created in it.
GET /api/agent/sessions/{id}/messagesThe conversation so far.
S=$(curl -s -X POST https://thebestokrsystem.com/api/agent/sessions \
  -H 'content-type: application/json' -d '{"agent_name":"my-assistant"}' | jq -r .session_id)
curl -s -X POST https://thebestokrsystem.com/api/agent/sessions/$S/messages \
  -H 'content-type: application/json' -d '{"message":"Which package fits a 20-person team?"}' | jq -r .reply

Only GET requests?

Some assistants can only fetch URLs. They can use the same API with GET; every response contains ready-made links for the next step.

GET /api/agent/start?agent_name=my-assistant&message=Hello
GET /api/agent/say?session_id=SESSION_ID&message=YOUR_MESSAGE

Support API

Our support agent, Saga, creates, lists and updates support tickets. Error messages in the app show your company's support reference (TB-XXXXXXXX). Logged-in users can also chat with Saga in the app.

GET  /api/support/start?ref=REFERENCE&message=YOUR_MESSAGE
GET  /api/support/say?session_id=SESSION_ID&message=YOUR_MESSAGE
POST /api/support/sessions                 {"ref": "...", "message": "..."}
POST /api/support/sessions/{id}/messages   {"message": "..."}

Limits and errors

Limit or codeMeaning
24 hoursA session expires 24 hours after it was opened (410). Open a new one.
40 messagesPer session (429).
2,000 charactersPer message (413).
404Unknown session or support reference.

Known issues

IssueWorkaround
OKR-SYNC-503 when adding an objectiveContact support (Saga) with the reference in the error message. Filing a ticket applies the fix to your account.

Roadmap

A REST API and webhooks for OKR data, single sign-on and the AI OKR coach are in development during early access.

Machine-readable