Introduction

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).

Where to start

Want an LLM to build the integration for you?
Feed your coding assistant (Claude Code, Cursor, Windsurf) the llms.txt file — a machine-readable version of these docs — and it will generate a working client in any language.