Docs menu

DocsAI assistants and API

The API

Every action in Adea is an API call, with the same checks as a click. The OpenAPI file lists them all.

3 min readOpen as Markdown
On this page

Everything you can click in Adea is an action, and you can call every action over the API. The same checks apply as for a click: your role, your plan, Guardian and credits.

The address

Each company has its own address, and the API lives under it:

https://your-company.adea.app/api/v1

The list of actions

The OpenAPI file describes every action: its name, what it needs, what it returns, whether it only reads or also changes something, and what it costs.

curl https://adea.app/api/v1/openapi.json

Call an action

Send a POST to /api/v1/actions/{name} with the input as JSON. For example, to read the rows of a list:

curl -X POST https://your-company.adea.app/api/v1/actions/lists.rows \
  -H "Authorization: Bearer $ADEA_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "listId": "..." }'

A call that works returns ok: true and the result in data:

{ "ok": true, "data": { "listId": "...", "name": "...", "statuses": [], "rows": [] }, "changed": [] }

A call that doesn’t work returns ok: false and an error with a code and a message in plain words. The codes you will meet most often:

Code Meaning
invalid_input Some of the details aren’t valid. The error says which.
unauthenticated You aren’t signed in, or the key is not valid.
forbidden Your role doesn’t allow this.
plan_required The action isn’t part of your plan.
credit_limit The month’s Deep credits are used.
cost_approval_required The work needs a deeper look and uses credits. Go ahead only if you accept the cost.
confirmation_required A person has to confirm this first. See below.
guardian_held An administrator has to approve this first.
rate_limited Too many calls at once. Wait a minute.

Actions that need a confirmation

Some actions need a person to confirm them: anything that sends data out of Adea, for example. A call to one of these returns confirmation_required with a preview of what would happen. The API can’t confirm on a person’s behalf. A person confirms in Adea, or you send them the link.

Keys and sign-in

Calls from the signed-in app use your session. A script uses a key, sent as Authorization: Bearer adea_.... A key belongs to one company and works only on that company’s address. It acts as the person who made it, with at most the role you give it, and every call is logged.

To make a key, open Settings, then Developers, and choose a name, a role and when it should expire. The key is shown once, so copy it when it appears. Only administrators and developers can make keys, a key can’t have more than your own role, and an administrator sees everyone’s keys and can switch any of them off. A key stops working when its person is removed from the team.

Webhooks

To have Adea call your service when something happens, see Webhooks.

Limits

Calls are limited per person and per key. When you go over, the answer is rate_limited.

Other ways in

Still stuck? Write to hello@adea.app. A person answers.