Storage Transfer API

Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.


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:


REST Resource: v1.googleServiceAccounts

get GET /v1/googleServiceAccounts/{projectId}
Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects.

REST Resource: v1.projects.agentPools

create POST /v1/projects/{projectId}/agentPools
Creates an agent pool resource.
delete DELETE /v1/{name=projects/*/agentPools/*}
Deletes an agent pool.
get GET /v1/{name=projects/*/agentPools/*}
Gets an agent pool.
list GET /v1/projects/{projectId}/agentPools
Lists agent pools.
patch PATCH /v1/{*/agentPools/*}
Updates an existing agent pool resource.

REST Resource: v1.transferJobs

create POST /v1/transferJobs
Creates a transfer job that runs periodically.
delete DELETE /v1/{jobName=transferJobs/**}
Deletes a transfer job.
get GET /v1/{jobName=transferJobs/**}
Gets a transfer job.
list GET /v1/transferJobs
Lists transfer jobs.
patch PATCH /v1/{jobName=transferJobs/**}
Updates a transfer job.
run POST /v1/{jobName=transferJobs/**}:run
Starts a new operation for the specified transfer job.

REST Resource: v1.transferOperations

cancel POST /v1/{name=transferOperations/**}:cancel
Cancels a transfer.
get GET /v1/{name=transferOperations/**}
Gets the latest state of a long-running operation.
list GET /v1/{name}
Lists transfer operations.
pause POST /v1/{name=transferOperations/**}:pause
Pauses a transfer operation.
resume POST /v1/{name=transferOperations/**}:resume
Resumes a transfer operation that is paused.