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_source_permissions_freshness()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.GetSourcePermissionsFreshness(ctx){
"data": {
"agingAfterSeconds": 0,
"providers": [
{
"ageSeconds": 4503599627370495,
"providerKey": "<string>",
"schemaName": "<string>",
"state": "current",
"tables": [
{
"access": "anchored",
"logicalName": "<string>",
"tableKey": "<string>",
"tableKind": "main",
"anchorColumn": "<string>",
"parentTableKey": "<string>"
}
],
"computedAt": "2023-11-07T05:31:56Z",
"oldestInputAt": "2023-11-07T05:31:56Z"
}
],
"served": true,
"staleAfterSeconds": 0
},
"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 how current the source permissions projection is
Returns, for each Provider whose tables source permissions model, when the access projection was built, the oldest input sync it used, its age, and whether it is current, aging (older than 30 hours) or stale (older than 36 hours), or not built. A read of a modeled table under source permissions uses an aging or stale projection, and is refused while the projection is not built. Each Provider lists its modeled tables and, for each anchored table, the column that holds the row’s anchor key.
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_source_permissions_freshness()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.GetSourcePermissionsFreshness(ctx){
"data": {
"agingAfterSeconds": 0,
"providers": [
{
"ageSeconds": 4503599627370495,
"providerKey": "<string>",
"schemaName": "<string>",
"state": "current",
"tables": [
{
"access": "anchored",
"logicalName": "<string>",
"tableKey": "<string>",
"tableKind": "main",
"anchorColumn": "<string>",
"parentTableKey": "<string>"
}
],
"computedAt": "2023-11-07T05:31:56Z",
"oldestInputAt": "2023-11-07T05:31:56Z"
}
],
"served": true,
"staleAfterSeconds": 0
},
"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 read the access projection. 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"