For Agents
Schedule and run bulk data transfers into Google Cloud Storage from S3, HTTP, on-prem, or another GCS bucket. Pause, resume, or cancel running transfer operations.
Get started with Storage Transfer API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"transfer data into Cloud Storage"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Storage Transfer API API.
Create scheduled or one-shot transfer jobs from S3, HTTP, on-premises, or another Cloud Storage bucket
Run a transfer job immediately and track the resulting transfer operation
Pause, resume, or cancel a long-running transfer operation
Manage agent pools used for on-premises POSIX-source transfers
GET STARTED
Use for: I want to migrate an S3 bucket into Cloud Storage, Create a scheduled daily transfer from S3 to GCS, Run a transfer job immediately, Pause a running storage transfer operation
Not supported: Does not run per-object reads or writes, transform records in-flight, or move data out of Cloud Storage to external sinks — use for scheduled bulk ingestion into Cloud Storage only.
The Storage Transfer API moves data into Google Cloud Storage on a schedule or on demand. It supports transfers from Amazon S3, HTTP/HTTPS sources, on-premises POSIX file systems via agent pools, and another Cloud Storage bucket. A transfer job describes source, destination, schedule, and filtering rules; transfer operations are individual runs of those jobs that can be paused, resumed, or cancelled. The API also exposes Google service accounts used to grant the transfer service access to source data.
List Google service accounts that the transfer service uses to access source storage
Filter source data by prefix or last-modified time before transferring
Patterns agents use Storage Transfer API API for, with concrete tasks.
★ S3 to GCS Migration
Migrate a multi-terabyte S3 bucket into Cloud Storage as part of a cloud move. The Storage Transfer API accepts an awsS3DataSource with the bucket name and access credentials and a gcsDataSink with the destination bucket. The service handles parallelism, retries, and integrity checks; progress is reported through the transfer operation.
POST /v1/transferJobs with awsS3DataSource.bucketName='legacy-data', gcsDataSink.bucketName='migrated-data', schedule.scheduleStartDate=today.
Daily Vendor Drop Ingestion
Ingest a daily file drop from a partner's HTTPS endpoint into a Cloud Storage landing bucket. The transfer job runs on a schedule, fetches the file list, and copies new objects into the sink. Filtering rules skip already-transferred objects so each run handles only the deltas.
POST /v1/transferJobs with httpDataSource.listUrl=https://partner.example/manifest.tsv, gcsDataSink.bucketName='vendor-drops', schedule.scheduleStartDate=tomorrow.
On-Premises NAS Backup
Back up files from an on-premises NAS into a Cloud Storage archive bucket using a transfer agent pool. The Storage Transfer API exposes agent pool management for hosting the on-prem agents, and a posixDataSource on the transfer job that points the agent at a local path.
POST /v1/projects/myproj/agentPools to register the pool, then POST /v1/transferJobs with posixDataSource.rootDirectory='/mnt/nas/share' and the pool name.
AI Agent Data Sync
An AI agent setting up a new analytics environment needs to copy a snapshot of an existing GCS bucket into the new project's bucket. Through Jentic, the agent searches for the create-transfer-job operation, loads the schema, and submits the job — Jentic handles auth so the agent never sees the underlying access token.
Search Jentic for 'transfer data into Cloud Storage', execute POST /v1/transferJobs with gcsDataSource.bucketName='source' and gcsDataSink.bucketName='dest'.
15 endpoints — the storage transfer api moves data into google cloud storage on a schedule or on demand.
METHOD
PATH
DESCRIPTION
/v1/transferJobs
Create a transfer job
/v1/transferJobs
List transfer jobs in a project
/v1/{+jobName}:run
Run a transfer job immediately
/v1/{+name}:pause
Pause a running transfer operation
/v1/{+name}:resume
Resume a paused transfer operation
/v1/{+name}:cancel
Cancel a running transfer operation
/v1/googleServiceAccounts/{projectId}
Get the Google service account used by Storage Transfer for a project
/v1/projects/{+projectId}/agentPools
List on-premises agent pools in a project
/v1/transferJobs
Create a transfer job
/v1/transferJobs
List transfer jobs in a project
/v1/{+jobName}:run
Run a transfer job immediately
/v1/{+name}:pause
Pause a running transfer operation
/v1/{+name}:resume
Resume a paused transfer operation
Three things that make agents converge on Jentic-routed access.
Credential isolation
Storage Transfer OAuth credentials are stored in the Jentic vault (MAXsystem) and exchanged for scoped, short-lived access tokens. The project-specific Google service account used to read source data is identified via the googleServiceAccounts endpoint and granted source-side permissions out of band.
Intent-based discovery
Agents search Jentic with intents like 'transfer data into Cloud Storage' or 'migrate from S3 to GCS', and Jentic returns the matching transferJobs.create operation along with its request schema.
Time to first call
Direct Storage Transfer integration: 1-2 days to wire OAuth, source credential plumbing, and operation polling. Through Jentic: under 1 hour to discover, schema-load, and submit a job.
Alternatives and complements available in the Jentic catalogue.
Cloud Storage JSON API
Storage manages individual objects; Storage Transfer schedules bulk movement into Storage.
Use Cloud Storage JSON for per-object reads and writes. Use Storage Transfer when you need a managed service to copy entire datasets into Cloud Storage on a schedule.
Backblaze B2
Backblaze B2 is an S3-compatible source bucket that Storage Transfer can read via S3-compatible source.
Use Backblaze B2 as a source when migrating data out of low-cost S3-compatible storage into Cloud Storage.
Dataflow API
Dataflow runs custom transformation pipelines; Storage Transfer copies data without transformation.
Choose Dataflow when records need to be transformed, joined, or filtered en route. Choose Storage Transfer for managed bulk copies that preserve source content.
Cloud Pub/Sub API
Pub/Sub can carry per-object notifications produced by Cloud Storage after Storage Transfer lands data.
Use Pub/Sub to fan out events to downstream pipelines once Storage Transfer has finished writing new objects to the sink bucket.
Specific to using Storage Transfer API API through Jentic.
What authentication does the Storage Transfer API use?
The Storage Transfer API uses OAuth 2.0 with the cloud-platform scope. Source access is delegated to a project-specific Google service account that must be granted read access on the S3, HTTP, or source GCS bucket. Through Jentic, OAuth credentials are stored in the Jentic vault (MAXsystem) and exchanged for short-lived access tokens.
Can I migrate from Amazon S3 with the Storage Transfer API?
Yes. Set awsS3DataSource on the transferSpec with the source bucket name and either an AWS access key pair or, preferably, role federation. The transfer service handles parallel object copy, retries, and integrity checks against the destination Cloud Storage bucket.
What are the rate limits for the Storage Transfer API?
Storage Transfer scales transfer throughput based on the source and sink rather than per-call quotas, but admin calls (job creation, listing) are subject to the standard project per-minute quotas — typically a few hundred requests per minute. Source-side limits (e.g. S3 LIST quotas) often dominate large migrations.
How do I run a transfer job through Jentic?
Search Jentic for 'transfer data into Cloud Storage', load the transferJobs.create schema, and execute POST /v1/transferJobs. To run an existing job immediately, call POST /v1/{+jobName}:run, which Jentic surfaces as a separate operation.
Is the Storage Transfer API free?
The Storage Transfer Service is free for transfers from another Cloud Storage bucket and for on-premises agent transfers. Transfers from Amazon S3 or HTTP sources are billed per GB. Standard Cloud Storage operation, storage, and egress charges still apply on the destination side.
Can I pause and resume a running transfer?
Yes. POST /v1/{+name}:pause halts a running transferOperation and POST /v1/{+name}:resume continues it. POST /v1/{+name}:cancel terminates the operation entirely without resuming.
/v1/{+name}:cancel
Cancel a running transfer operation
/v1/googleServiceAccounts/{projectId}
Get the Google service account used by Storage Transfer for a project
/v1/projects/{+projectId}/agentPools
List on-premises agent pools in a project