curl --request GET \
--url https://service.abundly.ai/workspaceapi/overview \
--header 'Authorization: Bearer <token>'import requests
url = "https://service.abundly.ai/workspaceapi/overview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://service.abundly.ai/workspaceapi/overview', 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://service.abundly.ai/workspaceapi/overview",
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://service.abundly.ai/workspaceapi/overview"
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://service.abundly.ai/workspaceapi/overview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.abundly.ai/workspaceapi/overview")
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{
"id": "<string>",
"name": "<string>",
"toolCredentials": [
{
"type": "<string>",
"fields": [
{
"key": "<string>",
"isSet": true
}
]
}
],
"tags": [
"<string>"
],
"featureFlags": {},
"defaultDailyCreditLimitPerAgent": 123,
"preferredLlmModel": "<string>",
"llmDefaultMode": "<string>",
"enabledLlmModels": [
"<string>"
],
"disabledLlmModels": [
"<string>"
],
"additionalLlmModelsForWorkspace": [
"<string>"
],
"capabilityAdminSettings": {
"capabilities": {},
"defaultMode": "<string>",
"allowUserMcpServers": true,
"defaultCreditDetails": true,
"hideUnavailableCapabilities": true
},
"accountRules": {
"enforceStripeSubscription": true,
"enforcePositiveBalance": true
},
"groupSettings": {
"enabled": true,
"customerWideGroupTransparency": true,
"allowCreateGlobalAgents": "<string>"
},
"loginSettings": {
"allowedLoginMethods": [
"<string>"
],
"allowedDomains": [
"<string>"
],
"ssoAutoJoin": true,
"ssoAutoJoinGroupIds": [
"<string>"
]
},
"joinSettings": {
"code": "<string>",
"info": "<string>",
"validFrom": "<string>",
"validTo": "<string>"
},
"securityAlertSettings": {},
"notificationSettings": {},
"documentWriteAccess": {
"humanPolicy": "<string>",
"agentPolicy": "<string>"
},
"agentValueCaptureSettings": {
"enabled": true,
"typeOfValue": {
"enabled": true,
"required": true,
"categories": [
{
"id": "<string>",
"label": "<string>",
"colorKey": "<string>",
"order": 123
}
]
},
"criticality": {
"enabled": true,
"required": true
},
"showWarningBanner": true
},
"agentLifecycleSettings": {
"enabled": true,
"whoCanChangePhase": "<string>",
"reservedCreditsForProduction": 123
},
"dpa": {},
"subprocessorNoticePeriodDays": 123,
"subprocessorAuthorizations": {},
"subscriptionLimits": {
"maxUsers": 123
},
"seatsOverride": 123,
"stripeSubscriptionStatus": "<string>",
"stripeSubscriptionPlanName": "<string>",
"stripeSubscriptionCreditsPerMonth": 123,
"stripeTrialEnd": "<string>",
"creditRefillSchedule": {},
"suspendedAt": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Get workspace configuration
Workspace-level settings: feature flags, credit defaults, account rules, DPA and subprocessor settings, login settings, value capture configuration, tags, and the configured LLMs.
curl --request GET \
--url https://service.abundly.ai/workspaceapi/overview \
--header 'Authorization: Bearer <token>'import requests
url = "https://service.abundly.ai/workspaceapi/overview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://service.abundly.ai/workspaceapi/overview', 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://service.abundly.ai/workspaceapi/overview",
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://service.abundly.ai/workspaceapi/overview"
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://service.abundly.ai/workspaceapi/overview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.abundly.ai/workspaceapi/overview")
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{
"id": "<string>",
"name": "<string>",
"toolCredentials": [
{
"type": "<string>",
"fields": [
{
"key": "<string>",
"isSet": true
}
]
}
],
"tags": [
"<string>"
],
"featureFlags": {},
"defaultDailyCreditLimitPerAgent": 123,
"preferredLlmModel": "<string>",
"llmDefaultMode": "<string>",
"enabledLlmModels": [
"<string>"
],
"disabledLlmModels": [
"<string>"
],
"additionalLlmModelsForWorkspace": [
"<string>"
],
"capabilityAdminSettings": {
"capabilities": {},
"defaultMode": "<string>",
"allowUserMcpServers": true,
"defaultCreditDetails": true,
"hideUnavailableCapabilities": true
},
"accountRules": {
"enforceStripeSubscription": true,
"enforcePositiveBalance": true
},
"groupSettings": {
"enabled": true,
"customerWideGroupTransparency": true,
"allowCreateGlobalAgents": "<string>"
},
"loginSettings": {
"allowedLoginMethods": [
"<string>"
],
"allowedDomains": [
"<string>"
],
"ssoAutoJoin": true,
"ssoAutoJoinGroupIds": [
"<string>"
]
},
"joinSettings": {
"code": "<string>",
"info": "<string>",
"validFrom": "<string>",
"validTo": "<string>"
},
"securityAlertSettings": {},
"notificationSettings": {},
"documentWriteAccess": {
"humanPolicy": "<string>",
"agentPolicy": "<string>"
},
"agentValueCaptureSettings": {
"enabled": true,
"typeOfValue": {
"enabled": true,
"required": true,
"categories": [
{
"id": "<string>",
"label": "<string>",
"colorKey": "<string>",
"order": 123
}
]
},
"criticality": {
"enabled": true,
"required": true
},
"showWarningBanner": true
},
"agentLifecycleSettings": {
"enabled": true,
"whoCanChangePhase": "<string>",
"reservedCreditsForProduction": 123
},
"dpa": {},
"subprocessorNoticePeriodDays": 123,
"subprocessorAuthorizations": {},
"subscriptionLimits": {
"maxUsers": 123
},
"seatsOverride": 123,
"stripeSubscriptionStatus": "<string>",
"stripeSubscriptionPlanName": "<string>",
"stripeSubscriptionCreditsPerMonth": 123,
"stripeTrialEnd": "<string>",
"creditRefillSchedule": {},
"suspendedAt": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Workspace API key (wk_). GET endpoints require the Workspace read API scope, POST endpoints the Workspace write API scope.
Response
Success. Empty result sets are also 200.
Workspace settings, as the settings page shows them. Credential values never appear: toolCredentials reports only the type and which fields are set, and any other credential-shaped field is redacted.
Show child attributes
Show child attributes
Per-workspace feature toggles, keyed by flag name.
Show child attributes
Show child attributes
Applied to every agent that has no dailyCreditLimit of its own.
Which capabilities agents may use, and the default for capabilities with no explicit entry.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Teams. When enabled is false, /teams returns an empty list and the team write endpoints 400.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Also served on its own at /security-settings.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The typeOfValue.categories[].id values here are the category ids /agents/value-entries accepts.
Show child attributes
Show child attributes
Sandbox / production phases. Only active when the matching feature flag is also on.
Show child attributes
Show child attributes
Data processing agreement status and legal entity details.
Show child attributes
Show child attributes
Keyed by subprocessor id: authorization status, who decided, and the notice audit trail. Redaction covers the whole block, so its string values read [redacted]; dates and booleans survive.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
ISO 8601 timestamp.
Show child attributes
Show child attributes
Set while the workspace is suspended.

