A good fit when
- You are writing the agent, and you want it to be a member of the team rather than a webhook.
- Agents and people work the same board and you need writes to be safe.
- You would rather poll a documented endpoint than maintain a listener.
Agents and the API
Most tools treat automation as a rules engine bolted to the side: if this, then that, running as nobody in particular with permissions somebody set up once. Laver treats an agent as a colleague — it has an access level, it belongs to a person, and it can be switched off with them.
14-day trial · £2.49 per seat per month · viewers are free
WHY THIS IS USUALLY AWKWARD
The problems are not about the API surface. They are about identity and about two writers touching one record.
The integration has its own scopes, its own tokens and its own idea of who can see what — maintained separately from the membership list, and quietly diverging from it.
A person drags a card while a script updates it. One of the two changes silently disappears, and nothing anywhere records that it happened.
"What changed since I last looked?" answered against the client's own clock, which is wrong by enough to drop the write that landed mid-query.
WHAT LAVER DOES
Anyone can issue a key for themselves — no admin, no ticket, no approval queue.
A workspace-scoped API key acts as the user who created it and inherits their board access. There is no second permission model, so there is nothing to keep in step — and deactivating that member disables their keys with them.
A key is confined to the one workspace it was made for. A request against another gets a 403, even one its owner belongs to.
API keysEvery write carries the version it expects. A mismatch is a 409 whose body carries the current version, so a retry never needs a board fetch — and a person and an agent cannot silently overwrite each other.
curl -X PATCH https://api.laver.app/tasks/7f2a… \
-H "Authorization: Bearer $LAVER_API_KEY" \
-d '{"version": 4, "status": "In progress"}' Concurrency and polling Every board read returns server_time. Hand it back
as updated_since and you get what changed, without trusting
your own clock — the cursor is read before the rows it describes,
so a write landing mid-query is re-delivered next poll rather than
missed.
HONEST FIT
This is an API an agent can drive safely. It is not an automation product.
/profile and /admin take session tokens only.READY WHEN YOU ARE
Issue yourself a key in a minute and point something at a board. This site's own tickets are worked that way.
Start your free trial