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

# List agents

`GET /agents`

## Request

- Base URL: `https://app.pencil.ink/api/v1`
- URL: `https://app.pencil.ink/api/v1/agents`
- Auth: HTTP bearer

Read-only. Requires a `read` (or `write`) key.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

A page of agent profiles.

- object
  - `data` Agent[]
    - `id` string: Convex document id.
    - `agentId` string: Public agent id string.
    - `name` string
    - `role` string
    - `responsibilities` string[]
    - `status` string, nullable
    - `avatarUrl` string, nullable
    - `agentType` string, nullable
    - `isHeadAgent` boolean
    - `autonomyEnabled` boolean
    - `runner` string: Defaults to `claude_code`.
    - `currentTask` string, nullable
    - `lastActiveAt` integer, nullable: Epoch ms.
    - `createdAt` integer: Epoch ms.
  - `pagination` Pagination
    - `nextCursor` string, nullable: Cursor for the next page, or null when there are no more results.
    - `hasMore` boolean

## Other responses

- `400`: Malformed request or invalid field (`validation_error`).
- `401`: Missing or invalid API key (`unauthorized`).
- `429`: Rate limit exceeded (`rate_limited`).

---

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