import { WebApiSDK } from "@parable-platform/web-api-sdk";
import type { CreateTenantConnectorTapInput } from "@parable-platform/web-api-types";
const sdk = new WebApiSDK({
baseUrl: process.env.PARABLE_API_URL!,
auth: { token: process.env.PARABLE_API_TOKEN! },
requestInterceptor: (config) => ({
...config,
headers: { ...config.headers, "X-Tenant": process.env.PARABLE_WORKSPACE! },
}),
});
const input: CreateTenantConnectorTapInput = JSON.parse(`{
"tenantConnectorId": "550e8400-e29b-41d4-a716-446655440000",
"connectorTapId": "550e8400-e29b-41d4-a716-446655440000"
}`);
const result = await sdk.tenantConnectorTaps.createTenantConnectorTap(
input
);import json
import os
from parable_types_web_api import CreateTenantConnectorTapInput
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"]},
)
)
input_data = CreateTenantConnectorTapInput.model_validate(
json.loads("{\"tenantConnectorId\":\"550e8400-e29b-41d4-a716-446655440000\",\"connectorTapId\":\"550e8400-e29b-41d4-a716-446655440000\"}"),
)
result = sdk.tenant_connector_taps.create_tenant_connector_tap(input_data)use parable_web_api_sdk::{types, ClientConfig, RequestOptions, WebApiSdk};
let sdk = WebApiSdk::new(ClientConfig::with_base_url(
std::env::var("PARABLE_API_URL")?,
Some(std::env::var("PARABLE_API_TOKEN")?),
None,
))?;
let options = RequestOptions::with_header("X-Tenant", std::env::var("PARABLE_WORKSPACE")?, None, None);
let input: types::CreateTenantConnectorTapInput = serde_json::from_value(
serde_json::json!({
"tenantConnectorId": "550e8400-e29b-41d4-a716-446655440000",
"connectorTapId": "550e8400-e29b-41d4-a716-446655440000"
}),
)?;
let result = sdk.tenant_connector_taps.create_tenant_connector_tap(
input,
Some(&options)
).await?;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
}
var input webapitypes.CreateTenantConnectorTapInput
if err := json.Unmarshal([]byte(`{"tenantConnectorId":"550e8400-e29b-41d4-a716-446655440000","connectorTapId":"550e8400-e29b-41d4-a716-446655440000"}`), &input); err != nil {
return err
}
result, err := sdk.TenantConnectorTapsNamespace.CreateTenantConnectorTap(ctx, input){
"data": {
"canonicalPersonSource": true,
"connectorTapId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"enabled": true,
"id": "<string>",
"kind": "override",
"name": "<string>",
"outputSchema": {},
"tenantConnectorId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"artifactId": "<string>",
"config": {
"catalogSlug": "<string>",
"materializedDefault": true,
"selectedFields": [
"<string>"
],
"storageUri": "<string>",
"systemDisabled": true
},
"description": "<string>",
"enabledSince": "2023-11-07T05:31:56Z"
},
"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>"
}Add a Tap to a Provider connection
Sets up a Tap — one stream of data — on a Provider connection in this Workspace. Anything you leave out is copied from the Provider’s own definition of that Tap.
import { WebApiSDK } from "@parable-platform/web-api-sdk";
import type { CreateTenantConnectorTapInput } from "@parable-platform/web-api-types";
const sdk = new WebApiSDK({
baseUrl: process.env.PARABLE_API_URL!,
auth: { token: process.env.PARABLE_API_TOKEN! },
requestInterceptor: (config) => ({
...config,
headers: { ...config.headers, "X-Tenant": process.env.PARABLE_WORKSPACE! },
}),
});
const input: CreateTenantConnectorTapInput = JSON.parse(`{
"tenantConnectorId": "550e8400-e29b-41d4-a716-446655440000",
"connectorTapId": "550e8400-e29b-41d4-a716-446655440000"
}`);
const result = await sdk.tenantConnectorTaps.createTenantConnectorTap(
input
);import json
import os
from parable_types_web_api import CreateTenantConnectorTapInput
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"]},
)
)
input_data = CreateTenantConnectorTapInput.model_validate(
json.loads("{\"tenantConnectorId\":\"550e8400-e29b-41d4-a716-446655440000\",\"connectorTapId\":\"550e8400-e29b-41d4-a716-446655440000\"}"),
)
result = sdk.tenant_connector_taps.create_tenant_connector_tap(input_data)use parable_web_api_sdk::{types, ClientConfig, RequestOptions, WebApiSdk};
let sdk = WebApiSdk::new(ClientConfig::with_base_url(
std::env::var("PARABLE_API_URL")?,
Some(std::env::var("PARABLE_API_TOKEN")?),
None,
))?;
let options = RequestOptions::with_header("X-Tenant", std::env::var("PARABLE_WORKSPACE")?, None, None);
let input: types::CreateTenantConnectorTapInput = serde_json::from_value(
serde_json::json!({
"tenantConnectorId": "550e8400-e29b-41d4-a716-446655440000",
"connectorTapId": "550e8400-e29b-41d4-a716-446655440000"
}),
)?;
let result = sdk.tenant_connector_taps.create_tenant_connector_tap(
input,
Some(&options)
).await?;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
}
var input webapitypes.CreateTenantConnectorTapInput
if err := json.Unmarshal([]byte(`{"tenantConnectorId":"550e8400-e29b-41d4-a716-446655440000","connectorTapId":"550e8400-e29b-41d4-a716-446655440000"}`), &input); err != nil {
return err
}
result, err := sdk.TenantConnectorTapsNamespace.CreateTenantConnectorTap(ctx, input){
"data": {
"canonicalPersonSource": true,
"connectorTapId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"enabled": true,
"id": "<string>",
"kind": "override",
"name": "<string>",
"outputSchema": {},
"tenantConnectorId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"artifactId": "<string>",
"config": {
"catalogSlug": "<string>",
"materializedDefault": true,
"selectedFields": [
"<string>"
],
"storageUri": "<string>",
"systemDisabled": true
},
"description": "<string>",
"enabledSince": "2023-11-07T05:31:56Z"
},
"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>"
}Add a Tap to a Provider connection
add_tapAuthorizations
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
Create a per-workspace override of a platform tap. Required input is the
source instance and the platform data pull. Everything else is optional
and, when omitted, is copied from the platform ConnectorTap. Artifact-derived taps use publishArtifact.
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})$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})$Optional fields shared by create (nested under tap) and update.
Omitted create fields come from the platform ConnectorTap: name,
description, and outputSchema copy the platform tap, enabled defaults
to true, kind is OVERRIDE.
- Option 1
- Option 2
Show child attributes
Show child attributes
Response
Successful response
Per-workspace tap configuration. Either narrows a platform ConnectorTap's
output schema for this workspace (override case) or stands in for an
artifact-derived tap (artifact case). See for the model.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?