Set surface visibility
curl --request POST \
--url https://api.hq.zone/v1/api/surfaces/{id}/visibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"visibility": "<string>"
}
'import requests
url = "https://api.hq.zone/v1/api/surfaces/{id}/visibility"
payload = { "visibility": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({visibility: '<string>'})
};
fetch('https://api.hq.zone/v1/api/surfaces/{id}/visibility', 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.hq.zone/v1/api/surfaces/{id}/visibility",
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([
'visibility' => '<string>'
]),
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.hq.zone/v1/api/surfaces/{id}/visibility"
payload := strings.NewReader("{\n \"visibility\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.hq.zone/v1/api/surfaces/{id}/visibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"visibility\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hq.zone/v1/api/surfaces/{id}/visibility")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"visibility\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"auth_mode": "<string>",
"surface_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"visibility": "<string>"
}Conversations
Set surface visibility
Sets an app surface’s visibility to either private or public, controlling whether its bare URL works for anyone. Scoped to the caller’s workspace, and the caller must be able to access the surface’s backing conversation. Rejects values other than private or public with 400. Returns the surface id, the resulting visibility, and the underlying auth mode. Returns 404 if the surface is not found or is in a terminal state.
POST
/
v1
/
api
/
surfaces
/
{id}
/
visibility
Set surface visibility
curl --request POST \
--url https://api.hq.zone/v1/api/surfaces/{id}/visibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"visibility": "<string>"
}
'import requests
url = "https://api.hq.zone/v1/api/surfaces/{id}/visibility"
payload = { "visibility": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({visibility: '<string>'})
};
fetch('https://api.hq.zone/v1/api/surfaces/{id}/visibility', 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.hq.zone/v1/api/surfaces/{id}/visibility",
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([
'visibility' => '<string>'
]),
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.hq.zone/v1/api/surfaces/{id}/visibility"
payload := strings.NewReader("{\n \"visibility\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.hq.zone/v1/api/surfaces/{id}/visibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"visibility\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hq.zone/v1/api/surfaces/{id}/visibility")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"visibility\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"auth_mode": "<string>",
"surface_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"visibility": "<string>"
}Authorizations
bearer_patoauth2
Personal Access Token. Send as Authorization: Bearer hq_pat_....
Path Parameters
Surface id
Body
application/json
"private" or "public".
⌘I