Block one of an app's hosts organization-wide
curl --request POST \
--url https://api.onecli.sh/v1/org/apps/{provider}/blocklist \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"hostId": "<string>"
}
'import requests
url = "https://api.onecli.sh/v1/org/apps/{provider}/blocklist"
payload = { "hostId": "<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({hostId: '<string>'})
};
fetch('https://api.onecli.sh/v1/org/apps/{provider}/blocklist', 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.onecli.sh/v1/org/apps/{provider}/blocklist",
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([
'hostId' => '<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.onecli.sh/v1/org/apps/{provider}/blocklist"
payload := strings.NewReader("{\n \"hostId\": \"<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.onecli.sh/v1/org/apps/{provider}/blocklist")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hostId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/org/apps/{provider}/blocklist")
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 \"hostId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"hostId": "<string>",
"ruleId": "<string>",
"enabled": true,
"custom": true,
"name": "<string>",
"hostPattern": "<string>",
"scope": "workspace"
}{
"error": "<string>"
}{
"error": "<string>"
}Apps
Block an app host organization-wide
Blocks one of an app’s hosts for the whole organization. The block applies to every workspace and cannot be lifted from inside an individual workspace.
POST
/
org
/
apps
/
{provider}
/
blocklist
Block one of an app's hosts organization-wide
curl --request POST \
--url https://api.onecli.sh/v1/org/apps/{provider}/blocklist \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"hostId": "<string>"
}
'import requests
url = "https://api.onecli.sh/v1/org/apps/{provider}/blocklist"
payload = { "hostId": "<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({hostId: '<string>'})
};
fetch('https://api.onecli.sh/v1/org/apps/{provider}/blocklist', 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.onecli.sh/v1/org/apps/{provider}/blocklist",
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([
'hostId' => '<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.onecli.sh/v1/org/apps/{provider}/blocklist"
payload := strings.NewReader("{\n \"hostId\": \"<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.onecli.sh/v1/org/apps/{provider}/blocklist")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hostId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/org/apps/{provider}/blocklist")
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 \"hostId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"hostId": "<string>",
"ruleId": "<string>",
"enabled": true,
"custom": true,
"name": "<string>",
"hostPattern": "<string>",
"scope": "workspace"
}{
"error": "<string>"
}{
"error": "<string>"
}Adds an organization-wide block for one host of an app. Workspaces cannot override it. Use it to shut off a risky endpoint for every agent at once.
Related guide: App connections: connect agents to apps.
An organization block applies to every workspace and cannot be lifted from a workspace.
Availability: Cloud · Community (self-hosted) · Enterprise (self-hosted)
Authorizations
A workspace API key (oc_…) or organization API key (oc_org_…). Workspace-scoped endpoints called with an organization key also need X-Workspace-Id.
Path Parameters
App provider identifier (for example gmail, github, jira).
Body
application/json
Response
The host's new state
State of one of the app's predefined blockable hosts.
The backing rule ID, or null when the host has never been activated.
Always false. Blocking an arbitrary host is a policy rule now; this surface only toggles the hosts the app itself declares.
Where the backing rule lives. An organization rule overrides the workspace's view of that host.
Available options:
workspace, organization, null