Get current user's desktop config
curl --request GET \
--url https://api.openworklabs.com/v1/me/desktop-config \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/me/desktop-config"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/me/desktop-config', 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.openworklabs.com/v1/me/desktop-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/me/desktop-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/me/desktop-config")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/me/desktop-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"allowCustomProviders": true,
"allowZenModel": true,
"allowMultipleWorkspaces": true,
"allowControlSettings": true,
"allowManageExtensions": true,
"allowBuiltInExtensions": true,
"allowAlphaUpdates": true,
"showWelcomePage": true,
"execution": {
"commands": "allow",
"blockedCommands": [],
"browserOrigins": [
"<string>"
],
"blockBrowserUploads": false
},
"allowedDesktopVersions": [
"<string>"
],
"brandAppName": "<string>",
"brandLogoUrl": "<string>",
"brandIconUrl": "<string>",
"brandAccentColor": "blue",
"automationsEnabled": true,
"dashboardEnabled": true,
"connectEnabled": true,
"onboardingPrompts": [
"<string>"
],
"onboardingPromptDescriptions": [
"<string>"
],
"agentPermissions": {
"rules": [
{
"action": "<string>",
"resource": "<string>",
"effect": "allow",
"source": "<string>"
}
]
},
"defaultModel": {
"providerID": "<string>",
"modelID": "<string>",
"source": "team",
"teamName": "<string>"
}
}{
"error": "unauthorized"
}Users
Get current user's desktop config
Returns the authenticated desktop app restrictions for the caller’s active organization, including the caller’s agent permissions as ordered OpenCode permission rules when the organization has agent permissions on, and the model new chats start with (defaultModel, applied by OpenCode v2 desktops only) when the organization has the default model feature on and has chosen one the caller can use.
GET
/
v1
/
me
/
desktop-config
Get current user's desktop config
curl --request GET \
--url https://api.openworklabs.com/v1/me/desktop-config \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/me/desktop-config"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/me/desktop-config', 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.openworklabs.com/v1/me/desktop-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/me/desktop-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/me/desktop-config")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/me/desktop-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"allowCustomProviders": true,
"allowZenModel": true,
"allowMultipleWorkspaces": true,
"allowControlSettings": true,
"allowManageExtensions": true,
"allowBuiltInExtensions": true,
"allowAlphaUpdates": true,
"showWelcomePage": true,
"execution": {
"commands": "allow",
"blockedCommands": [],
"browserOrigins": [
"<string>"
],
"blockBrowserUploads": false
},
"allowedDesktopVersions": [
"<string>"
],
"brandAppName": "<string>",
"brandLogoUrl": "<string>",
"brandIconUrl": "<string>",
"brandAccentColor": "blue",
"automationsEnabled": true,
"dashboardEnabled": true,
"connectEnabled": true,
"onboardingPrompts": [
"<string>"
],
"onboardingPromptDescriptions": [
"<string>"
],
"agentPermissions": {
"rules": [
{
"action": "<string>",
"resource": "<string>",
"effect": "allow",
"source": "<string>"
}
]
},
"defaultModel": {
"providerID": "<string>",
"modelID": "<string>",
"source": "team",
"teamName": "<string>"
}
}{
"error": "unauthorized"
}Authorizations
denApiKeybearerAuth
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Response
Current user desktop config returned successfully.
Show child attributes
Show child attributes
Required string length:
1 - 32Required string length:
1 - 64Maximum string length:
2048Maximum string length:
2048Available options:
blue, crimson, cyan, gold, grass, green, indigo, iris, jade, lime, mint, orange, pink, plum, purple, red, ruby, sky, teal, tomato, violet, yellow Required array length:
2 - 3 elementsRequired string length:
1 - 500Required array length:
2 - 3 elementsMaximum string length:
120Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?