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.provider_policies.get_provider_policies()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.ProviderPoliciesNamespace.GetProviderPolicies(ctx){
"data": {
"canManage": true,
"roles": [
{
"allDataAccess": true,
"assignable": true,
"holders": 0,
"id": "<string>",
"name": "<string>",
"removed": true
}
],
"tables": [
{
"columns": [
{
"field": {
"arrowType": "<string>",
"hidden": true,
"name": "<string>",
"nullable": true,
"poorPruning": true,
"scalarRef": "<string>",
"system": true
},
"primitive": "String"
}
],
"logicalName": "<string>",
"modeled": true,
"problems": [
{
"condition": 4503599627370495,
"message": "<string>",
"ruleKey": "<string>"
}
],
"providerKey": "<string>",
"schemaName": "<string>",
"tableKey": "<string>",
"parentTableKey": "<string>",
"policy": {
"definition": {
"everyoneElse": {
"access": "all_rows",
"conditions": [
"<string>"
]
},
"rules": [
{
"access": "all_rows",
"conditions": [
"<string>"
],
"key": "<string>",
"roleIds": [
"<string>"
]
}
]
},
"id": "<string>",
"revision": 0,
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>"
},
"statsRowCount": 0,
"tableKind": "main"
}
],
"unmatched": [
{
"columns": [
{
"field": {
"arrowType": "<string>",
"hidden": true,
"name": "<string>",
"nullable": true,
"poorPruning": true,
"scalarRef": "<string>",
"system": true
},
"primitive": "String"
}
],
"logicalName": "<string>",
"modeled": true,
"problems": [
{
"condition": 4503599627370495,
"message": "<string>",
"ruleKey": "<string>"
}
],
"providerKey": "<string>",
"schemaName": "<string>",
"tableKey": "<string>",
"parentTableKey": "<string>",
"policy": {
"definition": {
"everyoneElse": {
"access": "all_rows",
"conditions": [
"<string>"
]
},
"rules": [
{
"access": "all_rows",
"conditions": [
"<string>"
],
"key": "<string>",
"roleIds": [
"<string>"
]
}
]
},
"id": "<string>",
"revision": 0,
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>"
},
"statsRowCount": 0,
"tableKind": "main"
}
]
},
"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 the Workspace's Provider Policies
Returns every Provider table the selected Workspace’s catalog serves with its columns and its Provider Policy, if any, the Workspace roles a rule can bind with how many members hold each, and stored Policies whose table the catalog no longer serves. Problems name each condition that no longer compiles against its table. Row counts are withheld for tables a Provider Policy narrows for the reader.
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.provider_policies.get_provider_policies()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.ProviderPoliciesNamespace.GetProviderPolicies(ctx){
"data": {
"canManage": true,
"roles": [
{
"allDataAccess": true,
"assignable": true,
"holders": 0,
"id": "<string>",
"name": "<string>",
"removed": true
}
],
"tables": [
{
"columns": [
{
"field": {
"arrowType": "<string>",
"hidden": true,
"name": "<string>",
"nullable": true,
"poorPruning": true,
"scalarRef": "<string>",
"system": true
},
"primitive": "String"
}
],
"logicalName": "<string>",
"modeled": true,
"problems": [
{
"condition": 4503599627370495,
"message": "<string>",
"ruleKey": "<string>"
}
],
"providerKey": "<string>",
"schemaName": "<string>",
"tableKey": "<string>",
"parentTableKey": "<string>",
"policy": {
"definition": {
"everyoneElse": {
"access": "all_rows",
"conditions": [
"<string>"
]
},
"rules": [
{
"access": "all_rows",
"conditions": [
"<string>"
],
"key": "<string>",
"roleIds": [
"<string>"
]
}
]
},
"id": "<string>",
"revision": 0,
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>"
},
"statsRowCount": 0,
"tableKind": "main"
}
],
"unmatched": [
{
"columns": [
{
"field": {
"arrowType": "<string>",
"hidden": true,
"name": "<string>",
"nullable": true,
"poorPruning": true,
"scalarRef": "<string>",
"system": true
},
"primitive": "String"
}
],
"logicalName": "<string>",
"modeled": true,
"problems": [
{
"condition": 4503599627370495,
"message": "<string>",
"ruleKey": "<string>"
}
],
"providerKey": "<string>",
"schemaName": "<string>",
"tableKey": "<string>",
"parentTableKey": "<string>",
"policy": {
"definition": {
"everyoneElse": {
"access": "all_rows",
"conditions": [
"<string>"
]
},
"rules": [
{
"access": "all_rows",
"conditions": [
"<string>"
],
"key": "<string>",
"roleIds": [
"<string>"
]
}
]
},
"id": "<string>",
"revision": 0,
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>"
},
"statsRowCount": 0,
"tableKind": "main"
}
]
},
"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
This operation needs a Parable token. An MCP token cannot call it. See Authentication for the kinds of token. Your roles must grant one oftenant.providerpolicies.view, tenant.providerpolicies.manage.
Errors
WA-PP-007: Parable could not list the Workspace’s Provider tables. Try again.
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"