BigQuery Data Transfer API

Schedule queries or transfer external data from SaaS applications to Google BigQuery on a regular basis.

Service: bigquerydatatransfer.googleapis.com

To call this service, we recommend that you use the Google-providedclient libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

ADiscovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

Aservice endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://bigquerydatatransfer.googleapis.com

REST Resource:v1.projects

Methods
enrollDataSourcesPOST /v1/{name=projects/*}:enrollDataSources
Enroll data sources in a user project.

REST Resource:v1.projects.dataSources

Methods
checkValidCredsPOST /v1/{name=projects/*/dataSources/*}:checkValidCreds
Returns true if valid credentials exist for the given data source and requesting user.
getGET /v1/{name=projects/*/dataSources/*}
Retrieves a supported data source and returns its settings.
listGET /v1/{parent=projects/*}/dataSources
Lists supported data sources and returns their settings.

REST Resource:v1.projects.locations

Methods
enrollDataSourcesPOST /v1/{name=projects/*/locations/*}:enrollDataSources
Enroll data sources in a user project.
getGET /v1/{name=projects/*/locations/*}
Gets information about a location.
listGET /v1/{name=projects/*}/locations
Lists information about the supported locations for this service.
unenrollDataSourcesPOST /v1/{name=projects/*/locations/*}:unenrollDataSources
Unenroll data sources in a user project.

REST Resource:v1.projects.locations.dataSources

Methods
checkValidCredsPOST /v1/{name=projects/*/locations/*/dataSources/*}:checkValidCreds
Returns true if valid credentials exist for the given data source and requesting user.
getGET /v1/{name=projects/*/locations/*/dataSources/*}
Retrieves a supported data source and returns its settings.
listGET /v1/{parent=projects/*/locations/*}/dataSources
Lists supported data sources and returns their settings.

REST Resource:v1.projects.locations.transferConfigs

Methods
createPOST /v1/{parent=projects/*/locations/*}/transferConfigs
Creates a new data transfer configuration.
deleteDELETE /v1/{name=projects/*/locations/*/transferConfigs/*}
Deletes a data transfer configuration, including any associated transfer runs and logs.
getGET /v1/{name=projects/*/locations/*/transferConfigs/*}
Returns information about a data transfer config.
listGET /v1/{parent=projects/*/locations/*}/transferConfigs
Returns information about all transfer configs owned by a project in the specified location.
patchPATCH /v1/{transferConfig.name=projects/*/locations/*/transferConfigs/*}
Updates a data transfer configuration.
scheduleRuns
(deprecated)
POST /v1/{parent=projects/*/locations/*/transferConfigs/*}:scheduleRuns
Creates transfer runs for a time range [start_time, end_time].
startManualRunsPOST /v1/{parent=projects/*/locations/*/transferConfigs/*}:startManualRuns
Manually initiates transfer runs.

REST Resource:v1.projects.locations.transferConfigs.runs

Methods
deleteDELETE /v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}
Deletes the specified transfer run.
getGET /v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}
Returns information about the particular transfer run.
listGET /v1/{parent=projects/*/locations/*/transferConfigs/*}/runs
Returns information about running and completed transfer runs.

REST Resource:v1.projects.locations.transferConfigs.runs.transferLogs

Methods
listGET /v1/{parent=projects/*/locations/*/transferConfigs/*/runs/*}/transferLogs
Returns log messages for the transfer run.

REST Resource:v1.projects.transferConfigs

Methods
createPOST /v1/{parent=projects/*}/transferConfigs
Creates a new data transfer configuration.
deleteDELETE /v1/{name=projects/*/transferConfigs/*}
Deletes a data transfer configuration, including any associated transfer runs and logs.
getGET /v1/{name=projects/*/transferConfigs/*}
Returns information about a data transfer config.
listGET /v1/{parent=projects/*}/transferConfigs
Returns information about all transfer configs owned by a project in the specified location.
patchPATCH /v1/{transferConfig.name=projects/*/transferConfigs/*}
Updates a data transfer configuration.
scheduleRuns
(deprecated)
POST /v1/{parent=projects/*/transferConfigs/*}:scheduleRuns
Creates transfer runs for a time range [start_time, end_time].
startManualRunsPOST /v1/{parent=projects/*/transferConfigs/*}:startManualRuns
Manually initiates transfer runs.

REST Resource:v1.projects.transferConfigs.runs

Methods
deleteDELETE /v1/{name=projects/*/transferConfigs/*/runs/*}
Deletes the specified transfer run.
getGET /v1/{name=projects/*/transferConfigs/*/runs/*}
Returns information about the particular transfer run.
listGET /v1/{parent=projects/*/transferConfigs/*}/runs
Returns information about running and completed transfer runs.

REST Resource:v1.projects.transferConfigs.runs.transferLogs

Methods
listGET /v1/{parent=projects/*/transferConfigs/*/runs/*}/transferLogs
Returns log messages for the transfer run.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-02 UTC.