import json
import os
from parable_types_web_api import ConfigureConnectorInput
from parable_web_api_sdk import ClientConfig, PublicEncryptionKey, 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"]},
)
)
key = sdk.security.encryption_key()
sdk.set_public_encryption_key(
PublicEncryptionKey(public_key=key.public_key, algorithm=key.algorithm, key_id=key.key_id)
)
input_data = ConfigureConnectorInput.model_validate(
json.loads("{\"tenantConnectorId\":\"550e8400-e29b-41d4-a716-446655440000\"}"),
)
result = sdk.connectors.configure_connector(input_data)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
}
key, err := sdk.SecurityNamespace.EncryptionKey(ctx)
if err != nil {
return err
}
sdk.SetPublicEncryptionKey(&webapisdk.PublicEncryptionKey{
PublicKey: string(key.PublicKey),
Algorithm: string(key.Algorithm),
KeyID: key.KeyId,
})
var input webapitypes.ConfigureConnectorInput
if err := json.Unmarshal([]byte(`{"tenantConnectorId":"550e8400-e29b-41d4-a716-446655440000"}`), &input); err != nil {
return err
}
result, err := sdk.ConnectorsNamespace.ConfigureConnector(ctx, input, nil){
"data": {
"credentialMetadataId": "<string>",
"message": "<string>",
"success": true
},
"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>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}Configure a Provider connection
Replaces the saved credentials, ingestion settings, or parent data filters of a Provider connection in this Workspace. A field you leave out keeps its saved value. A null ingestionConfig or parentDataFilters clears it. authenticationConfig needs the authenticationStrategyId it belongs to. Send the body encrypted with the Workspace encryption key. Requires permission to manage Provider connection secrets.
import json
import os
from parable_types_web_api import ConfigureConnectorInput
from parable_web_api_sdk import ClientConfig, PublicEncryptionKey, 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"]},
)
)
key = sdk.security.encryption_key()
sdk.set_public_encryption_key(
PublicEncryptionKey(public_key=key.public_key, algorithm=key.algorithm, key_id=key.key_id)
)
input_data = ConfigureConnectorInput.model_validate(
json.loads("{\"tenantConnectorId\":\"550e8400-e29b-41d4-a716-446655440000\"}"),
)
result = sdk.connectors.configure_connector(input_data)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
}
key, err := sdk.SecurityNamespace.EncryptionKey(ctx)
if err != nil {
return err
}
sdk.SetPublicEncryptionKey(&webapisdk.PublicEncryptionKey{
PublicKey: string(key.PublicKey),
Algorithm: string(key.Algorithm),
KeyID: key.KeyId,
})
var input webapitypes.ConfigureConnectorInput
if err := json.Unmarshal([]byte(`{"tenantConnectorId":"550e8400-e29b-41d4-a716-446655440000"}`), &input); err != nil {
return err
}
result, err := sdk.ConnectorsNamespace.ConfigureConnector(ctx, input, nil){
"data": {
"credentialMetadataId": "<string>",
"message": "<string>",
"success": true
},
"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>"
}{
"detail": "<string>",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "WA-VL-001",
"details": "<unknown>",
"errors": "<unknown>",
"requestId": "<string>"
}400. See Encrypted request bodies.Access
This operation needs a Parable token. An MCP token cannot call it. See Authentication for the kinds of token. Your roles must granttenant.connectors.secrets.
Errors
WA-CN-001: The Provider connection was not found. Check the connection identifier.WA-CN-002: The authentication strategy does not belong to this Provider, or authenticationConfig came without authenticationStrategyId. Send one of the Provider’s authentication strategies with its configuration.
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"
Body
UUID v4 with automatic base62 encoding for client-facing APIs
^([0-9A-Za-z]{1,22}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$A Parable Schema in JSON
UUID v4 with automatic base62 encoding for client-facing APIs
^([0-9A-Za-z]{1,22}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$A Parable Schema in JSON
Workspace allowlist: one predicate per parent tap.
Show child attributes
Show child attributes