---
title: "Developing with the Cloud Platform API"
date: "2024-02-14T06:18:38+00:00"
summary: "Extend and customize Cloud Platform with our RESTful API. Manage workflows, backups, and permissions programmatically."
image:
type: "page"
url: "/acquia-cloud-platform/developing-cloud-platform-api"
id: "aa4e5c22-bb00-450e-9105-945d3390a41c"
---

To enable you to extend, enhance, and customize Cloud Platform for your organization’s needs, Cloud Platform includes the _Cloud Platform API_, a RESTful web interface for these types of changes.

The Cloud Platform API v2 ([API documentation](https://cloudapi-docs.acquia.com/)) includes over 200 endpoints to enhance developer workflow, website management, and provisioning capabilities, such as:

*   [Download log files](https://cloudapi-docs.acquia.com/#/Environments/getEnvironmentsLogs)
*   [Schedule](https://cloudapi-docs.acquia.com/#/Environments/postEnvironmentCrons), [modify](https://cloudapi-docs.acquia.com/#/Environments/putCron), or [delete](https://cloudapi-docs.acquia.com/#/Environments/postEnvironmentCronDelete) cron jobs
*   [View](https://cloudapi-docs.acquia.com/#/Environments/getCertificates), [install](https://cloudapi-docs.acquia.com/#/Environments/postCertificate), or [delete](https://cloudapi-docs.acquia.com/#/Environments/deleteCertificate) SSL certificates
*   Add or [delete](https://cloudapi-docs.acquia.com/#/Environments/deleteEnvironment) a Cloud Platform CD environment
*   Retrieve [StackMetrics](https://cloudapi-docs.acquia.com/#/Environments/getEnvironmentsStackMetricsData) data
*   Retrieve the progress and completion status of [ongoing tasks](https://cloudapi-docs.acquia.com/#/Notifications/getNotificationByUuid).
*   Manage teams, roles, and permissions through multiple endpoints, such as:
    *   [Delete](https://cloudapi-docs.acquia.com/#/Organizations/deleteOrganization) or [rename](https://cloudapi-docs.acquia.com/#/Organizations/putOrganization) an organization
    *   [Display all members](https://cloudapi-docs.acquia.com/#/Organizations/getOrganizationMembers) of an organization
    *   [Invite](https://cloudapi-docs.acquia.com/#/Organizations/postOrganizationAdminInvite) or [remove](https://cloudapi-docs.acquia.com/#/Organizations/deleteOrganizationAdmin) an administrator
    *   Display all applications to which [a member has access](https://cloudapi-docs.acquia.com/#/Organizations/getOrganizationMemberApplications)
    *   [Display all roles](https://cloudapi-docs.acquia.com/#/Organizations/getOrganizationRoles) and their [access rights](https://cloudapi-docs.acquia.com/#/Teams%20and%20Permissions/getRole), or [create a new role](https://cloudapi-docs.acquia.com/#/Organizations/postOrganizationRoles)

Note

Acquia Cloud Platform API v2 is incompatible with [Multi-Experience Operations](/service-offerings/multi-experience-operations-product-guide "Multi-Experience Operations Product Guide").

Getting started
---------------

To start using Cloud Platform API, you must generate your API token, as described in [Cloud Platform API v2 authentication](/acquia-cloud-platform/develop-apps/api/auth).

What can the Cloud Platform API do?
-----------------------------------

You can use the Cloud Platform API to do many of the tasks that are needed as part of your daily application development and continuous integration process.

*   **Workflow**: Deploy code, databases, and user-uploaded files across your Development, Staging, and Production environments. The Cloud Platform API enables you to run any branch or tag from your Git repository in any environment as you can do from the Cloud Platform interface. This allows you to automate these functions, instead of having to log in to the Cloud Platform interface and manually drag elements from one environment to another.
*   **Backups**: Create, restore, and delete backups of your application’s databases. Cloud Platform fully supports Drupal multisite installations, with as many databases per codebase as you need.
*   **Application Information**: Retrieve current information about your application and its environments, including deployed code, databases, backups, and tasks.
*   **Task information**: Check the progress and completion status of ongoing tasks that support the [notificationUuid](https://cloudapi-docs.acquia.com/#/Notifications/getNotificationByUuid) parameter.
*   **User Roles and Permissions**: The Cloud Platform API allows you to work with roles and permissions as you would do from the Cloud Platform interface. You can create and remove teams, add or remove members from teams, or modify which applications are associated to which teams. Automate any functions you perform on a regular basis.

Notable to the Cloud Platform API is its integration with [Cloud Hooks](/acquia-cloud-platform/develop-apps/api/cloud-hooks), which allows you automate nearly any action to be performed along with your workflow actions. You can do the following:

*   Perform Drupal database updates or run your test suite when new code is deployed, and roll back to a previous release if the tests fail.
*   Scrub your Production database when it is copied to Development or Staging by removing customer emails or disabling production-only modules.
*   Check the progress and completion status of [ongoing tasks](https://cloudapi-docs.acquia.com/#/Notifications/getNotificationByUuid).
*   Integrate with third-party services, for example, by performing a Blitz.io performance test, when you deploy new code.

Comparing Cloud Platform API versions
-------------------------------------

With more robust documentation and monitoring, the Cloud Platform API v2 provides additional functionality as compared to Cloud Platform API v1, as described in the following table:

Category

[Cloud Platform API v2](http://cloudapi-docs.acquia.com/)

Development focus

Manage deployments, plus any other task available in the Cloud Platform user interface

Documentation

[Cloud Platform API v2](http://cloudapi-docs.acquia.com/)

Framework

OpenAPI

Authentication method

Uses a [key/secret pair](/acquia-cloud-platform/develop-apps/api/auth) to generate OAuth tokens

How to call an endpoint

Build your own tooling, or use open source tooling to get started, such as [Acquia CLI](https://github.com/acquia/cli) (recommended), the [Typhonius PHP SDK](https://github.com/typhonius/acquia-php-sdk-v2) or [Typhonius CLI](https://github.com/typhonius/acquia_cli).

Permissions for accessing the Cloud Platform API
------------------------------------------------

The roles and permissions assigned to your Cloud Platform account determine how you interact with the Cloud Platform API. You are _not_ required to have the _Access the Cloud API_ permission to use the Cloud Platform API. For information about assigning permissions to users in your organization, see [Working with roles and permissions](/acquia-cloud-platform/access/teams/roles).

Rate limits in the Cloud Platform API
-------------------------------------

To prevent a single user from adversely affecting shared resources, Cloud Platform API calls are limited to 100 calls per minute. Cloud Platform API calls exceeding the rate limit receive an `HTTP 429 Too Many Requests` status code response containing a `Retry-After` header, containing the number of seconds until Cloud Platform API calls will be unblocked.

Additional resources
--------------------

*   Cloud Platform API v2 resources:
    *   [Cloud API v2 reference](https://cloudapi-docs.acquia.com/)
    *   [Cloud API authentication](/acquia-cloud-platform/develop-apps/api/auth)
    *   Download an example [`authentication script`](/node/55797#section-api-v2-authphp)
    *   Download an example [`database creation script`](/node/55797#section-api-notification-examplephp)