---
title: "List agents"
method: GET
path: "/api/v1/agents"
tags: ["Agents"]
---

# List agents

`GET /api/v1/agents`

## Request

- Base URL: `https://your-deployment.example.com`
- URL: `https://your-deployment.example.com/api/v1/agents`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Lists the agents the caller can use: agents they own and agents shared with them. Cursor-paginated (see the pagination convention): pass `next_cursor` back as `cursor` until it is `null`.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

One page of agents, ordered by `id`.

- ListAgentsResponse200
  - `data` object[], required
    - `id` string, required
    - `name` string, required
    - `description` string, required
    - `system_prompt` string, nullable, required: The agent's system prompt. `null` unless the caller owns the agent.
    - `preferred_model` string, nullable, required: Model id the agent answers with; `null` uses the default.
    - `temperature` number, nullable, required
    - `max_tokens` integer, nullable, required
    - `allowed_tools` string[], nullable, required: Tools the agent may call. An empty list (or `null`) means the default tool policy applies.
    - `denied_tools` string[], nullable, required: Tools the agent may never call. An empty list (or `null`) means the default tool policy applies.
    - `trigger_words` string[], required: Mentions (for example `@research`) that invoke the agent in chat.
    - `is_owner` boolean, required: Whether the caller owns the agent, rather than having it shared with them.
    - `created_at` string, nullable, required: ISO 8601 timestamp.
    - `updated_at` string, nullable, required: ISO 8601 timestamp.
  - `next_cursor` string, nullable, required

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The API key holds neither `agents:read` nor `agents:write`.
- `405`: The path does not serve this HTTP method.
- `422`: `limit` is out of range, or `cursor` is malformed or was issued by a different endpoint. A cursor is opaque: pass back exactly the `next_cursor` you were given.
- `429`: Per-user rate limit exceeded.

---

[API](https://skmtc.dev/bike4mind/apis/bike4mind-api.md) · [All operations](https://skmtc.dev/bike4mind/apis/bike4mind-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bike4mind/apis/bike4mind-api/revisions/db47495b892f?raw)
