Overview
AIST Agent is an asynchronous REST gateway between your code and the AIST AI engine. Submit a task with a single HTTP request, then get the result by polling or via a webhook.
What it is
Agent accepts tasks over REST, queues them and orchestrates processing across the AIST ecosystem: it creates a chat and a turn in the main backend (Aist Backend), hands the assistant's configuration to the AI engine (Aist Core) and returns the finished result to you. All the heavy lifting is asynchronous — your server never has to hold a connection open.
You only talk to Agent: pass an assistant_id and the input. The assistant's model, system
prompt and tools are configured in Aist Backend, not in the request to Agent.
Request flow
# 1. Create a task Client ──POST /api/tasks──▶ AIST Agent # → { uuid, status: "pending" } │ ├─▶ Aist Backend # creates a chat + turn, returns the assistant config └─▶ Aist Core # accepts the turn (fire-and-forget, stream) # 2. Background processing (Redis queue + Horizon) Aist Core ──webhook──▶ AIST Agent # processing → completed / failed # 3. Get the result Client ──GET /api/tasks/{uuid}──▶ AIST Agent # poll the status # or AIST Agent ──POST callback_url──▶ Client # webhook, if set
Anywhere from seconds to minutes can pass between “accepted” and “done” — it depends on the model, the size
of the input and the assistant's tools. That's why fetching the result is always asynchronous:
polling (GET /api/tasks/{uuid}) or a webhook
(callback_url).