curl --request GET \
--url https://app.base44.com/api/workspace/{workspace_id}/white-label \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/workspace/{workspace_id}/white-label"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/workspace/{workspace_id}/white-label', 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://app.base44.com/api/workspace/{workspace_id}/white-label",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://app.base44.com/api/workspace/{workspace_id}/white-label"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/workspace/{workspace_id}/white-label")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/workspace/{workspace_id}/white-label")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"enabled": true,
"brand_name": "Northlight Studio",
"agent_name": "Scout",
"agent_prompt": "You are Scout, the app builder for Northlight Studio. Build every app with our component library.",
"use_default_design_system": true,
"controls_visible": true,
"can_edit_brand": true,
"can_edit_prompt": true
}{
"error": {
"code": "credentials_in_query",
"message": "Send your credential in the Authorization header, not in the URL.",
"details": {}
}
}{
"error": {
"code": "unauthenticated",
"message": "Authentication required",
"details": {}
}
}{
"error": {
"code": "forbidden",
"message": "You don't have access to this workspace",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "Workspace not found",
"details": {}
}
}{
"error": {
"code": "sso_required_for_workspace",
"message": "sso_required_for_workspace",
"details": {
"workspace_id": "67e0b12c4d8a3f005b21c9e4"
}
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded.",
"details": {}
}
}{
"error": {
"code": "database_unavailable",
"message": "Database temporarily unavailable, please retry",
"details": {}
}
}Get workspace white label
Returns a workspace’s white-label settings: the brand and agent name the builder runs under, the workspace’s own agent prompt, and what the workspace’s plan allows.
The brand name, agent name and use_default_design_system need the Builder plan or higher, and agent_prompt needs a custom Enterprise plan. Read can_edit_brand and can_edit_prompt to see what the workspace’s plan allows.
A personal access token limited to selected apps is refused.
This is limited to 120 requests per minute. A signed-in session has its own limit, every personal access token for the workspace shares one, and each workspace API key has its own. Every response reports the budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
curl --request GET \
--url https://app.base44.com/api/workspace/{workspace_id}/white-label \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/workspace/{workspace_id}/white-label"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/workspace/{workspace_id}/white-label', 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://app.base44.com/api/workspace/{workspace_id}/white-label",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://app.base44.com/api/workspace/{workspace_id}/white-label"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/workspace/{workspace_id}/white-label")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/workspace/{workspace_id}/white-label")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"enabled": true,
"brand_name": "Northlight Studio",
"agent_name": "Scout",
"agent_prompt": "You are Scout, the app builder for Northlight Studio. Build every app with our component library.",
"use_default_design_system": true,
"controls_visible": true,
"can_edit_brand": true,
"can_edit_prompt": true
}{
"error": {
"code": "credentials_in_query",
"message": "Send your credential in the Authorization header, not in the URL.",
"details": {}
}
}{
"error": {
"code": "unauthenticated",
"message": "Authentication required",
"details": {}
}
}{
"error": {
"code": "forbidden",
"message": "You don't have access to this workspace",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "Workspace not found",
"details": {}
}
}{
"error": {
"code": "sso_required_for_workspace",
"message": "sso_required_for_workspace",
"details": {
"workspace_id": "67e0b12c4d8a3f005b21c9e4"
}
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded.",
"details": {}
}
}{
"error": {
"code": "database_unavailable",
"message": "Database temporarily unavailable, please retry",
"details": {}
}
}Authorizations
Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.
Path Parameters
Response
The workspace's white-label settings.
Whether the builder runs under the workspace's brand instead of Base44's.
true
Name of the workspace's platform. null until one is saved.
"Northlight Studio"
What the agent calls itself. null means it answers to brand_name.
"Scout"
The system prompt every app in the workspace is built under, as stored after sanitizing. null means the workspace's apps use Base44's built-in prompt.
"You are Scout, the app builder for Northlight Studio. Build every app with our component library."
Whether the workspace's default design system is added to the agent prompt.
true
Whether white label is available to this workspace: it's enrolled in Base44 for platforms, or white label is already on. When it's false, enabled can't be set to true.
true
Whether the plan allows brand_name, agent_name and use_default_design_system (Builder and up).
true
Whether the plan allows agent_prompt (custom Enterprise).
true
Was this page helpful?