import os
from parable_web_api_sdk import ClientConfig, WebApiSDK
sdk = WebApiSDK(
ClientConfig(
base_url=os.environ["PARABLE_API_URL"],
auth_token=os.environ["PARABLE_API_TOKEN"],
default_headers={"X-Tenant": os.environ["PARABLE_WORKSPACE"]},
)
)
result = sdk.model_policy.get_model_policy()sdk, err := webapisdk.New(webapisdk.SDKConfig{
BaseURL: os.Getenv("PARABLE_API_URL"),
Auth: &webapisdk.AuthConfig{Token: os.Getenv("PARABLE_API_TOKEN")},
RequestInterceptor: func(ctx context.Context, req *http.Request) error {
req.Header.Set("X-Tenant", os.Getenv("PARABLE_WORKSPACE"))
return nil
},
})
if err != nil {
return err
}
result, err := sdk.ModelPolicyNamespace.GetModelPolicy(ctx){
"data": {
"capabilityDefaults": [
{
"capability": "PONDER_CHAT",
"choice": {
"kind": "MODEL_RELEASE",
"modelReleaseId": "<string>"
}
}
],
"disabledProcessors": [
"VERTEX"
],
"effective": {
"capabilities": [
{
"capability": "PONDER_CHAT",
"eligibleProcessors": [
"VERTEX"
],
"refusal": "ENVIRONMENT_POLICY_MISSING",
"resolved": {
"choice": {
"kind": "MODEL_RELEASE",
"modelReleaseId": "<string>"
},
"processor": "VERTEX",
"source": "EXPLICIT",
"inputTokenLimit": 0,
"modelReleaseId": "<string>",
"routeModelId": "<string>"
}
}
],
"digest": "<string>",
"policyVersion": 4503599627370495,
"tenantId": "<string>",
"vertexProject": "<string>"
},
"features": [
{
"capability": "PONDER_CHAT",
"name": "<string>",
"whenUnavailable": "<string>",
"whenDefaultChanges": "<string>"
}
],
"processors": [
{
"capabilities": [
"PONDER_CHAT"
],
"eligibleCapabilities": [
"PONDER_CHAT"
],
"processor": "VERTEX",
"switchedOff": true,
"withinCeiling": true,
"ponderServer": "<string>",
"terms": {
"description": "<string>",
"name": "<string>",
"processor": "VERTEX",
"retention": "<string>",
"retentionBasis": "ZERO_DATA_RETENTION_REQUIRED"
}
}
],
"settableDefaults": [
{
"capability": "PONDER_CHAT",
"choiceKind": "MODEL_RELEASE"
}
],
"eligibleProcessors": [
"VERTEX"
],
"vertexProject": "<string>"
},
"meta": {
"requestId": "<string>",
"totalCount": 123
},
"links": {
"first": "<string>",
"last": "<string>",
"next": "<string>",
"prev": "<string>"
}
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}Too Many Requests{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}Read which AI processors may use Workspace data
Returns the selected Workspace’s AI model policy: the processors Parable allows for it, the processors the Workspace switched off, its default model per capability, and the effective policy every AI call applies. Requires permission to manage the Workspace’s AI processors.
import os
from parable_web_api_sdk import ClientConfig, WebApiSDK
sdk = WebApiSDK(
ClientConfig(
base_url=os.environ["PARABLE_API_URL"],
auth_token=os.environ["PARABLE_API_TOKEN"],
default_headers={"X-Tenant": os.environ["PARABLE_WORKSPACE"]},
)
)
result = sdk.model_policy.get_model_policy()sdk, err := webapisdk.New(webapisdk.SDKConfig{
BaseURL: os.Getenv("PARABLE_API_URL"),
Auth: &webapisdk.AuthConfig{Token: os.Getenv("PARABLE_API_TOKEN")},
RequestInterceptor: func(ctx context.Context, req *http.Request) error {
req.Header.Set("X-Tenant", os.Getenv("PARABLE_WORKSPACE"))
return nil
},
})
if err != nil {
return err
}
result, err := sdk.ModelPolicyNamespace.GetModelPolicy(ctx){
"data": {
"capabilityDefaults": [
{
"capability": "PONDER_CHAT",
"choice": {
"kind": "MODEL_RELEASE",
"modelReleaseId": "<string>"
}
}
],
"disabledProcessors": [
"VERTEX"
],
"effective": {
"capabilities": [
{
"capability": "PONDER_CHAT",
"eligibleProcessors": [
"VERTEX"
],
"refusal": "ENVIRONMENT_POLICY_MISSING",
"resolved": {
"choice": {
"kind": "MODEL_RELEASE",
"modelReleaseId": "<string>"
},
"processor": "VERTEX",
"source": "EXPLICIT",
"inputTokenLimit": 0,
"modelReleaseId": "<string>",
"routeModelId": "<string>"
}
}
],
"digest": "<string>",
"policyVersion": 4503599627370495,
"tenantId": "<string>",
"vertexProject": "<string>"
},
"features": [
{
"capability": "PONDER_CHAT",
"name": "<string>",
"whenUnavailable": "<string>",
"whenDefaultChanges": "<string>"
}
],
"processors": [
{
"capabilities": [
"PONDER_CHAT"
],
"eligibleCapabilities": [
"PONDER_CHAT"
],
"processor": "VERTEX",
"switchedOff": true,
"withinCeiling": true,
"ponderServer": "<string>",
"terms": {
"description": "<string>",
"name": "<string>",
"processor": "VERTEX",
"retention": "<string>",
"retentionBasis": "ZERO_DATA_RETENTION_REQUIRED"
}
}
],
"settableDefaults": [
{
"capability": "PONDER_CHAT",
"choiceKind": "MODEL_RELEASE"
}
],
"eligibleProcessors": [
"VERTEX"
],
"vertexProject": "<string>"
},
"meta": {
"requestId": "<string>",
"totalCount": 123
},
"links": {
"first": "<string>",
"last": "<string>",
"next": "<string>",
"prev": "<string>"
}
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}Too Many Requests{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}Access
An MCP token or a Parable token can call this operation. See Authentication for the kinds of token. Your roles must granttenant.ai.manage.
Errors
WA-TN-001: The request has no Workspace context. Select a Workspace before reading its model policy.
Authorizations
A personal access token, which starts with pat_. A Parable token can call each operation that the roles of its owner allow. An MCP token can call only the read operations that are open to agents. A SQL token does not work on this API.
Headers
Workspace slug. Overrides subdomain-based workspace resolution when provided.
"acme"
Optional request correlation ID echoed back in the response.
"550e8400-e29b-41d4-a716-446655440000"
Response
Successful response
A Workspace's AI model policy as its administrators see it: the stored choices and the effective policy Parable computes from them. Parable sets the processors the Workspace may use and its Vertex AI project. The Workspace switches processors off and sets the defaults.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes