{
  "ab_internal": {
    "isEnterprise": false,
    "ql": 300,
    "requireVersionIncrementsInPullRequests": false,
    "sl": 300
  },
  "connectorBuildOptions": {
    "baseImage": "docker.io/airbyte/java-connector-base:2.0.1@sha256:ec89bd1a89e825514dd2fc8730ba299a3ae1544580a078df0e35c5202c2085b3"
  },
  "connectorIPCOptions": {
    "dataChannel": {
      "supportedSerialization": [
        "JSONL",
        "PROTOBUF"
      ],
      "supportedTransport": [
        "SOCKET",
        "STDIO"
      ],
      "version": "0.0.2"
    }
  },
  "connectorTestSuitesOptions": [
    {
      "suite": "unitTests"
    },
    {
      "suite": "integrationTests",
      "testSecrets": [
        {
          "fileName": "credentials-1s1t-gcs.json",
          "name": "SECRET_DESTINATION-BIGQUERY_CREDENTIALS_1S1T_GCS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "credentials-1s1t-standard.json",
          "name": "SECRET_DESTINATION-BIGQUERY_CREDENTIALS_1S1T_STANDARD",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "credentials-badproject.json",
          "name": "SECRET_DESTINATION-BIGQUERY_CREDENTIALS_BAD_PROJECT_CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "credentials-no-edit-public-schema-role.json",
          "name": "SECRET_DESTINATION-BIGQUERY_CREDENTIALS_NO_PUBLIC_SCHEMA_EDIT_ROLE",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "credentials-standard-no-dataset-creation.json",
          "name": "SECRET_DESTINATION-BIGQUERY_STANDARD-NO-DATASET-CREATION__CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "credentials-1s1t-gcs-bad-copy-permission.json",
          "name": "SECRET_DESTINATION-BIGQUERY_CREDENTIALS_1S1T_GCS_BAD_COPY",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        }
      ]
    }
  ],
  "custom": false,
  "destinationDefinitionId": "22f6c74f-5699-40ff-833c-4a879ea40133",
  "dockerImageTag": "3.0.24-preview.60ac12c",
  "dockerRepository": "airbyte/destination-bigquery",
  "documentationUrl": "https://docs.airbyte.com/integrations/destinations/bigquery",
  "externalDocumentationUrls": [
    {
      "title": "Release notes",
      "type": "api_release_history",
      "url": "https://cloud.google.com/bigquery/docs/release-notes"
    },
    {
      "title": "Service account authentication",
      "type": "authentication_guide",
      "url": "https://cloud.google.com/iam/docs/service-accounts"
    },
    {
      "title": "Access control and permissions",
      "type": "permissions_scopes",
      "url": "https://cloud.google.com/bigquery/docs/access-control"
    },
    {
      "title": "Quotas and limits",
      "type": "rate_limits",
      "url": "https://cloud.google.com/bigquery/quotas"
    },
    {
      "title": "Standard SQL reference",
      "type": "sql_reference",
      "url": "https://cloud.google.com/bigquery/docs/reference/standard-sql"
    },
    {
      "title": "Google Cloud Status",
      "type": "status_page",
      "url": "https://status.cloud.google.com/"
    }
  ],
  "generated": {
    "git": {
      "commit_author": "Devin AI",
      "commit_author_email": "158243242+devin-ai-integration[bot]@users.noreply.github.com",
      "commit_sha": "1fea16899aae9a88fb1c22486c80ae8672e23e1a",
      "commit_timestamp": "2026-07-31T03:39:39+00:00"
    },
    "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/destination-bigquery/3.0.24-preview.60ac12c.spdx.json",
    "source_file_info": {
      "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service",
      "metadata_file_path": "metadata/airbyte/destination-bigquery/3.0.24-preview.60ac12c/metadata.yaml",
      "metadata_last_modified": "2026-07-31T11:45:05.212218+00:00",
      "registry_entry_generated_at": "2026-07-31T11:45:05.212218+00:00"
    }
  },
  "githubIssueLabel": "destination-bigquery",
  "icon": "bigquery.svg",
  "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/destination-bigquery/latest/icon.svg",
  "language": "java",
  "license": "ELv2",
  "name": "BigQuery",
  "packageInfo": {},
  "public": true,
  "releaseStage": "generally_available",
  "releases": {
    "breakingChanges": {
      "2.0.0": {
        "message": "**Do not upgrade until you have run a test upgrade as outlined [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#testing-destinations-v2-for-a-single-connection)**.\nThis version introduces [Destinations V2](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#what-is-destinations-v2), which provides better error handling, incremental delivery of data for large syncs, and improved final table structures. To review the breaking changes, and how to upgrade, see [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#quick-start-to-upgrading). These changes will likely require updates to downstream dbt / SQL models, which we walk through [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#updating-downstream-transformations).\nSelecting `Upgrade` will upgrade **all** connections using this destination at their next sync. You can manually sync existing connections prior to the next scheduled sync to start the upgrade early.\n",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/bigquery-migrations#2.0.0",
        "upgradeDeadline": "2023-11-07"
      },
      "3.0.0": {
        "message": "If you never interact with the raw tables, you can upgrade without taking any action. Otherwise, make sure to read the migration guide for more details.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/bigquery-migrations#3.0.0",
        "upgradeDeadline": "2026-07-31"
      }
    },
    "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/bigquery-migrations",
    "rolloutConfiguration": {
      "advanceDelayMinutes": 10,
      "autopilotConfig": {
        "autoPromoteStages": true,
        "autoStart": true,
        "strategy": "fast"
      },
      "defaultRolloutMode": "autopilot",
      "enableProgressiveRollout": false,
      "initialPercentage": 0,
      "maxPercentage": 50
    }
  },
  "resourceRequirements": {
    "jobSpecific": [
      {
        "jobType": "sync",
        "resourceRequirements": {
          "memory_request": "1Gi"
        }
      }
    ]
  },
  "sourceType": "database",
  "spec": {
    "connectionSpecification": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": true,
      "groups": [
        {
          "id": "connection",
          "title": "Connection"
        },
        {
          "id": "sync_behavior",
          "title": "Sync Behavior"
        },
        {
          "id": "advanced",
          "title": "Advanced"
        }
      ],
      "properties": {
        "cdc_deletion_mode": {
          "always_show": true,
          "default": "Hard delete",
          "description": "Whether to execute CDC deletions as hard deletes (i.e. propagate source deletions to the destination), or soft deletes (i.e. leave a tombstone record in the destination). Defaults to hard deletes.",
          "enum": [
            "Hard delete",
            "Soft delete"
          ],
          "group": "sync_behavior",
          "order": 5,
          "title": "CDC deletion mode",
          "type": "string"
        },
        "credentials_json": {
          "airbyte_secret": true,
          "always_show": true,
          "description": "The contents of the JSON service account key. Check out the <a href=\"https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key\">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty.",
          "group": "connection",
          "order": 4,
          "title": "Service Account Key JSON (Required for cloud, optional for open-source)",
          "type": "string"
        },
        "dataset_id": {
          "description": "The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more <a href=\"https://cloud.google.com/bigquery/docs/datasets#create-dataset\">here</a>.",
          "group": "connection",
          "order": 2,
          "title": "Default Dataset ID",
          "type": "string"
        },
        "dataset_location": {
          "description": "The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href=\"https://cloud.google.com/bigquery/docs/locations\">here</a>.",
          "enum": [
            "EU",
            "US",
            "africa-south1",
            "asia-east1",
            "asia-east2",
            "asia-northeast1",
            "asia-northeast2",
            "asia-northeast3",
            "asia-south1",
            "asia-south2",
            "asia-southeast1",
            "asia-southeast2",
            "australia-southeast1",
            "australia-southeast2",
            "europe-central2",
            "europe-north1",
            "europe-north2",
            "europe-southwest1",
            "europe-west1",
            "europe-west2",
            "europe-west3",
            "europe-west4",
            "europe-west6",
            "europe-west8",
            "europe-west9",
            "europe-west10",
            "europe-west12",
            "me-central1",
            "me-central2",
            "me-west1",
            "northamerica-northeast1",
            "northamerica-northeast2",
            "northamerica-south1",
            "southamerica-east1",
            "southamerica-west1",
            "us-central1",
            "us-east1",
            "us-east4",
            "us-east5",
            "us-south1",
            "us-west1",
            "us-west2",
            "us-west3",
            "us-west4"
          ],
          "group": "connection",
          "order": 1,
          "title": "Dataset Location",
          "type": "string"
        },
        "disable_type_dedupe": {
          "default": false,
          "description": "Write the legacy \"raw tables\" format, to enable backwards compatibility with older versions of this connector.",
          "group": "advanced",
          "order": 7,
          "title": "Legacy raw tables",
          "type": "boolean"
        },
        "loading_method": {
          "description": "The way data will be uploaded to BigQuery.",
          "display_type": "radio",
          "group": "connection",
          "oneOf": [
            {
              "additionalProperties": true,
              "description": "Direct loading using batched SQL INSERT statements. This method uses the BigQuery driver to convert large INSERT statements into file uploads automatically.",
              "properties": {
                "method": {
                  "default": "Standard",
                  "enum": [
                    "Standard"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "method"
              ],
              "title": "Batched Standard Inserts",
              "type": "object"
            },
            {
              "additionalProperties": true,
              "description": "Writes large batches of records to a file, uploads the file to GCS, then uses COPY INTO to load your data into BigQuery.",
              "properties": {
                "credential": {
                  "description": "An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href=\"https://cloud.google.com/storage/docs/authentication/hmackeys\">here</a>.",
                  "oneOf": [
                    {
                      "additionalProperties": true,
                      "properties": {
                        "credential_type": {
                          "default": "HMAC_KEY",
                          "enum": [
                            "HMAC_KEY"
                          ],
                          "type": "string"
                        },
                        "hmac_key_access_id": {
                          "airbyte_secret": true,
                          "description": "HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long.",
                          "examples": [
                            "1234567890abcdefghij1234"
                          ],
                          "order": 0,
                          "title": "HMAC Access Key",
                          "type": "string"
                        },
                        "hmac_key_secret": {
                          "airbyte_secret": true,
                          "description": "The corresponding secret for the access ID. It is a 40-character base-64 encoded string.",
                          "examples": [
                            "1234567890abcdefghij1234567890ABCDEFGHIJ"
                          ],
                          "order": 1,
                          "title": "HMAC Secret",
                          "type": "string"
                        }
                      },
                      "required": [
                        "credential_type",
                        "hmac_key_access_id",
                        "hmac_key_secret"
                      ],
                      "title": "HMAC key",
                      "type": "object"
                    }
                  ],
                  "order": 0,
                  "title": "Credential",
                  "type": "object"
                },
                "gcs_bucket_name": {
                  "description": "The name of the GCS bucket. Read more <a href=\"https://cloud.google.com/storage/docs/naming-buckets\">here</a>.",
                  "examples": [
                    "airbyte_sync"
                  ],
                  "order": 1,
                  "title": "GCS Bucket Name",
                  "type": "string"
                },
                "gcs_bucket_path": {
                  "description": "Directory under the GCS bucket where data will be written.",
                  "examples": [
                    "data_sync/test"
                  ],
                  "order": 2,
                  "title": "GCS Bucket Path",
                  "type": "string"
                },
                "keep_files_in_gcs-bucket": {
                  "default": "Delete all tmp files from GCS",
                  "description": "This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default \"Delete all tmp files from GCS\" value is used if not set explicitly.",
                  "enum": [
                    "Delete all tmp files from GCS",
                    "Keep all tmp files in GCS"
                  ],
                  "order": 3,
                  "title": "GCS Tmp Files Post-Processing",
                  "type": "string"
                },
                "method": {
                  "default": "GCS Staging",
                  "enum": [
                    "GCS Staging"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "method",
                "credential",
                "gcs_bucket_name",
                "gcs_bucket_path"
              ],
              "title": "GCS Staging",
              "type": "object"
            }
          ],
          "order": 3,
          "title": "Loading Method",
          "type": "object"
        },
        "project_id": {
          "description": "The GCP project ID for the project containing the target BigQuery dataset. Read more <a href=\"https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects\">here</a>.",
          "group": "connection",
          "order": 0,
          "title": "Project ID",
          "type": "string"
        },
        "raw_data_dataset": {
          "description": "Airbyte will use this dataset for various internal tables. In legacy raw tables mode, the raw tables will be stored in this dataset. Defaults to \"airbyte_internal\".",
          "group": "advanced",
          "order": 8,
          "title": "Airbyte Internal Table Dataset Name",
          "type": "string"
        }
      },
      "required": [
        "project_id",
        "dataset_location",
        "dataset_id"
      ],
      "title": "Bigquery Specification",
      "type": "object"
    },
    "documentationUrl": "https://docs.airbyte.com/integrations/destinations/bigquery",
    "supported_destination_sync_modes": [
      "overwrite",
      "append",
      "append_dedup"
    ],
    "supportsDBT": false,
    "supportsIncremental": true,
    "supportsNormalization": false
  },
  "supportLevel": "certified",
  "supportsDataActivation": false,
  "supportsDbt": true,
  "supportsRefreshes": true,
  "tags": [
    "language:java"
  ],
  "tombstone": false
}
