The Suppio Agent API lets your backend send a support message to one Suppio agent and receive a generated response. Use the API when you want to build Suppio into your own support workflow, route messages through your own app, or decide what to do when Suppio suggests escalation, resolution, or a title.Documentation Index
Fetch the complete documentation index at: https://docs.suppio.ai/llms.txt
Use this file to discover all available pages before exploring further.
What it is
The Agent API is a server-to-server endpoint:message. Suppio answers using the selected agent’s context and returns:
outcome: whether the request succeeded or was blockedresponse: the text answeractions: structured signals your app can act onusage: credits and tokens consumed
When to use it
Use the API when:- you already have a custom chat UI
- you want to create tickets in your own system after Suppio escalates
- you want to label or route conversations using
suggest_title - you need a backend integration instead of the Discord bot, chat widget, or hosted support page
Set it up
Add context
Add at least one context source. API keys cannot be created until the agent has context.
Generate an API key
Click Generate API Key. Copy the key immediately. Suppio shows the full key only once.
Copy the agent ID
Copy the agent ID from the agent page URL. In
/dashboard/workspace/{workspaceId}/agent/{agentId}, the {agentId} value is the ID you use in API requests.Authentication
Send the API key in theAuthorization header.
- start with
suppio_live_ - are scoped to exactly one agent
- stop working immediately after deletion
- are shown in full only when created
- are stored by Suppio as a hash, a display prefix, and the last four characters
Endpoint
agent_123, use:
Path parameters
| Field | Required | Description |
|---|---|---|
agentId | Yes | The ID of the Suppio agent to call. The API key must be scoped to this same agent. |
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer suppio_live_your_key |
Content-Type | Yes | Must be application/json |
Request body
| Field | Required | Description |
|---|---|---|
message | Yes | The support message to send to the agent. Leading and trailing whitespace is trimmed. Empty messages are rejected. The model input is capped at 12,000 characters after trimming. |
Current API limitations
- The API endpoint accepts text messages only.
- Attachments are not supported on this endpoint.
- Caller-defined tools are not supported.
- Suppio does not mutate your system through the API. Your app decides what to do with returned action signals.
Example requests
Example success response
Example blocked response
Blocked responses still use HTTP 200 because the request was processed successfully.Action signals
Suppio returns action signals so your application can decide what to do next.escalate_to_human
escalate_to_human
The user asked for a person or the agent cannot confidently continue.
mark_resolved
mark_resolved
The request was fully answered or the user indicated the issue is resolved.
suggest_title
suggest_title
The agent identified a short support title that can help your app label or route the conversation.
Handling escalations
The API does not automatically notify staff or create tickets. Your backend should inspectactions and run your own workflow.
escalation-handler.js
Errors
API errors use this shape:| Code | HTTP status | What it means |
|---|---|---|
authentication_required | 401 | The authorization header is missing, malformed, too long, or does not use a suppio_live_ key. |
invalid_api_key | 401 | The key is malformed, deleted, revoked, unknown, or does not match the stored hash. |
wrong_agent | 403 | The key is valid but is scoped to a different agent. |
agent_not_found | 404 | The requested agent could not be found for this key. |
invalid_request | 400 | The JSON body did not include a usable message. |
invalid_json | 400 | The request body was not valid JSON. |
payload_too_large | 413 | The JSON body exceeded 64 KB. |
context_required | 409 | The agent has no active context. Add context before sending API requests. |
out_of_credits | 402 | The workspace has no credits left for the current billing period. |
rate_limited | 429 | The API key exceeded its requests-per-minute limit. |
daily_rate_limited | 429 | The agent exceeded its daily request limit for the current UTC day. |
internal_error | 500 | Suppio could not generate the response. |
Rate limits
Rate limits are enforced per API key with a one-minute window. The effective limit is the lower of the key’s stored limit and the current workspace plan limit.| Plan | Requests per minute |
|---|---|
| Free | 20 |
| Plus | 60 |
| Pro | 180 |
| Enterprise | 600 |
Key management
- You can have up to 5 active API keys per agent.
- You can create up to 5 API keys per day.
- Rotate keys by creating a new key, updating your backend, then deleting the old key.
- Deleted keys stop working immediately.
- The dashboard shows key prefix, last four characters, created time, last used time, total requests, requests today, and active key count.