List agents
Retrieve a paginated list of agents for the authenticated organization
Retrieve a paginated list of agents for the authenticated organization
GET https://api.weav.com/v1/agents
Requires a token with the external-api:read or external-api:write ability.
Query parameters
per_pageintegerDefault: 15Number of results per page (max 100)
Minimum: 1.
Maximum: 100.
pageintegerDefault: 1Page number
Minimum: 1.
Request
cURL
curl --request GET \
--url 'https://api.weav.com/v1/agents' \
--header "Authorization: Bearer ${WEAV_API_TOKEN}"
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
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
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();
Response
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": {}
}
401Unauthorized
Response fields
idstringFormat: uuid.
namestringslugstringdescriptionstring | nullavatar_urlstring | nullFormat: url.
max_messages_per_sessioninteger | nulltonestring | nullresponse_lengthstring | nullis_activebooleanis_copilotbooleancreated_atstring | nullFormat: date-time.
updated_atstring | nullFormat: date-time.
