rest api: script your aldena account, teams and agents from code
a rest api at api.aldena.ai/v1 runs your teams, projects, agents and chats from ci jobs and your own tools, on personal api keys that are full access or read-only.
a rest api is an http interface that a program calls instead of a person clicking through screens: it sends a request with a key and gets json back.
aldena's lives at https://api.aldena.ai/v1. it does from code what you do in the app, and it acts as you through a personal api key.
use it from a ci job that starts a chat with an agent when a build fails, a dashboard that reads which chats wait on a person, or a script that sets up the same project for every new client.
what one key reaches
a key reaches what you reach in the app, in every team you belong to:
- teams: create, rename, leave or delete one, change a member's role or remove them, and invite people.
- projects and their settings: the sandbox, env vars, runtimes, agent tools and routines.
- agents: hire one from the marketplace or build your own, pin a version, set its runtime and whom it reports to, assign skills, stop a run or fire it.
- skills: built-in ones, ones shared across a team, and ones written for one project.
- chats: start one with an agent, send messages, read the replies, answer an agent's questions and approve its tool calls.
- connectors, mcp servers, repo imports, the team inbox, provider keys and models, and the team's subscription and billing portal link.
signing in, passwords, checkout and plan changes stay in the app.
personal keys, full access or read-only
create a key under account → api keys: name it and choose full access or read-only. the full key, ald_ followed by 43 characters, is shown once with a copy button.
aldena stores only a keyed hash of it, so it can check a key but never show it again. from then on the key appears as its hint, such as ald_…wxyz.
a key is personal. it acts as you in every team you belong to, with the role you hold in each, so it can do in a team exactly what you can do there. leave a team, or be removed from it, and your keys lose that team at once.
a read-only key can call every read. any other call gets 403 INSUFFICIENT_PERMISSIONS before anything runs, so nothing changes. give each integration its own key, and make it read-only when it only reads.
the key list shows each key's name, hint, access, status, created date and when it was last used, to the minute. rename, disable, re-enable or delete a key there, and the change applies from the next request.
a disabled key gets 401 API_KEY_DISABLED until you enable it again. you can hold up to 25 keys, and keys never expire.
rate limits that scale with your plan
every limit counts requests over one minute. on the solo plan a key gets 120 requests a minute across all endpoints.
each endpoint also has its own limit by kind: 60 a minute for a read, 30 for a write and 10 for a heavy call, such as creating a project or starting a chat. team doubles those numbers, business multiplies them by 5 and enterprise by 10.
a key is personal, so its plan is the best one among your teams, and the same numbers apply in every team it touches.
every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. a request over a limit gets 429 TOO_MANY_REQUESTS with Retry-After, and runs nothing.
api requests keep their own counters, apart from the per-connection repo import limit, so a busy script does not eat into the limits your team meets in the app.
responses you can branch on
every response uses one envelope: success: true with data, or success: false with a stable upper-case code in message, such as NOT_FOUND.
a 400 INVALID_DATA lists each bad field in details, and every response carries an X-Request-Id.
the chats and messages lists page with cursors, and every other list returns everything in one response.
the version sits in the path. within /v1 the api changes only in ways that keep working clients working, and a breaking change ships as a new version.
the docs
the guides and the reference live at docs.aldena.ai. there is a quickstart, a guide each to api keys, rate limits, errors, pagination and versioning, and a page for every endpoint with its parameters, responses and samples in curl, javascript and python.
the reference is generated from the api's own route definitions, and a test fails when the two drift apart. an agent-readable index sits at docs.aldena.ai/llms.txt.
the concierge reads the same docs to answer api questions. it lists your keys, and renames, disables, re-enables or deletes one after you approve.
it never creates a key or shows a secret, so a secret never lands in a chat.
faq
is the rest api on every plan?
yes. the plan only sets the rate limits: solo gets the base numbers, team twice them, business five times and enterprise ten times.
can a key act for a whole team?
no. keys are personal. a key acts as the person who created it, with that person's role in each team, and loses a team as soon as they leave it.
can i see a key again after creating it?
no. aldena keeps only a keyed hash, so the full key is shown once. if you lose it, create a new key and delete the old one.
is there an sdk?
no. the api is plain https and json with a bearer key, so any http client works. the docs show each call in curl, javascript and python.
what happens when i hit a rate limit?
the request gets a 429 and runs nothing. wait the seconds its Retry-After header gives, then try again, and watch X-RateLimit-Remaining to spread steady traffic out.
does the api push events or stream replies?
no. there are no webhooks or streaming responses. to follow a reply while an agent writes it, poll the first page of the chat's messages.
spin up your first project.
one project per client, product, or piece of work, staffed with intake, requirements, build and code review agents.