Weav

Update agent

Update an existing agent. Cannot update copilot agents.

Update an existing agent. Cannot update copilot agents.

PUT https://api.weav.com/v1/agents/{id}

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

Path parameters

idstringrequired

Agent UUID

Format: uuid.

Body

namestring

Maximum length: 255.

descriptionstring | null
avatar_urlstring | null

Format: url.

max_messages_per_sessioninteger | null

Minimum: 1.

Maximum: 1000.

tonestring | null

Maximum length: 255.

is_activeboolean | null

Request

cURL
curl --request PUT \
  --url 'https://api.weav.com/v1/agents/{id}' \
  --header "Authorization: Bearer ${WEAV_API_TOKEN}" \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Updated Agent"
}'
JavaScript
const body = {
  "name": "Updated Agent"
};
const response = await fetch("https://api.weav.com/v1/agents/{id}", {
  method: "PUT",
  headers: {
    Authorization: `Bearer ${process.env.WEAV_API_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(body)
});
console.log(await response.json());
Python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['WEAV_API_TOKEN']}"}
body = {"name": "Updated Agent"}
response = requests.put("https://api.weav.com/v1/agents/{id}", headers=headers, json=body)
print(response.json())
PHP
use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('PUT', 'https://api.weav.com/v1/agents/{id}', [
    'headers' => ['Authorization' => 'Bearer '.getenv('WEAV_API_TOKEN')],
    'json' => array (
  'name' => 'Updated Agent',
),
]);
echo $response->getBody();

Response

200 OK
{
    "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"
}
  • 400 Bad Request
  • 403 Forbidden
  • 404 Not Found
  • 401 Unauthorized

Response fields

idstring

Format: uuid.

namestring
slugstring
descriptionstring | null
avatar_urlstring | null

Format: url.

max_messages_per_sessioninteger | null
tonestring | null
response_lengthstring | null
is_activeboolean
is_copilotboolean
created_atstring | null

Format: date-time.

updated_atstring | null

Format: date-time.