Channels
Downgrade recipient access
Make participants read-only in a conversation you created: the listed recipients can no longer post. Only the conversation’s creator can call this (403 otherwise), and their role must include the messaging update permission. Use Upgrade recipient access to let them post again.
PUT
/
api
/
v1
/
messaging
/
conversations
/
{id}
/
downgrade_access
Downgrade recipient access
curl --request PUT \
--url https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient_ids": [
48307,
48362
]
}
'import requests
url = "https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access"
payload = { "recipient_ids": [48307, 48362] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({recipient_ids: [48307, 48362]})
};
fetch('https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access', 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/v1/messaging/conversations/{id}/downgrade_access",
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([
'recipient_ids' => [
48307,
48362
]
]),
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/v1/messaging/conversations/{id}/downgrade_access"
payload := strings.NewReader("{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Conversation updated successfully"
}{
"message": "<string>"
}⌘I
Downgrade recipient access
curl --request PUT \
--url https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient_ids": [
48307,
48362
]
}
'import requests
url = "https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access"
payload = { "recipient_ids": [48307, 48362] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({recipient_ids: [48307, 48362]})
};
fetch('https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access', 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/v1/messaging/conversations/{id}/downgrade_access",
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([
'recipient_ids' => [
48307,
48362
]
]),
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/v1/messaging/conversations/{id}/downgrade_access"
payload := strings.NewReader("{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v1/messaging/conversations/{id}/downgrade_access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipient_ids\": [\n 48307,\n 48362\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Conversation updated successfully"
}{
"message": "<string>"
}