Skip to main content
POST
Add a BigQuery connection

Authorizations

Authorization
string
header
required

Organization API key (sl_…).

Headers

x-tenant-id
string
required

The organization ID the request is scoped to.

Body

application/json

A BigQuery connection to add.

name
string
required

Display name for the connection, as shown throughout SELECT.

gcp_project_id
string
required

The GCP project to read BigQuery usage and spend from. 6-30 characters, starting with a lowercase letter, made up of lowercase letters, digits and hyphens, and not ending in a hyphen.

Pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$
service_account
string
required

The GCP service account SELECT impersonates to reach the project, in [email protected] form.

Pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]@[a-z][a-z0-9-]{4,28}[a-z0-9]\.iam\.gserviceaccount\.com$
bigquery_dataset_id
string | null

The BigQuery dataset holding the project's billing and pricing exports. Letters, digits and underscores only. Required when is_doit is false, and must be omitted when it is true.

Pattern: ^[a-zA-Z0-9_]{1,1024}$
billing_account_id
string | null

The Cloud Billing account the exports belong to, in XXXXXX-XXXXXX-XXXXXX form, case-insensitive. Required when is_doit is false, and must be omitted when it is true.

Pattern: ^[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}-[0-9A-Fa-f]{6}$
is_doit
boolean
default:false

Set this when the project's GCP billing account is managed by DoiT as a resale customer, so SELECT reads its spend from DoiT's billing data. SELECT confirms access before spend can be read, so the connection is created with a doit_billing_status of pending; re-read it to see when it becomes active. Requires a user credential rather than an API key, and cannot be changed once the connection is added.

sync_enabled
boolean
default:true

Whether SELECT starts syncing data for this connection.

query_sanitization_enabled
boolean
default:false

Whether query text is sanitized before SELECT stores it.

Response

Successful Response

A connection to one BigQuery project.

id
string
required
read-only

The unique identifier of the connection.

etag
string
required
read-only

Opaque strong ETag for this connection's configuration. Matches the ETag response header, and is what If-Match requires on a write. It changes whenever a configurable field on the connection changes.

name
string
required

Display name for the connection, as shown throughout SELECT.

gcp_project_id
string
required

The GCP project SELECT reads BigQuery usage and spend from.

regions
string[]
required
read-only

The BigQuery regions SELECT detected query activity in. Empty until the first successful detection.

is_doit
boolean
required
read-only

Whether this project's GCP billing account is managed by DoiT as a resale customer, so SELECT reads its spend from DoiT's billing data rather than from an export in your own dataset.

connection_id
string
required
read-only

Identifier of the underlying connection this BigQuery project reads through.

sync_enabled
boolean
required

Whether SELECT is currently syncing data for this connection.

query_sanitization_enabled
boolean
required

Whether query text is sanitized before SELECT stores it.

create_time
string
required
read-only

When the connection was added.

update_time
string
required
read-only

When the connection was last changed.

bigquery_dataset_id
string | null

The BigQuery dataset holding the project's billing and pricing exports. Null when is_doit is true, since SELECT reads DoiT's export rather than one in your own dataset.

billing_account_id
string | null

The Cloud Billing account the exports belong to, in XXXXXX-XXXXXX-XXXXXX form. Null when is_doit is true.

service_account
string | null

The GCP service account SELECT impersonates to reach the project. Null for a connection SELECT reaches without impersonation.

gcp_organization_id
string | null

Numeric id of the GCP organization the project belongs to. Null for a standalone project, or when SELECT cannot read the project's ancestry.

gcp_organization_name
string | null

Display name of the GCP organization the project belongs to. Null when the name cannot be read even though the id resolved.

doit_billing_status
enum<string> | null

Whether SELECT can read this connection's spend from DoiT's billing data. pending while SELECT confirms access, active once spend is flowing, and inactive if it cannot be read — contact support. Null when is_doit is false.

Available options:
active,
pending,
inactive
added_by_email
string | null

Email address of the person who added the connection. Null when it was not added by a person.

last_successful_sync_time
string | null

When SELECT last completed a sync for this connection. Null before the first one succeeds.