Update Agent Group
curl --request POST \
--url https://api.velt.dev/v2/agents/groups/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"groupId": "<string>",
"name": "<string>",
"description": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/agents/groups/update"
payload = { "data": {
"groupId": "<string>",
"name": "<string>",
"description": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {groupId: '<string>', name: '<string>', description: '<string>'}})
};
fetch('https://api.velt.dev/v2/agents/groups/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.velt.dev/v2/agents/groups/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'groupId' => '<string>',
'name' => '<string>',
'description' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/agents/groups/update"
payload := strings.NewReader("{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velt.dev/v2/agents/groups/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/agents/groups/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Agent group updated successfully",
"data": {
"group": {
"id": "K3mR7pQxN2vB9wLdT4sY",
"name": "Brand QA (v2)",
"agentIds": ["abc123def456"],
"metadata": { "apiKey": "ak_xxx" },
"createdAt": 1711900000000,
"updatedAt": 1711950000000
}
}
}
}
Groups
Update Agent Group
POST
/
v2
/
agents
/
groups
/
update
Update Agent Group
curl --request POST \
--url https://api.velt.dev/v2/agents/groups/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"groupId": "<string>",
"name": "<string>",
"description": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/agents/groups/update"
payload = { "data": {
"groupId": "<string>",
"name": "<string>",
"description": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {groupId: '<string>', name: '<string>', description: '<string>'}})
};
fetch('https://api.velt.dev/v2/agents/groups/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.velt.dev/v2/agents/groups/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'groupId' => '<string>',
'name' => '<string>',
'description' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/agents/groups/update"
payload := strings.NewReader("{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velt.dev/v2/agents/groups/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/agents/groups/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"groupId\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Agent group updated successfully",
"data": {
"group": {
"id": "K3mR7pQxN2vB9wLdT4sY",
"name": "Brand QA (v2)",
"agentIds": ["abc123def456"],
"metadata": { "apiKey": "ak_xxx" },
"createdAt": 1711900000000,
"updatedAt": 1711950000000
}
}
}
}
Use this API to update an agent group’s
At least one of
Returns the updated group document, the same shape as Get Group. System groups carry
Errors:
name and/or description.
This endpoint updates only
name and description. It cannot change membership; use Add Agents / Remove Agents for that. metadata is immutable after creation. Sending metadata, agentIds, or any other unknown field is rejected with a validation error (.strict()).name or description must be provided; an empty update is rejected.
System groups (
copy-qa, seo, design-checks, performance, brand-checks) are not protected from renaming. Passing one of their ids renames it like any other group, and the new name persists for every user in the workspace. There is no way to restore the original name except by setting it again yourself.Endpoint
POST https://api.velt.dev/v2/agents/groups/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Example Requests
{
"data": {
"groupId": "K3mR7pQxN2vB9wLdT4sY",
"name": "Brand QA (v2)",
"description": "Updated brand-quality agent set"
}
}
Response
Success Response
{
"result": {
"status": "success",
"message": "Agent group updated successfully",
"data": {
"group": {
"id": "K3mR7pQxN2vB9wLdT4sY",
"name": "Brand QA (v2)",
"description": "Updated brand-quality agent set",
"agentIds": ["abc123def456", "spell-check"],
"metadata": { "apiKey": "ak_xxx" },
"createdAt": 1711900000000,
"updatedAt": 1711950000000
}
}
}
}
system: true; groups you created omit the field.
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "NOT_FOUND"
}
}
NOT_FOUND: the group does not exist.INVALID_ARGUMENT: neithernamenordescriptionprovided, over-length values, or unknown fields (e.g.metadata,agentIds) sent.
{
"result": {
"status": "success",
"message": "Agent group updated successfully",
"data": {
"group": {
"id": "K3mR7pQxN2vB9wLdT4sY",
"name": "Brand QA (v2)",
"agentIds": ["abc123def456"],
"metadata": { "apiKey": "ak_xxx" },
"createdAt": 1711900000000,
"updatedAt": 1711950000000
}
}
}
}
Was this page helpful?
⌘I

