canonical: https://jentic.com/apis/googleapis.com/sql

# Google Cloud SQL Admin API

The Cloud SQL Admin API (v1beta4) administers managed MySQL, PostgreSQL, and SQL Server instances on Google Cloud. It covers instance lifecycle (create, clone, restart, restore from backup, failover, switchover), database and user management, scheduled and on-demand backups, server certificates, IP configuration, and import/export jobs to and from Cloud Storage. The v1beta4 surface is the longstanding stable beta path; new automation should generally prefer the v1 path, but v1beta4 remains supported for existing tooling.

## For AI agents

Provision and operate managed MySQL, PostgreSQL, and SQL Server instances on Google Cloud. Run backups, manage databases and users, and orchestrate import/export through the legacy /sql/v1beta4 path.

## Scope

Does not run application SQL queries, manage schemas inside the database, or handle in-database backups - use for Cloud SQL instance, user, and backup administration only.

## Capabilities

- Create, list, update, and delete managed Cloud SQL instances across MySQL, PostgreSQL, and SQL Server
- Take on-demand backups and list scheduled backup runs for an instance
- Manage databases, users, and SSL certificates on each instance
- Run import and export jobs that move data between Cloud SQL and Cloud Storage
- Trigger failover or switchover to the read replica for HA recovery testing
- Rotate server CA certificates and manage TLS connection settings

## Use cases

### Managed MySQL Provisioning

Provision a new MySQL instance with a chosen tier, region, and backup window for a service team. The Cloud SQL Admin API exposes instance creation and update as long-running operations under /sql/v1beta4/projects/{project}/instances. Combined with calls to create the initial database and a service user, the full setup takes a few minutes.

Example prompt: POST /sql/v1beta4/projects/myproj/instances with databaseVersion=MYSQL_8_0, settings.tier=db-custom-2-7680, settings.backupConfiguration.enabled=true.

### Scheduled Logical Backups to Cloud Storage

Run nightly logical exports of a production Cloud SQL database to a Cloud Storage bucket for offsite retention. The export endpoint accepts the bucket URI, database list, and SQL or CSV format. Each export is a long-running operation that can be polled until done.

Example prompt: POST /sql/v1beta4/projects/myproj/instances/prod/export with exportContext.uri=gs://backups/prod-2026-06-10.sql.gz and databases=['app_db'].

### Disaster Recovery Drill

Exercise the recovery runbook by restoring a recent backup into a fresh instance and verifying application connectivity. The Cloud SQL Admin API supports restoreBackup against an existing instance and clone for creating a separate instance from a point-in-time. Both are long-running operations.

Example prompt: POST /sql/v1beta4/projects/myproj/instances/prod/restoreBackup with backupRunId of last night's run, then verify the operation completes.

### AI Agent Database Onboarding

An AI agent setting up a new microservice creates a Cloud SQL instance, then a database and an application-scoped user. Through Jentic, the agent searches for the create operations, loads each schema, and executes them in order - the entire onboarding fits inside a single agent reasoning loop.

Example prompt: Search Jentic for 'create a Cloud SQL instance', execute the create call, then chain databases.insert and users.insert against the new instance.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /sql/v1beta4/projects/{project}/instances | List Cloud SQL instances in a project |
| GET | /sql/v1beta4/projects/{project}/instances/{instance} | Get a single Cloud SQL instance |
| POST | /sql/v1beta4/projects/{project}/instances/{instance}/backupRuns | Take an on-demand backup |
| POST | /sql/v1beta4/projects/{project}/instances/{instance}/clone | Clone an instance, optionally to a point in time |
| GET | /sql/v1beta4/projects/{project}/instances/{instance}/databases | List databases on an instance |
| GET | /sql/v1beta4/projects/{project}/instances/{instance}/connectSettings | Read connection settings for an instance |

## Key resources

- **instances** — Create, list, get, update, clone, failover, switchover, restart, restore, import, and export Cloud SQL instances.
- **databases** — Create, list, get, update, and delete logical databases on an instance.
- **users** — Create, list, update, and delete database users.
- **backupRuns** — Take and list backup runs for an instance.
- **sslCerts** — Manage client SSL certificates and rotate server CAs.

## Why Jentic

- **Setup:** Wiring the Cloud SQL Admin API by hand means configuring a service account, minting OAuth access tokens against sqladmin.googleapis.com, and tracking its v1beta4 request shapes yourself. Through Jentic you install once, import the Cloud SQL Admin API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Cloud SQL Admin puts the project and instance in the URL path (/sql/v1beta4/projects/{project}/instances/{instance}), so a rule can pin your agent to one instance: it can read instance details and databases there and nothing else. You choose the operations it may call, so clone or backup runs are not included unless you add them.
- **Credential handling:** Your Cloud SQL Admin OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Cloud SQL instance' or 'export a Cloud SQL database', and Jentic returns the matching Cloud SQL Admin operation with its v1beta4 request schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Cloud SQL Admin API (v1)** — Same resource model exposed under the v1 path; preferred for new integrations.
- **Cloud Spanner API** — Spanner is globally distributed strongly consistent SQL; Cloud SQL is a regional managed MySQL/Postgres/SQL Server.
- **AlloyDB API** — AlloyDB is a higher-performance Postgres-compatible service tuned for analytics-on-OLTP.
- **Cloud Storage JSON API** — Cloud Storage holds the dump files used by Cloud SQL import and export operations.

## FAQ

### What authentication does the Cloud SQL Admin API use?

The Cloud SQL Admin API uses OAuth 2.0 with the cloud-platform or sqlservice.admin scope. Through Jentic, OAuth credentials are stored in your Jentic One instance and exchanged for short-lived access tokens, so service-account JSON keys never enter the agent context.

### Can I take a Cloud SQL backup with this API?

Yes. POST /sql/v1beta4/projects/{project}/instances/{instance}/backupRuns triggers an on-demand backup, and GET on the same path lists existing backup runs. Both calls return the long-running operation handle that tracks the backup until completion.

### What is the difference between the v1beta4 and v1 Cloud SQL Admin API surfaces?

v1beta4 was the original stable beta path under /sql/v1beta4 and remains supported for backward compatibility. The v1 path under /v1 (sqladmin) is now generally available with the same resource model. New automation should typically target v1; v1beta4 is exposed here for tooling that already calls /sql/v1beta4.

### What are the rate limits for the Cloud SQL Admin API?

Admin API quotas default to a few hundred requests per minute per project, with stricter limits on instance creation and import/export operations. Quotas can be inspected and raised in the Google Cloud Console under IAM and admin > Quotas.

### How do I export a database to Cloud Storage through Jentic?

Search Jentic for 'export a Cloud SQL database', load the instances.export schema, and execute POST /sql/v1beta4/projects/{project}/instances/{instance}/export with the destination gs:// URI and target databases. Jentic returns the long-running operation handle for polling.

### Is the Cloud SQL Admin API free?

The Admin API itself has no per-call charge. Cloud SQL costs come from the underlying instance compute, storage, and backup retention, billed per hour and per GB.

### Can I limit what my agent is allowed to do with the Cloud SQL Admin API?

Yes. Because Jentic One is self-hosted, you write the rules that decide which Cloud SQL Admin operations and OAuth credential your agent may use, and you enforce them yourself. Since the project and instance sit in the URL path (/sql/v1beta4/projects/{project}/instances/{instance}), a rule can pin the agent to a single instance so it only reads that instance's details and databases and touches nothing else. You also pick the exact operations it may call, so destructive actions like clone or on-demand backup runs stay off limits unless you explicitly allow them.
