Introduction
Programmatically manage agents, conversations, training sources, and web crawls with the AssistLoop API.
The AssistLoop API lets you build integrations on top of your AI agents: create and configure agents, run visitor and inbox conversations, choose AI models, upload and manage training sources (text, Q&A, URLs, and files), kick off and monitor web crawls, and track long‑running training jobs.
Base URL
All endpoints are served under a single versioned prefix:
https://api.assistloop.ai/api/public/v1https://api.assistloop.ai is the API host. Every path in this reference is relative to this
base URL.
What you need
- An API key. API requests authenticate with a bearer API key. Create one from your dashboard (Settings → API Keys). See Authentication for details and the available scopes.
- A premium or AppSumo plan. The API is gated to organizations on a paid (premium) plan or with an active AppSumo license. The check runs on every request, so a key stops working the moment the organization downgrades.
- Your organization UUID. Organization‑scoped endpoints (listing/creating agents, starting crawls) take your organization's UUID in the path. You can find it in your dashboard. Agent‑scoped endpoints take the agent's UUID instead.
Quickstart
Create an API key
In your dashboard, open Settings → API Keys, pick the scopes you need (for example
conversation:create and conversation:read), choose an expiry, and copy the key — the full
value is shown only once.
Create a conversation and send a message
curl https://api.assistloop.ai/api/public/v1/agents/$AGENT_UUID/conversations \
-H "Authorization: Bearer $ASSISTLOOP_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "chat_user_id": "user-123" }'Use the returned conversation id to send visitor text. The response is the visitor message;
the assistant reply arrives later via polling
or a webhook.
curl https://api.assistloop.ai/api/public/v1/agents/$AGENT_UUID/conversations/$CONVERSATION_UUID/messages \
-H "Authorization: Bearer $ASSISTLOOP_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "content": "Hello" }'Read the response
Successful responses wrap the payload in data, with request metadata under meta:
{
"data": {
"id": "a1b2c3d4-e5f6-4708-9a1b-2c3d4e5f6071",
"content": "Hello",
"role": "visitor",
"action_required": false,
"action": null,
"created_at": "2026-09-05T10:16:00.000000Z"
},
"meta": { "request_id": "b7f0b9c2-1a2b-4c3d-8e9f-0a1b2c3d4e5f" }
}Conventions
- JSON everywhere. Requests and responses use JSON, except file uploads, which use
multipart/form-data. Responses are always JSON. - UUIDs as identifiers. Organizations, agents, conversations, messages, webhook endpoints, sources, and AI models are addressed by their UUID — never by a numeric database ID.
- Consistent envelopes. Successful responses wrap the payload in
data, with request metadata undermeta. Errors use anerrorobject (see below). - Request tracing. Every response carries an
X-Request-IDheader, and the same value is echoed inmeta.request_id. Include it when reporting an issue.
Response format
Single resource
{
"data": {
"id": "0c2e0b8a-6c1e-4f7e-9a3a-1b2c3d4e5f60",
"name": "Support Bot"
},
"meta": {
"request_id": "b7f0b9c2-1a2b-4c3d-8e9f-0a1b2c3d4e5f"
}
}Collection (paginated)
{
"data": [ { "id": "..." }, { "id": "..." } ],
"meta": {
"current_page": 1,
"per_page": 25,
"total": 42,
"last_page": 2,
"request_id": "b7f0b9c2-1a2b-4c3d-8e9f-0a1b2c3d4e5f"
},
"links": {
"first": "https://api.assistloop.ai/api/public/v1/agents/.../sources?page=1",
"last": "https://api.assistloop.ai/api/public/v1/agents/.../sources?page=2",
"prev": null,
"next": "https://api.assistloop.ai/api/public/v1/agents/.../sources?page=2"
}
}Error
{
"error": {
"code": "insufficient_scope",
"message": "Token is missing required scope: agent:create",
"details": []
},
"meta": {
"request_id": "b7f0b9c2-1a2b-4c3d-8e9f-0a1b2c3d4e5f"
}
}See Errors for the full list of status codes and error codes.
Resource overview
AI Models
List the AI models available to your organization.
Agents
Create, read, update, and delete agents.
Conversations
Create visitor threads, send messages, and operate the inbox.
Webhooks
Receive AI replies, human replies, and handoff events over HTTPS.
Sources
Add and manage training sources (text, Q&A, URLs, files).
Training
Retrain a source and poll training‑job status.
Crawls
Discover URLs on a site before training on them.