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-provided client 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

A Discovery 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

A service 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

Regional service endpoint

A regional service endpoint is a base URL that specifies the network address of an API service in a single region. A service that is available in multiple regions might have multiple regional endpoints. Select a location to see its regional service endpoint for this service.


  • https://bigquerydatatransfer.googleapis.com
  • REST Resource: v1.projects

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

    REST Resource: v1.projects.dataSources

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

    REST Resource: v1.projects.locations

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

    REST Resource: v1.projects.locations.dataSources

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

    REST Resource: v1.projects.locations.transferConfigs

    Methods
    create POST /v1/{parent=projects/*/locations/*}/transferConfigs
    Creates a new data transfer configuration.
    delete DELETE /v1/{name=projects/*/locations/*/transferConfigs/*}
    Deletes a data transfer configuration, including any associated transfer runs and logs.
    get GET /v1/{name=projects/*/locations/*/transferConfigs/*}
    Returns information about a data transfer config.
    list GET /v1/{parent=projects/*/locations/*}/transferConfigs
    Returns information about all transfer configs owned by a project in the specified location.
    patch PATCH /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].
    startManualRuns POST /v1/{parent=projects/*/locations/*/transferConfigs/*}:startManualRuns
    Manually initiates transfer runs.

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

    Methods
    delete DELETE /v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}
    Deletes the specified transfer run.
    get GET /v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}
    Returns information about the particular transfer run.
    list GET /v1/{parent=projects/*/locations/*/transferConfigs/*}/runs
    Returns information about running and completed transfer runs.

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

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

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

    Methods
    get GET /v1/{name=projects/*/locations/*/transferConfigs/*/transferResources/*}
    Returns a transfer resource.
    list GET /v1/{parent=projects/*/locations/*/transferConfigs/*}/transferResources
    Returns information about transfer resources.

    REST Resource: v1.projects.transferConfigs

    Methods
    create POST /v1/{parent=projects/*}/transferConfigs
    Creates a new data transfer configuration.
    delete DELETE /v1/{name=projects/*/transferConfigs/*}
    Deletes a data transfer configuration, including any associated transfer runs and logs.
    get GET /v1/{name=projects/*/transferConfigs/*}
    Returns information about a data transfer config.
    list GET /v1/{parent=projects/*}/transferConfigs
    Returns information about all transfer configs owned by a project in the specified location.
    patch PATCH /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].
    startManualRuns POST /v1/{parent=projects/*/transferConfigs/*}:startManualRuns
    Manually initiates transfer runs.

    REST Resource: v1.projects.transferConfigs.runs

    Methods
    delete DELETE /v1/{name=projects/*/transferConfigs/*/runs/*}
    Deletes the specified transfer run.
    get GET /v1/{name=projects/*/transferConfigs/*/runs/*}
    Returns information about the particular transfer run.
    list GET /v1/{parent=projects/*/transferConfigs/*}/runs
    Returns information about running and completed transfer runs.

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

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

    REST Resource: v1.projects.transferConfigs.transferResources

    Methods
    get GET /v1/{name=projects/*/transferConfigs/*/transferResources/*}
    Returns a transfer resource.
    list GET /v1/{parent=projects/*/transferConfigs/*}/transferResources
    Returns information about transfer resources.