curl --request PUT \
--url https://{subdomain}.conveyour.com/api/teams/{id} \
--header 'Content-Type: application/json' \
--header 'x-conveyour-token: <api-key>' \
--data '
{
"label": "<string>",
"name": "<string>",
"filters": {},
"contact_fields": [
"<string>"
],
"color": "<string>",
"sms_autoreply": "<string>",
"block_sms": true,
"portal_new_conversation": true,
"contact_desc": "<string>",
"sendblue_number": "<string>"
}
'const options = {
method: 'PUT',
headers: {'x-conveyour-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
label: '<string>',
name: '<string>',
filters: {},
contact_fields: ['<string>'],
color: '<string>',
sms_autoreply: '<string>',
block_sms: true,
portal_new_conversation: true,
contact_desc: '<string>',
sendblue_number: '<string>'
})
};
fetch('https://{subdomain}.conveyour.com/api/teams/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PUT',
headers: {'x-conveyour-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
label: '<string>',
name: '<string>',
filters: {},
contact_fields: ['<string>'],
color: '<string>',
sms_autoreply: '<string>',
block_sms: true,
portal_new_conversation: true,
contact_desc: '<string>',
sendblue_number: '<string>'
})
};
fetch('https://{subdomain}.conveyour.com/api/teams/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{subdomain}.conveyour.com/api/teams/{id}"
payload = {
"label": "<string>",
"name": "<string>",
"filters": {},
"contact_fields": ["<string>"],
"color": "<string>",
"sms_autoreply": "<string>",
"block_sms": True,
"portal_new_conversation": True,
"contact_desc": "<string>",
"sendblue_number": "<string>"
}
headers = {
"x-conveyour-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.conveyour.com/api/teams/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'label' => '<string>',
'name' => '<string>',
'filters' => [
],
'contact_fields' => [
'<string>'
],
'color' => '<string>',
'sms_autoreply' => '<string>',
'block_sms' => true,
'portal_new_conversation' => true,
'contact_desc' => '<string>',
'sendblue_number' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-conveyour-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "ok",
"message": "Team record updated",
"data": {
"id": "64a1b2c3d4e5f6a7b8c9d0e1",
"label": "West Region (Updated)",
"name": "west_region",
"color": "#22aa66",
"twilio_phone": ""
}
}{
"status": "failed",
"message": "Lacking necessary permission add_contacts",
"data": {
"permission": "add_contacts"
}
}{
"status": "failed",
"message": "Contact not found",
"data": []
}Update a team
Updates an existing team. Requires an admin user.
Update a team (admin)
Permission: Org admin only. Denials read Manage Teams.
Not callable with an API key. Requires an org admin. Service accounts cannot be assigned the admin role and their role cannot be changed, so every API key gets 403. Only a signed-in admin can call it.
curl --request PUT \
--url https://{subdomain}.conveyour.com/api/teams/{id} \
--header 'Content-Type: application/json' \
--header 'x-conveyour-token: <api-key>' \
--data '
{
"label": "<string>",
"name": "<string>",
"filters": {},
"contact_fields": [
"<string>"
],
"color": "<string>",
"sms_autoreply": "<string>",
"block_sms": true,
"portal_new_conversation": true,
"contact_desc": "<string>",
"sendblue_number": "<string>"
}
'const options = {
method: 'PUT',
headers: {'x-conveyour-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
label: '<string>',
name: '<string>',
filters: {},
contact_fields: ['<string>'],
color: '<string>',
sms_autoreply: '<string>',
block_sms: true,
portal_new_conversation: true,
contact_desc: '<string>',
sendblue_number: '<string>'
})
};
fetch('https://{subdomain}.conveyour.com/api/teams/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PUT',
headers: {'x-conveyour-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
label: '<string>',
name: '<string>',
filters: {},
contact_fields: ['<string>'],
color: '<string>',
sms_autoreply: '<string>',
block_sms: true,
portal_new_conversation: true,
contact_desc: '<string>',
sendblue_number: '<string>'
})
};
fetch('https://{subdomain}.conveyour.com/api/teams/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{subdomain}.conveyour.com/api/teams/{id}"
payload = {
"label": "<string>",
"name": "<string>",
"filters": {},
"contact_fields": ["<string>"],
"color": "<string>",
"sms_autoreply": "<string>",
"block_sms": True,
"portal_new_conversation": True,
"contact_desc": "<string>",
"sendblue_number": "<string>"
}
headers = {
"x-conveyour-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.conveyour.com/api/teams/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'label' => '<string>',
'name' => '<string>',
'filters' => [
],
'contact_fields' => [
'<string>'
],
'color' => '<string>',
'sms_autoreply' => '<string>',
'block_sms' => true,
'portal_new_conversation' => true,
'contact_desc' => '<string>',
'sendblue_number' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-conveyour-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"status": "ok",
"message": "Team record updated",
"data": {
"id": "64a1b2c3d4e5f6a7b8c9d0e1",
"label": "West Region (Updated)",
"name": "west_region",
"color": "#22aa66",
"twilio_phone": ""
}
}{
"status": "failed",
"message": "Lacking necessary permission add_contacts",
"data": {
"permission": "add_contacts"
}
}{
"status": "failed",
"message": "Contact not found",
"data": []
}Authorizations
Your API key token. Contacts endpoints require a Server-only — Full API key — see Authentication.
Path Parameters
The id identifier.
Query Parameters
Team scope for the request, as one or more team ObjectIds. The brackets are required: PHP keeps only the last value for a repeated plain key, so teams=A&teams=B silently resolves to B alone. On requests with a JSON body you may send teams (no brackets) in the body instead.
Values that are not valid ObjectIds are silently ignored — a mistyped team ID behaves as if no team was sent. See the teams section of the API conventions guide.
Body
Updated human-readable team name. Must remain unique within the org.
Updated machine name. Must remain unique and use tag format.
Updated contact filter definition.
Updated list of contact fields.
Updated display color.
Updated SMS auto-reply message.
Updated SMS blocking flag.
Updated portal new-conversation setting.
Updated Liquid contact-description template.
Updated SendBlue phone number.