> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weav.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List agents

> Retrieve a paginated list of agents for the authenticated organization

Retrieve a paginated list of agents for the authenticated organization

```http
GET https://api.weav.com/v1/agents
```

Requires a token with the `external-api:read` or `external-api:write` ability.

## Query parameters

<ParamField query="per_page" type="integer" default="15">
Number of results per page (max 100)

Minimum: 1.

Maximum: 100.
</ParamField>

<ParamField query="page" type="integer" default="1">
Page number

Minimum: 1.
</ParamField>

## Request

<CodeGroup>

```bash cURL
curl --request GET \
  --url 'https://api.weav.com/v1/agents' \
  --header "Authorization: Bearer ${WEAV_API_TOKEN}"
```

```js JavaScript
const response = await fetch("https://api.weav.com/v1/agents", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.WEAV_API_TOKEN}`
  }
});
console.log(await response.json());
```

```python Python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['WEAV_API_TOKEN']}"}
response = requests.get("https://api.weav.com/v1/agents", headers=headers)
print(response.json())
```

```php PHP
use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://api.weav.com/v1/agents', [
    'headers' => ['Authorization' => 'Bearer '.getenv('WEAV_API_TOKEN')],
]);
echo $response->getBody();
```

</CodeGroup>

## Response

<CodeGroup>

```json 200 OK
{
    "data": [
        {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "name": "Agent",
            "slug": "agent",
            "description": "Helps customers with support queries",
            "avatar_url": "https://example.com/avatar.png",
            "max_messages_per_session": 50,
            "tone": "professional",
            "response_length": "standard",
            "is_active": true,
            "is_copilot": false,
            "created_at": "2026-01-01T00:00:00Z",
            "updated_at": "2026-01-01T00:00:00Z"
        }
    ],
    "links": {},
    "meta": {}
}
```

</CodeGroup>

- `401` Unauthorized

## Response fields

<ParamField body="id" type="string">
Format: `uuid`.
</ParamField>

<ParamField body="name" type="string">

</ParamField>

<ParamField body="slug" type="string">

</ParamField>

<ParamField body="description" type="string | null">

</ParamField>

<ParamField body="avatar_url" type="string | null">
Format: `url`.
</ParamField>

<ParamField body="max_messages_per_session" type="integer | null">

</ParamField>

<ParamField body="tone" type="string | null">

</ParamField>

<ParamField body="response_length" type="string | null">

</ParamField>

<ParamField body="is_active" type="boolean">

</ParamField>

<ParamField body="is_copilot" type="boolean">

</ParamField>

<ParamField body="created_at" type="string | null">
Format: `date-time`.
</ParamField>

<ParamField body="updated_at" type="string | null">
Format: `date-time`.
</ParamField>

---

This knowledge base is built and hosted on [Weav](https://weav.com).
