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,
"defaultMonthlyCreditLimitPerAgent": 123,
"preferredLlmModel": "<string>",
"llmDefaultMode": "<string>",
"enabledLlmModels": [
"<string>"
],
"disabledLlmModels": [
"<string>"
],
"additionalLlmModelsForWorkspace": [
"<string>"
],
"capabilityAdminSettings": {
"capabilities": {},
"defaultMode": "<string>",
"allowUserMcpServers": true,
"defaultCreditDetails": true,
"hideUnavailableCapabilities": true,
"defaultContact": "<string>"
},
"accountRules": {
"enforceStripeSubscription": true,
"enforcePositiveBalance": true
},
"groupSettings": {
"enabled": true,
"customerWideGroupTransparency": true,
"allowCreateGlobalAgents": "<string>"
},
"loginSettings": {
"allowedLoginMethods": [
"<string>"
],
"allowedDomains": [
"<string>"
],
"ssoAutoJoin": true,
"ssoAutoJoinGroupIds": [
"<string>"
],
"ssoAutoJoinRole": "<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
}
},
"agentLifecycleSettings": {
"enabled": true,
"whoCanChangePhase": "<string>",
"reservedCreditsForProduction": 123,
"promotionMode": "direct",
"changesInProduction": {
"categories": {},
"reaction": "reReview",
"probationDays": 123,
"periodicReviewDays": 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, tags, the configured LLMs, and the retired value capture configuration (deprecated, removed in a later release).
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,
"defaultMonthlyCreditLimitPerAgent": 123,
"preferredLlmModel": "<string>",
"llmDefaultMode": "<string>",
"enabledLlmModels": [
"<string>"
],
"disabledLlmModels": [
"<string>"
],
"additionalLlmModelsForWorkspace": [
"<string>"
],
"capabilityAdminSettings": {
"capabilities": {},
"defaultMode": "<string>",
"allowUserMcpServers": true,
"defaultCreditDetails": true,
"hideUnavailableCapabilities": true,
"defaultContact": "<string>"
},
"accountRules": {
"enforceStripeSubscription": true,
"enforcePositiveBalance": true
},
"groupSettings": {
"enabled": true,
"customerWideGroupTransparency": true,
"allowCreateGlobalAgents": "<string>"
},
"loginSettings": {
"allowedLoginMethods": [
"<string>"
],
"allowedDomains": [
"<string>"
],
"ssoAutoJoin": true,
"ssoAutoJoinGroupIds": [
"<string>"
],
"ssoAutoJoinRole": "<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
}
},
"agentLifecycleSettings": {
"enabled": true,
"whoCanChangePhase": "<string>",
"reservedCreditsForProduction": 123,
"promotionMode": "direct",
"changesInProduction": {
"categories": {},
"reaction": "reReview",
"probationDays": 123,
"periodicReviewDays": 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, PUT, PATCH and DELETE endpoints the Workspace write API scope, and sending or revoking invitations (POST and DELETE /workspaceapi/invites) the Invite members scope. A key stops working when it expires or is disabled.
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.
Applied to every agent that has no monthlyCreditLimit of its own. Absent means none.
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
Deprecated: the retired value capture configuration, kept read-only so it can be exported before a later release removes it. Its category ids label the deprecated valueEntries on agents.
Show child attributes
Show child attributes
Sandbox / production phases. Only active when the matching feature flag is also on. In reviewed promotion mode whoCanChangePhase does not apply: owners request a review and only the override role promotes directly. changesInProduction says, per category, whether changes to a production agent are allowed, checked (which starts a re-review or moves the agent to sandbox) or blocked.
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.

