Skip to content

Destinations

Overview

Every Openbridge source subscription writes data to a destination — a data warehouse or cloud storage target that you configure and attach to one or more source subscriptions. A source subscription cannot deliver data without a destination.

Destinations are created via the Openbridge Destinations API. The storage field in the request body determines which storage system is targeted and which credential fields are required.


Common fields

These fields appear across all storage types.

Encryption is automatic. Sensitive credential fields are encrypted server-side based on the storage type. Pass all field values as plain strings — no client-side wrapping required.

Field Type Required Description
storage string Yes Storage type identifier (e.g. "redshift")
s3_bucket string Yes Openbridge-managed S3 staging bucket. Should be set to "openbridge-zeroadmin-production" in most cases.
region string No AWS region of the staging bucket. Should be set to "us-east-1" in most cases.

Supported destinations

Amazon Redshift (redshift)

See our Amazon Redshift setup documentation for instructions for configuring your Redshift environment.

Field Type Required Description
database string Yes Redshift database name
port string Yes Redshift port (typically 5439)
host string Yes Redshift cluster endpoint
user string Yes Database user
password string Yes Database password

Amazon Athena (athena)

See our Amazon Athena setup documentation for instructions for setting up Athena as a destination.

Field Type Required Description
athena_bucket string Yes S3 bucket for Athena query results
athena_database string Yes Athena database name
athena_region string Yes AWS region where Athena is configured
athena_access_key_id string Yes AWS access key ID
athena_secret_access_key string Yes AWS secret access key

Amazon Redshift Spectrum (spectrum)

See our Amazon Redshift Spectrum setup documentation for instructions for setting up Redshift Spectrum as a destination.

Extends Redshift with an external S3-backed schema. Requires both standard Redshift connection credentials and Spectrum-specific parameters.

Field Type Required Description
database string Yes Redshift database name
port string Yes Redshift port
host string Yes Redshift cluster endpoint
user string Yes Database user
password string Yes Database password
spectrum_bucket string Yes S3 bucket for the Spectrum external schema
spectrum_database string Yes Spectrum external database name
spectrum_iam_role string Yes IAM role ARN with access to the Spectrum bucket
spectrum_region string Yes AWS region of the Spectrum S3 bucket
spectrum_schema string Yes Spectrum schema name
spectrum_access_key_id string Yes AWS access key ID for Spectrum
spectrum_secret_access_key string Yes AWS secret access key for Spectrum

Google BigQuery (bigquery)

See our BigQuery setup documentation for instructions for configuring your BigQuery instance.

Field Type Required Description
bigquery_dataset_id string Yes BigQuery dataset ID
bigquery_project_id string Yes GCP project ID
remote_identity_id integer Yes ID of the Remote Identity containing credentials used to access the BigQuery instance.

Azure Blob Storage (azure_blob)

See our Azure Blob Storage setup documentation for instructions for creating an Azure Blob Storage destination.

Field Type Required Description
container string Yes Azure Blob container name
connection_string string Yes Azure storage connection string

Azure Data Lake (azure_datalake)

See our Azure Data Lake setup documentation for instructions for configuring your Azure Data Lake destination.

Field Type Required Description
container string Yes Azure Data Lake container name
connection_string string Yes Azure storage connection string
dt_partition boolean No Enable datetime-based partitioning

Databricks (databricks)

Databricks destination using S3-backed Delta tables.

See our Databricks setup documentation for instructions for setting up Databricks as a destination.

Field Type Required Description
databricks_server_hostname string Yes Databricks workspace hostname
databricks_http_path string Yes SQL warehouse or cluster HTTP path
databricks_access_token string Yes Databricks personal access token
databricks_schema string Yes Target schema (nullable)
databricks_catalog string Yes Unity Catalog name (nullable)

Databricks — external tables (databricks_external)

Databricks destination using externally managed ADLS storage.

See our Databricks external tables setup documentation for instructions for configuring Databricks external locations.

Field Type Required Description
databricks_server_hostname string Yes Databricks workspace hostname
databricks_http_path string Yes SQL warehouse or cluster HTTP path
databricks_access_token string Yes Databricks personal access token
databricks_schema string Yes Target schema (nullable)
databricks_catalog string Yes Unity Catalog name (nullable)
databricks_storage_format string Yes External storage format; currently only "adls"
databricks_credentials_name string Yes Databricks storage credential name (nullable)
databricks_bucket_uri string Yes External storage URI (e.g. abfss://<container>@<account>)
databricks_path_prefix string Yes Path prefix within the external storage
databricks_use_clustering boolean Yes Enable Databricks liquid clustering
databricks_use_partitioning boolean Yes Enable table partitioning
databricks_partition_format string No Partition date format string (default: %Y-%m-%d)

When databricks_storage_format is "adls", these additional fields are required:

Field Type Description
databricks_adls_connection_string string Azure Data Lake connection string
databricks_adls_container string ADLS container name

Snowflake — username/password or programmatic access token (PAT) (snowflake)

See our Snowflake setup documentation for instructions for configuring your Snowflake instance.

Field Type Required Description
snowflake_account string Yes Snowflake account identifier
snowflake_user string Yes Snowflake username
snowflake_password string Yes Snowflake password or PAT
snowflake_database string Yes Target database
snowflake_warehouse string Yes Compute warehouse
snowflake_schema string Yes Target schema
snowflake_use_clustering boolean Yes Enable CLUSTER BY on destination tables
snowflake_s3_bucket string Yes S3 bucket used as Snowflake external stage
snowflake_s3_region string Yes AWS region of the Snowflake S3 stage
snowflake_stage string Yes Snowflake stage name
snowflake_role string No Snowflake role to assume
snowflake_aws_access_key_id string No AWS access key for the S3 stage
snowflake_aws_secret_access_key string No AWS secret key for the S3 stage

Snowflake — OAuth with S3 stage, clustering (snowflake_oauth)

OAuth credentials (client ID, client secret, refresh token) must be registered as a Remote Identity before creating this destination. Pass the Remote Identity's ID via remote_identity_id.

See our Snowflake setup documentation for instructions for configuring your Snowflake instance.

Field Type Required Description
remote_identity_id integer Yes ID of the Remote Identity containing the Snowflake OAuth credentials
snowflake_account string Yes Snowflake account identifier
snowflake_database string Yes Target database
snowflake_warehouse string Yes Compute warehouse
snowflake_schema string Yes Target schema
snowflake_use_clustering boolean Yes Enable CLUSTER BY on destination tables
snowflake_s3_bucket string Yes S3 bucket used as external stage
snowflake_s3_region string Yes AWS region of the S3 stage
snowflake_stage string Yes Snowflake stage name
snowflake_role string No Snowflake role to assume
snowflake_aws_access_key_id string No AWS access key for the S3 stage
snowflake_aws_secret_access_key string No AWS secret key for the S3 stage

Snowflake — OAuth with S3 external stage (snowflake_ext_s3)

This is a variant of Snowflake OAuth which stores data in a user-specified S3 bucket.

OAuth credentials (client ID, client secret, refresh token) must be registered as a Remote Identity before creating this destination. Pass the Remote Identity's ID via remote_identity_id.

See our Snowflake setup documentation for instructions for configuring your Snowflake instance.

Field Type Required Description
remote_identity_id integer Yes ID of the Remote Identity containing the Snowflake OAuth credentials
snowflake_account string Yes Snowflake account identifier
snowflake_database string Yes Target database
snowflake_warehouse string Yes Compute warehouse
snowflake_schema string Yes Target schema
snowflake_s3_bucket string Yes S3 bucket used as external stage
snowflake_s3_region string Yes AWS region of the S3 stage
snowflake_stage string Yes Snowflake stage name
snowflake_role string No Snowflake role to assume
snowflake_aws_access_key_id string No AWS access key for the S3 stage
snowflake_aws_secret_access_key string No AWS secret key for the S3 stage

Snowflake — OAuth with Azure external stage (snowflake_ext_az)

This is a variant of Snowflake OAuth which stores data in a user-specified Microsoft Azure data lake.

OAuth credentials (client ID, client secret, refresh token) must be registered as a Remote Identity before creating this destination. Pass the Remote Identity's ID via remote_identity_id.

See our Snowflake setup documentation for instructions for configuring Snowflake + Azure.

Field Type Required Description
remote_identity_id integer Yes ID of the Remote Identity containing the Snowflake OAuth credentials
snowflake_account string Yes Snowflake account identifier
snowflake_database string Yes Target database
snowflake_warehouse string Yes Compute warehouse
snowflake_schema string Yes Target schema
snowflake_az_container string Yes Azure container used as external stage
snowflake_stage string Yes Snowflake stage name
snowflake_role string No Snowflake role to assume
snowflake_az_connection_string string No Azure storage connection string for the stage

Snowflake — OAuth with GCS external stage (snowflake_ext_gcs)

This is a variant of Snowflake OAuth which stores data in a user-specified Google Cloud storage bucket.

OAuth credentials (client ID, client secret, refresh token) must be registered as a Remote Identity before creating this destination. Pass the Remote Identity's ID via remote_identity_id.

See our Snowflake setup documentation for instructions for configuring Snowflake + GCS.

Field Type Required Description
remote_identity_id integer Yes ID of the Remote Identity containing the Snowflake OAuth credentials
snowflake_account string Yes Snowflake account identifier
snowflake_database string Yes Target database
snowflake_warehouse string Yes Compute warehouse
snowflake_schema string Yes Target schema
snowflake_gcs_bucket string Yes GCS bucket used as external stage
snowflake_gcs_service_account string Yes GCS service account email for the stage
snowflake_stage string Yes Snowflake stage name
snowflake_role string No Snowflake role to assume

FAQ

Do I need to create a Remote Identity before creating a destination?

Yes, for destination types that accept a remote_identity_id field (such as bigquery, bigquery_date, snowflake_oauth, snowflake_ext_s3, snowflake_ext_az, and snowflake_ext_gcs), the Remote Identity must exist before you create the destination. Remote Identity creation is handled through the Openbridge UI and OAuth flow — it cannot be created via this API. Once the identity has been authorized, retrieve its ID and pass it as remote_identity_id in your destination request.

See the Remote Identity API for how to list and look up existing identities.

How long can I expect the destination creation process to complete?

The runtime of this operation can vary depending on the storage type, destination-specific settings and system load. The process will typically complete in 30-90 seconds, but it can take up to 15 minutes to complete.