> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prophecy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google BigQuery

> Properties required to create and update BigQuery connections

Properties for BigQuery connections are specified in the `properties` object when creating or updating a connection. All properties are nested within the connection request body.

## Properties

<ParamField body="authType" type="string" required>
  Authentication type for BigQuery. Currently only `private_key` is supported.
</ParamField>

<ParamField body="projectId" type="string" required>
  GCP project ID where your BigQuery datasets are located.
</ParamField>

<ParamField body="dataset" type="string" required>
  Default dataset where Prophecy will write data.
</ParamField>

<ParamField body="serviceAccountKey" type="object" required>
  Reference to a Prophecy secret containing the service account key JSON.

  * When using the [create connection API](/api-reference/connections/add-connection-to-fabric), the secret must be stored in Prophecy before creating the connection.
  * When using the [create fabric API](/api-reference/fabrics/create-a-new-fabric), replace this whole object with the string `{{SECRET}}`, which references the secret being created in parallel to the connection.

  <Expandable title="serviceAccountKey properties">
    <ParamField body="serviceAccountKey.kind" type="string" required>
      Secret kind. Must be `prophecy`.
    </ParamField>

    <ParamField body="serviceAccountKey.subKind" type="string" required>
      Secret sub-type. Must be `text` for service account keys.
    </ParamField>

    <ParamField body="serviceAccountKey.type" type="string" required>
      Type of reference. Must be `secret`.
    </ParamField>

    <ParamField body="serviceAccountKey.properties" type="object" required>
      Properties identifying the secret by ID and name.
    </ParamField>

    <ParamField body="serviceAccountKey.properties.id" type="string" required>
      The ID of the secret stored in Prophecy. Find the ID using the [List secrets per fabric
      API](/api-reference/secrets/list-secrets-per-fabric).
    </ParamField>

    <ParamField body="serviceAccountKey.properties.name" type="string" required>
      The name of the secret stored in Prophecy.
    </ParamField>
  </Expandable>
</ParamField>
