Acquia Cloud API
The Acquia Cloud API allows developers to extend, enhance, and customize Acquia Cloud. There are two major components to Cloud API:
- A RESTful web interface that allows direct control of Acquia Cloud sites. Complete documentation for the Cloud API web interface is below.
- Cloud Hooks, which are scripts in your code repository that Acquia Cloud executes on your behalf when a triggering action, including certain Cloud API functions, occur. Complete documentation, templates, and sample scripts for Cloud Hooks are available at https://github.com/acquia/cloud-hooks.
Cloud API is currently in private beta test. Any Acquia Cloud customer can use it by submitting a Support ticket asking for it to be enabled. Once enabled, for Cloud API credentials, Drush aliases, and the Acquia Cloud Drush command file, log in to the Acquia Network and visit the Cloud > Drush and API page for your site.
Additional resources:
API overview
Just the facts:
| Current version: | v1 |
| Endpoint: | https://cloudapi.acquia.com/v1 |
| Format: | JSON. All resource URLs must specify a ".json" suffix. |
| Authentication: | HTTP Basic Auth over SSL. |
| Credentials: | Available on the "Drush and API" page of the Acquia Cloud UI. |
| Status codes: | Standard. |
| Rate limit: | 360 calls per hour |
API functions are listed below, first summarized by category, then followed with complete documentation including arguments, return values, and an example call.
Sites and environments (collapse)
-
- GET '/sites'
List all sites accessible by the caller.
-
- GET /sites/:site
Get a site record.
-
- GET /sites/:site/envs
List a site’s environments.
-
- GET /sites/:site/envs/:env
Get an environment record.
-
- POST /sites/:site/envs/:env/install/:type
Install a Drupal distro or Drush Make file into an environment.
Servers (collapse)
-
- GET /sites/:site/envs/:env/servers
List a site environment’s servers.
-
- GET /sites/:site/envs/:env/servers/:server
Get a server record.
SSH keys (collapse)
-
- DELETE /sites/:site/sshkeys/:sshkeyid
Delete an SSH key.
-
- GET /sites/:site/sshkeys
List a site’s SSH keys.
-
- GET /sites/:site/sshkeys/:sshkeyid
Get an SSH key.
-
- POST /sites/:site/sshkeys
Add an SSH key.
SVN users (collapse)
-
- DELETE /sites/:site/svnusers/:svnuserid
Delete an SVN user.
-
- GET /sites/:site/svnusers
List a site’s SVN users.
-
- GET /sites/:site/svnusers/:svnuserid
Get an SVN user.
-
- POST /sites/:site/svnusers/:username
Add an SVN user.
Databases, database instances, and backups (collapse)
-
- DELETE /sites/:site/dbs/:db
Delete a database.
-
- DELETE /sites/:site/envs/:env/dbs/:db/backups/:backup
Delete a site environment database instance backup.
-
- GET /sites/:site/dbs
List a site’s databases.
-
- GET /sites/:site/dbs/:db
Get a database record.
-
- GET /sites/:site/envs/:env/dbs
List a site environment’s database instances.
-
- GET /sites/:site/envs/:env/dbs/:db
Get a database instance.
-
- GET /sites/:site/envs/:env/dbs/:db/backups
List a site environment’s database instance backups.
-
- GET /sites/:site/envs/:env/dbs/:db/backups/:backup
Get details about a database instance backup.
-
- GET /sites/:site/envs/:env/dbs/:db/backups/:backup/download
Download a database instance backup from server.
-
- POST /sites/:site/dbs
Add a database.
-
- POST /sites/:site/envs/:env/dbs/:db/backups
Create a database instance backup.
-
- POST /sites/:site/envs/:env/dbs/:db/backups/:backup/restore
Restore a site environment database instance backup.
Workflow (collapse)
-
- POST /sites/:site/code-deploy/:source/:target
Deploy code from one site environment to another.
-
- POST /sites/:site/dbs/:db/db-copy/:source/:target
Copy a database from one site environment to another.
-
- POST /sites/:site/domain-move/:source/:target
Move domain(s) from one site environment to another.
-
- POST /sites/:site/envs/:env/code-deploy
Deploy a specific VCS branch or tag to an environment.
-
- POST /sites/:site/files-copy/:source/:target
Copy files from one site environment to another.
Tasks (collapse)
-
- GET /sites/:site/tasks
List a site’s tasks.
-
- GET /sites/:site/tasks/:task
Get a task record.
Domains (collapse)
-
- DELETE /sites/:site/envs/:env/domains/:domain
Delete a domain.
-
- DELETE /sites/:site/envs/:env/domains/:domain/cache
Purge the Varnish cache for a domain.
-
- GET /sites/:site/envs/:env/domains
List an environment’s domains.
-
- GET /sites/:site/envs/:env/domains/:domain
Get a domain record.
-
- POST /sites/:site/envs/:env/domains/:domain
Add a domain name.
Instance Method Details
- DELETE /sites/:site/dbs/:db
Delete a database.
- DELETE /sites/:site/envs/:env/dbs/:db/backups/:backup
Delete a site environment database instance backup.
- DELETE /sites/:site/envs/:env/domains/:domain
Delete a domain
- DELETE /sites/:site/envs/:env/domains/:domain/cache
Purge the Varnish cache for a domain
- DELETE /sites/:site/sshkeys/:sshkeyid
Delete an SSH key.
- DELETE /sites/:site/svnusers/:svnuserid
Delete an SVN user
- GET '/sites'
List all sites accessible by the caller.
- GET /sites/:site
Get a site record.
- GET /sites/:site/dbs
List a site’s databases.
- GET /sites/:site/dbs/:db
Get a database record.
{
"name": "mysite",
}
- GET /sites/:site/envs
List a site’s environments.
- GET /sites/:site/envs/:env
Get an environment record.
- GET /sites/:site/envs/:env/dbs
List a site environment’s database instances.
- GET /sites/:site/envs/:env/dbs/:db
Get a database instance.
{
"host": "srv-4",
"instance_name": "mysitedev",
"name": "mysite",
"password": "UeytUwwZxpfqutH",
"username": "mysitedev"
}
- GET /sites/:site/envs/:env/dbs/:db/backups
List a site environment’s database instance backups.
- GET /sites/:site/envs/:env/dbs/:db/backups/:backup
Get details about a database instance backup.
- GET /sites/:site/envs/:env/dbs/:db/backups/:backup/download
Download a database instance backup from server.
- GET /sites/:site/envs/:env/domains
List an environment’s domains.
- GET /sites/:site/envs/:env/domains/:domain
Get a domain record.
- GET /sites/:site/envs/:env/servers
List a site environment’s servers.
- GET /sites/:site/envs/:env/servers/:server
Get a server record.
- GET /sites/:site/sshkeys
List a site’s SSH keys.
- GET /sites/:site/sshkeys/:sshkeyid
Get an SSH key.
- GET /sites/:site/svnusers
List a site’s SVN users.
]
- GET /sites/:site/svnusers/:svnuserid
Get an SVN user.
- GET /sites/:site/tasks
List a site’s tasks.
- GET /sites/:site/tasks/:task
Get a task record.
- POST /sites/:site/code-deploy/:source/:target
Deploy code from one site environment to another.
- POST /sites/:site/dbs
Add a database.
- POST /sites/:site/dbs/:db/db-copy/:source/:target
Copy a database from one site environment to another
- POST /sites/:site/domain-move/:source/:target
Move domain(s) from one site environment to another
- POST /sites/:site/envs/:env/code-deploy
Deploy a specific VCS branch or tag to an environment.
- POST /sites/:site/envs/:env/dbs/:db/backups
Create a database instance backup.
- POST /sites/:site/envs/:env/dbs/:db/backups/:backup/restore
Restore a site environment database instance backup.
- POST /sites/:site/envs/:env/domains/:domain
Add a domain name.
- POST /sites/:site/envs/:env/install/:type
Install a Drupal distro or Drush Make file into an environment.
- POST /sites/:site/files-copy/:source/:target
Copy files from one site environment to another
- POST /sites/:site/sshkeys
Add an SSH key
- POST /sites/:site/svnusers/:username
Add an SVN user.