Skip to content

List the conversational coaching agents

GET
/api/agents/
curl --request GET \
--url http://localhost:8000/api/agents/ \
--header 'Authorization: Bearer <token>'

The conversational coaching agents available to the caller’s team, plus whether the team may use them.

available is false when the surface is disabled for this deployment (reason: "disabled"), the caller has no active team (reason: "no_team"), or the team’s plan does not include agents (reason: "plan"). The roster is listed either way, so an ineligible team can see what it would unlock.

Entries carry the persona key only — the localised name, description and example questions live in the frontend agents locale bundle.

Media typeapplication/json

Body of GET /api/agents/.

available is false when the surface is disabled for this deployment or the team’s plan doesn’t include it; reason says which, so the page can render the right empty state (disabled / no_team / plan). The roster itself is always listed, so an ineligible team still sees what it would unlock.

object
available
required
boolean
reason
required
string
nullable
agents
required
Array<object>

One roster entry. Key only — the localised name / description / example questions live in the frontend agents i18n namespace (I18N.md).

object
key
required
string
Examples
{
"available": true,
"reason": null,
"agents": [
{
"key": "rehab"
},
{
"key": "performance"
}
]
}
Media typeapplication/json
object
detail
required

Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).

string
Examplegenerated
{
"detail": "example"
}
Media typeapplication/json
object
detail
required

Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).

string
Examplegenerated
{
"detail": "example"
}