Groups and labels
Update groups
Updates one of the calling user’s contact groups and returns it with its contacts. Send any of name, avatar, and avatar_background under group. When group.contact_ids (or, for a rep, group.contacts) is sent it replaces the group’s membership. Requested ids already in the group are kept; other ids that are not the caller’s contacts are ignored. If no id remains, or no membership input is sent, the current membership is unchanged. Returns 400 with the validation errors when the group cannot be saved. Requires a company admin or rep Bearer token; admin users, company API tokens, and partner tokens also need the users update permission.
PATCH
/
api
/
groups
/
{id}
Update groups
curl --request PATCH \
--url https://api.fluid.app/api/groups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"group": {
"name": "Scranton Business Park Tenants",
"avatar_background": "#FFE6EB"
}
}
'import requests
url = "https://api.fluid.app/api/groups/{id}"
payload = { "group": {
"name": "Scranton Business Park Tenants",
"avatar_background": "#FFE6EB"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({group: {name: 'Scranton Business Park Tenants', avatar_background: '#FFE6EB'}})
};
fetch('https://api.fluid.app/api/groups/{id}', 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.fluid.app/api/groups/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'group' => [
'name' => 'Scranton Business Park Tenants',
'avatar_background' => '#FFE6EB'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.fluid.app/api/groups/{id}"
payload := strings.NewReader("{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <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.patch("https://api.fluid.app/api/groups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/groups/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 7343,
"name": "Scranton Business Park Tenants",
"avatar": "📎",
"avatar_background": "#FFE6EB",
"contacts": [],
"activities": []
}{
"message": "<string>"
}Response
Success
A contact group owned by a user, with its contacts.
⌘I
Update groups
curl --request PATCH \
--url https://api.fluid.app/api/groups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"group": {
"name": "Scranton Business Park Tenants",
"avatar_background": "#FFE6EB"
}
}
'import requests
url = "https://api.fluid.app/api/groups/{id}"
payload = { "group": {
"name": "Scranton Business Park Tenants",
"avatar_background": "#FFE6EB"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({group: {name: 'Scranton Business Park Tenants', avatar_background: '#FFE6EB'}})
};
fetch('https://api.fluid.app/api/groups/{id}', 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.fluid.app/api/groups/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'group' => [
'name' => 'Scranton Business Park Tenants',
'avatar_background' => '#FFE6EB'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.fluid.app/api/groups/{id}"
payload := strings.NewReader("{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <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.patch("https://api.fluid.app/api/groups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/groups/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"group\": {\n \"name\": \"Scranton Business Park Tenants\",\n \"avatar_background\": \"#FFE6EB\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 7343,
"name": "Scranton Business Park Tenants",
"avatar": "📎",
"avatar_background": "#FFE6EB",
"contacts": [],
"activities": []
}{
"message": "<string>"
}