cURL
curl --request PUT \
--url https://api.opal.dev/v1/bundles/{bundle_id}/visibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"visibility": "LIMITED",
"visibility_group_ids": [
"7870617d-e72a-47f5-a84c-693817ab4567",
"1520617d-e72a-47f5-a84c-693817ab48ad2"
]
}
'import requests
url = "https://api.opal.dev/v1/bundles/{bundle_id}/visibility"
payload = {
"visibility": "LIMITED",
"visibility_group_ids": ["7870617d-e72a-47f5-a84c-693817ab4567", "1520617d-e72a-47f5-a84c-693817ab48ad2"]
}
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({
visibility: 'LIMITED',
visibility_group_ids: [
'7870617d-e72a-47f5-a84c-693817ab4567',
'1520617d-e72a-47f5-a84c-693817ab48ad2'
]
})
};
fetch('https://api.opal.dev/v1/bundles/{bundle_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.opal.dev/v1/bundles/{bundle_id}/visibility",
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([
'visibility' => 'LIMITED',
'visibility_group_ids' => [
'7870617d-e72a-47f5-a84c-693817ab4567',
'1520617d-e72a-47f5-a84c-693817ab48ad2'
]
]),
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.opal.dev/v1/bundles/{bundle_id}/visibility"
payload := strings.NewReader("{\n \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\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.opal.dev/v1/bundles/{bundle_id}/visibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.opal.dev/v1/bundles/{bundle_id}/visibility")
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 \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\n ]\n}"
response = http.request(request)
puts response.read_bodySets the visibility of the bundle.
PUT
/
bundles
/
{bundle_id}
/
visibility
cURL
curl --request PUT \
--url https://api.opal.dev/v1/bundles/{bundle_id}/visibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"visibility": "LIMITED",
"visibility_group_ids": [
"7870617d-e72a-47f5-a84c-693817ab4567",
"1520617d-e72a-47f5-a84c-693817ab48ad2"
]
}
'import requests
url = "https://api.opal.dev/v1/bundles/{bundle_id}/visibility"
payload = {
"visibility": "LIMITED",
"visibility_group_ids": ["7870617d-e72a-47f5-a84c-693817ab4567", "1520617d-e72a-47f5-a84c-693817ab48ad2"]
}
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({
visibility: 'LIMITED',
visibility_group_ids: [
'7870617d-e72a-47f5-a84c-693817ab4567',
'1520617d-e72a-47f5-a84c-693817ab48ad2'
]
})
};
fetch('https://api.opal.dev/v1/bundles/{bundle_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.opal.dev/v1/bundles/{bundle_id}/visibility",
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([
'visibility' => 'LIMITED',
'visibility_group_ids' => [
'7870617d-e72a-47f5-a84c-693817ab4567',
'1520617d-e72a-47f5-a84c-693817ab48ad2'
]
]),
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.opal.dev/v1/bundles/{bundle_id}/visibility"
payload := strings.NewReader("{\n \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\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.opal.dev/v1/bundles/{bundle_id}/visibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.opal.dev/v1/bundles/{bundle_id}/visibility")
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 \"visibility\": \"LIMITED\",\n \"visibility_group_ids\": [\n \"7870617d-e72a-47f5-a84c-693817ab4567\",\n \"1520617d-e72a-47f5-a84c-693817ab48ad2\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the bundle.
Body
application/json
The visibility details of the bundle. Setting to LIMITED visibility with no visibility groups will make bundle only visible to admins and users with access.
Response
200
The visibility details of the bundle were successfully set.
Last modified on July 23, 2026
Was this page helpful?
⌘I