diff --git a/assets/acquia-spec.json b/assets/acquia-spec.json new file mode 100644 index 000000000..086fcf8dd --- /dev/null +++ b/assets/acquia-spec.json @@ -0,0 +1,46058 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Acquia Cloud API Documentation", + "x-logo": { + "url": "assets/cloud-platform.svg", + "backgroundColor": "#FFFFFF", + "altText": "Acquia Cloud" + }, + "description": "Acquia Cloud API\n\n# Compatibility\n\n## Stability\n\nThe response for all resource endpoints includes an `X-CloudAPI-Stability` header that indicates what changes, if any, Acquia will make to the resource and how changes will be communicated.\n\nThere are three levels of stability:\n\n* `prototype`: A prototype resource is experimental and major changes are likely. A prototype resource may not reach production.\n * Compatible and emergency changes may be made with no advance notice\n * Disruptive changes may be made with one week notice\n * Deprecated resources will remain available for at least one month after deprecation\n* `development`: A resource that is unlikely to change, but is still being worked on, will be marked as in development. These resources are very likely to reach production.\n * Compatible and emergency changes may be made with no advance notice\n * Disruptive changes may be made with one month notice\n * Deprecated resources will remain available for at least six months after deprecation\n* `production`: A production resource will not introduce breaking changes within a version, and any breaking changes between versions will be communicated ahead of time.\n\n## Deprecation\n\nOver time, endpoints may become obsolete and will be removed in the future. These endpoints will be marked with an `X-CloudAPI-Deprecated` header indicating the version in which they were deprecated and the reason for the deprecation. Deprecated endpoints may be removed in the next version of the resource.\n\n## Versioning\n\nAll resource endpoints are versioned within the API. Endpoints that have reached production will not introduce breaking changes between versions. Non-production endpoints will not version for changes.\n\nA specific version of an endpoint can be requested via the `Accept` header:\n\n Accept: application/hal+json, version=2\n\nIf the version is not specified, the latest version of the endpoint will be used.\n\nStarting with version 3, we will support the current version of an endpoint and the previous version. Version 1 of the API is [provided elsewhere](https://cloudapi.acquia.com/).\n\n## Errors\n\nSome endpoints will return a 503 status when dependent services are unavailable:\n\n application/hal+json\n {\n \"error\": \"system\",\n \"message\": \"This action is currently unavailable. Please try again later.\"\n }\n\n## Authentication\n\nAll Acquia Cloud API calls require authentication to work properly.\n\nLearn more: https://docs.acquia.com/acquia-cloud/develop/api/auth/\n\n### Example implementation\n\nAn example PHP script for making authenticated API requests can be found here. This script uses the League/oauth2-client library, installed via Composer.\n", + "version": "2.0.0", + "contact": { + "name": "Customer Experience Engineering (CXE)", + "url": "https://www.acquia.com" + } + }, + "servers": [ + { + "url": "https://cloud.acquia.com/api", + "description": "Cloud API" + } + ], + "components": { + "parameters": { + "ApmType": { + "name": "apmType", + "in": "path", + "required": true, + "description": "The APM type.", + "schema": { + "type": "string" + }, + "example": "newrelic" + }, + "ArtifactId": { + "name": "artifactId", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies an artifact.", + "schema": { + "type": "string" + }, + "example": "drupal8" + }, + "BackupId": { + "name": "backupId", + "in": "path", + "required": true, + "description": "The database backup identifier.", + "schema": { + "type": "integer" + }, + "example": 1 + }, + "CertificateId": { + "name": "certificateId", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies a certificate.", + "schema": { + "type": "integer" + }, + "example": 7 + }, + "ConfigurationSetId": { + "name": "configurationSetId", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies a configuration set.", + "schema": { + "type": "string" + }, + "example": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "CronId": { + "name": "cronId", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies a cron job.", + "schema": { + "type": "string" + }, + "example": "e10a665c-c9ec-4422-a82b-b32c82329f9d" + }, + "DatabaseName": { + "name": "databaseName", + "in": "path", + "required": true, + "description": "The database name, typically lower snake case.", + "schema": { + "type": "string" + }, + "example": "my_db" + }, + "Domain": { + "name": "domain", + "in": "path", + "description": "A domain name.", + "required": true, + "schema": { + "type": "string" + }, + "example": "example.com" + }, + "DomainRegistrationUuid": { + "name": "domainRegistrationUuid", + "in": "path", + "description": "The Domain Registration universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "DrushVersion": { + "name": "version", + "in": "query", + "description": "Specifies the drush aliases formatting, either 8 (example.aliases.drushrc.php) or 9 (example.site.yaml)", + "required": true, + "schema": { + "type": "integer", + "enum": [ + 8, + 9 + ] + }, + "example": 8 + }, + "EnvironmentId": { + "name": "environmentId", + "in": "path", + "description": "The environment identifier. The identifier is a compound key consisting of the internal database ID of the environment and the application UUID.", + "required": true, + "schema": { + "type": "string" + }, + "example": "12-d314739e-296f-11e9-b210-d663bd873d93" + }, + "EnvironmentVariableName": { + "name": "environmentVariableName", + "in": "path", + "description": "The environment variable name.", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "example": "EXAMPLE_VARIABLE_NAME" + }, + "IndexId": { + "name": "indexId", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies an index.", + "schema": { + "type": "string" + }, + "example": "ABCDE-1234.test.example" + }, + "LogType": { + "name": "logType", + "in": "path", + "required": true, + "description": "An ID that uniquely identifies a log type.", + "schema": { + "type": "string", + "enum": [ + "apache-access", + "apache-error", + "drupal-request", + "drupal-watchdog", + "php-error", + "mysql-slow-query" + ] + }, + "example": "php-error" + }, + "Name": { + "name": "name", + "in": "path", + "description": "A name that uniquely identifies an entity.", + "required": true, + "schema": { + "type": "string" + }, + "example": "drupal8" + }, + "Permission": { + "name": "permission", + "in": "query", + "description": "Specifies the permission you wish to check access for.", + "required": true, + "schema": { + "type": "string" + }, + "example": "deploy to prod" + }, + "ServerId": { + "name": "serverId", + "in": "path", + "required": true, + "description": "The internal database identifier of the server.", + "schema": { + "type": "string" + }, + "example": "42" + }, + "ServerType": { + "name": "serverType", + "in": "query", + "description": "Specifies the type of server metric to retrieve.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "web", + "bal", + "db" + ] + }, + "example": "web" + }, + "SiteId": { + "name": "siteId", + "in": "path", + "description": "The site id", + "required": true, + "schema": { + "type": "string" + }, + "example": "1938d81b-4b14-462d-9871-5f8a32eb59b3" + }, + "StackMetricsMetricType": { + "name": "stackMetricsMetricType", + "in": "path", + "description": "Specifies the type of StackMetrics metric to retrieve.", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "apache-requests", + "bal-cpu", + "bal-memory", + "cron-memory", + "db-cpu", + "db-disk-size", + "db-disk-usage", + "db-memory", + "file-disk-size", + "file-cpu", + "file-disk-usage", + "file-memory", + "http-2xx", + "http-3xx", + "http-4xx", + "http-5xx", + "mysql-slow-query-count", + "nginx-requests", + "out-of-memory", + "php-proc-max-reached-site", + "php-proc-max-reached-total", + "php-proc-site", + "php-proc-total", + "varnish-cache-hit-rate", + "varnish-requests", + "web-cpu", + "web-memory" + ] + } + }, + "example": [ + "web-cpu", + "web-memory" + ] + }, + "TagName": { + "name": "tagName", + "in": "path", + "description": "The name of the application tag.", + "required": true, + "schema": { + "type": "string" + }, + "example": "green" + }, + "TokenDeleteReason": { + "name": "tokenDeleteReason", + "in": "query", + "description": "Specifies the reason for the token revocation for future reference.", + "schema": { + "type": "string" + }, + "example": "The quick brown fox jumped over the lazy dog." + }, + "UsageMetric": { + "name": "usageMetric", + "in": "path", + "description": "A usage data metric type.", + "required": true, + "schema": { + "type": "string" + }, + "example": "views" + }, + "UserSearch": { + "name": "userSearch", + "in": "query", + "description": "The user's username, email, name, or token. This can be a partial match.", + "required": true, + "schema": { + "type": "string" + }, + "example": "john doe" + }, + "AgreementUuid": { + "name": "agreementUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "AlertUuid": { + "name": "alertUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "ApplicationUuid": { + "name": "applicationUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "IdentityProviderUuid": { + "name": "identityProviderUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "IdeUuid": { + "name": "ideUuid", + "in": "path", + "description": "The Cloud IDE universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "LogForwardingDestinationUuid": { + "name": "logForwardingDestinationUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "dbd8a966-2b25-11e9-b210-d663bd873d93" + }, + "MessageUuid": { + "name": "messageUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "NotificationUuid": { + "name": "notificationUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "2343b683-b194-4217-982a-6a95c72ad9a8" + }, + "OrganizationUuid": { + "name": "organizationUuid", + "in": "path", + "description": "The organization entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string", + "minLength": 36, + "maxLength": 36, + "format": "uuid" + }, + "example": "1e7efab9-0fac-4a2c-ad94-61efc78623ba" + }, + "RoleUuid": { + "name": "roleUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "ShieldAclUuid": { + "name": "shieldAclUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "a1234567-1234-123a-abc1-12ab345cd678" + }, + "SshKeyUuid": { + "name": "sshKeyUuid", + "in": "path", + "description": "The SSH key entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "981b7910-2fe9-11e9-b210-d663bd873d93" + }, + "SubscriptionUuid": { + "name": "subscriptionUuid", + "in": "path", + "description": "The subscription entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "0f3ad33e-2fe4-11e9-b210-d663bd873d93" + }, + "TeamUuid": { + "name": "teamUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "3eef5d81-62f4-429c-aa94-e17d05ab4740" + }, + "TokenUuid": { + "name": "tokenUuid", + "in": "path", + "description": "The token entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "882f3258-2fe9-11e9-b210-d663bd873d93" + }, + "UserUuid": { + "name": "userUuid", + "in": "path", + "description": "The entity's universally unique identifier.", + "required": true, + "schema": { + "type": "string" + }, + "example": "f2daa9cc-e5a0-4036-a5c8-f96e336c62b5" + }, + "DeprecatedFrom": { + "name": "from", + "in": "query", + "description": "(Use filter `from` instead.) Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date. Used in conjunction with `to` query.", + "deprecated": true, + "required": false, + "schema": { + "type": "string" + }, + "example": "2019-10-01T00:00:00.000Z" + }, + "DeprecatedTo": { + "name": "to", + "in": "query", + "description": "(Use filter `to` instead.) Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date. Used in conjunction with `from` query.", + "deprecated": true, + "required": false, + "schema": { + "type": "string" + }, + "example": "2020-01-01T00:00:00.000Z" + }, + "From": { + "name": "from", + "in": "query", + "description": "Specifies relative or absolute time period to retrieve results from. (Default value -7d)", + "required": false, + "schema": { + "type": "string" + }, + "example": "-7d" + }, + "FromNoDefault": { + "name": "from", + "in": "query", + "description": "An ISO-8601 formatted date retrieve results from.", + "required": false, + "schema": { + "type": "string" + }, + "example": "2021-01-29T22:45:21.000Z" + }, + "FromStackMetrics": { + "name": "from", + "in": "query", + "description": "An ISO-8601 formatted date retrieve metrics from.", + "required": true, + "schema": { + "type": "string" + }, + "example": "2021-01-29T22:45:21.000Z" + }, + "To": { + "name": "to", + "in": "query", + "description": "Optionally specifies relative or absolute time period to retrieve results until.", + "required": false, + "schema": { + "type": "string" + }, + "example": "-1d" + }, + "ToNoDefault": { + "name": "to", + "in": "query", + "description": "An ISO-8601 formatted date retrieve results to.", + "required": false, + "schema": { + "type": "string" + }, + "example": "2021-01-29T23:55:21.000Z" + }, + "Sort": { + "name": "sort", + "in": "query", + "description": "A comma-delimited string with fields used for sorting. The order of the fields is significant. A leading - in the field indicates the field should be sorted in a descending order. Not all fields are sortable.\n", + "required": false, + "schema": { + "type": "string", + "minimum": 1 + }, + "example": "field1,-field2" + }, + "Filter": { + "name": "filter", + "in": "query", + "description": "The filters query string parameter restricts the data returned from your request. Filtered queries restrict the rows that do (or do not) get included in the result by testing each row in the result against the filters. Not all fields are filterable.\n\nThere are eight filter operators that can be used and they must be URL encoded in order to be included. The operators are:\n\n* Equals: `= (%3D)`\n* Does not equal: `!= (!%3D)`\n* Greater than: `> (%3E)`\n* Less than: `< (%3C)`\n* Greater than or equal to: `>= (%3E%3D)`\n* Less than or equal to: `<= (%3C%3D)`\n* Contains substring: `=@ (%3D@)`\n* Does not contain substring: `!@ (!@)`\n\nFilters can be combined using `OR` and `AND` boolean logic. The `OR` operator is defined using a comma (`,`) and the `AND` operator is defined using a semi-colon (`;`).\n\nSome examples:\n* `filter=field%3Dvalue` (`field` equals `'value'`)\n* `filter=field%3D@*partialmatch` (`field` ends with `'partialmatch'`)\n* `filter=field%3D@*partialmatch,field%3Dvalue` (`field` ends with `'partialmatch'` OR `field` equals `'value'`)\n* `filter=field%3D@*partialmatch,field%3Dvalue;field2%3C5` (`field` ends with `'partialmatch'` OR `field` equals `'value'` AND `field2` > `5`)\n", + "required": false, + "schema": { + "type": "string", + "minimum": 1 + } + }, + "FilterStackMetrics": { + "name": "filter", + "in": "query", + "description": "The filters query string parameter restricts the data returned from your request. Filtered queries restrict the rows that do (or do not) get included in the result by testing each row in the result against the filters. Not all fields are filterable.\n\nThere are eight filter operators that can be used and they must be URL encoded in order to be included. The operators are:\n\n* Equals: `= (%3D)`\n* Does not equal: `!= (!%3D)`\n* Greater than: `> (%3E)`\n* Less than: `< (%3C)`\n* Greater than or equal to: `>= (%3E%3D)`\n* Less than or equal to: `<= (%3C%3D)`\n* Contains substring: `=@ (%3D@)`\n* Does not contain substring: `!@ (!@)`\n\nFilters can be combined using `OR` and `AND` boolean logic. The `OR` operator is defined using a comma (`,`) and the `AND` operator is defined using a semi-colon (`;`).\n\nSome examples:\n* `filter=field%3Dvalue` (`field` equals `'value'`)\n* `filter=field%3D@*partialmatch` (`field` ends with `'partialmatch'`)\n* `filter=field%3D@*partialmatch,field%3Dvalue` (`field` ends with `'partialmatch'` OR `field` equals `'value'`)\n* `filter=field%3D@*partialmatch,field%3Dvalue;field2%3C5` (`field` ends with `'partialmatch'` OR `field` equals `'value'` AND `field2` > `5`)\n\n**For this endpoint, the \"metric\" filter is required. Multiple metrics can be returned in one request. The following metrics are available:**\n\n* apache-requests, bal-cpu, bal-memory, cron-memory, db-cpu, db-disk-size, db-disk-usage, db-memory, file-disk-size, file-cpu, file-disk-usage, file-memory, http-2xx, http-3xx, http-4xx, http-5xx, mysql-slow-query-count, nginx-requests, out-of-memory, php-proc-max-reached-site, php-proc-max-reached-total, php-proc-site, php-proc-total, varnish-cache-hit-rate, varnish-requests, web-cpu, web-memory\n", + "required": true, + "schema": { + "type": "string", + "minimum": 1 + } + }, + "Limit": { + "name": "limit", + "in": "query", + "description": "The maximum number of items to return.", + "required": false, + "schema": { + "type": "integer" + }, + "example": 10 + }, + "Offset": { + "name": "offset", + "in": "query", + "description": "An integer to signify the offset to paginate from.", + "required": false, + "schema": { + "type": "integer" + }, + "example": 10 + }, + "Range": { + "name": "range", + "in": "query", + "description": "ISO-8601 date/time of invite create date/time.", + "required": false, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "Token": { + "name": "token", + "in": "path", + "description": "The token identifier.", + "required": true, + "schema": { + "type": "string" + } + }, + "Resolution": { + "name": "resolution", + "in": "query", + "description": "Specifies the data granularity of the request. Available resolutions: minute, hour, day, week or month.\n\nLimits:\n- 3 hour limit for “minute” resolution\n- 1 week limit for “hour” resolution\n- 6 month limit for “day” resolution\n- 1 year limit for \"week\" resolution\n- 3 year limit for “month” resolution\n", + "required": false, + "schema": { + "type": "string", + "enum": [ + "minute", + "hour", + "day", + "week", + "month" + ] + } + } + }, + "schemas": { + "Error": { + "type": "object", + "required": [ + "error", + "message" + ], + "properties": { + "error": { + "type": "string", + "description": "The error summary." + }, + "message": { + "type": "string", + "description": "The long description for the returned error." + } + } + }, + "File": { + "type": "string", + "description": "A binary file response.", + "format": "binary" + }, + "Health": { + "type": "object", + "description": "The current health for this resource.", + "properties": { + "code": { + "type": "string", + "description": "The status code for the current health." + }, + "details": { + "type": "string", + "description": "Full details about the current health code." + }, + "summary": { + "type": "string", + "description": "A brief summary that explains why the health code is present." + } + } + }, + "Links": { + "type": "object", + "required": [ + "self" + ], + "description": "HAL links about the current resource.", + "properties": { + "self": { + "type": "object", + "description": "A link to this page.", + "required": [ + "href" + ], + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "The URI for this page." + } + } + } + } + }, + "Message": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string", + "description": "A simple message returned from the response." + } + } + }, + "MessageWithLinks": { + "type": "object", + "required": [ + "message", + "_links" + ], + "properties": { + "message": { + "type": "string", + "description": "The human-friendly confirmation of the creation of the resource." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Pagination": { + "type": "object", + "description": "A collection of pagination properties.", + "properties": { + "total": { + "type": "integer", + "description": "The total number of objects in the collection." + }, + "limit": { + "type": "integer", + "description": "The limit on the number of objects in the collection." + }, + "offset": { + "type": "integer", + "description": "The offset on the retrieved objects in the collection." + } + } + }, + "Root": { + "type": "object", + "required": [ + "status", + "_links" + ], + "properties": { + "status": { + "type": "object", + "description": "The current status of various systems.", + "properties": { + "configuration": { + "type": "boolean", + "description": "The current configuration system status." + }, + "registry": { + "type": "boolean", + "description": "The current registry system status." + }, + "acp_provisioning_enabled": { + "type": "boolean", + "description": "Whether Acquia Cloud Professional provisioning is currently enabled." + }, + "acf_provisioning_enabled": { + "type": "boolean", + "description": "Whether Acquia Cloud Free provisioning is currently enabled." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ValidationError": { + "type": "object", + "required": [ + "error", + "message" + ], + "description": "A validation error.", + "properties": { + "error": { + "type": "string", + "description": "The error summary." + }, + "message": { + "type": "object", + "description": "The validation error message keyed by its field or group name.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AccountInvites": { + "type": "object", + "description": "A collection of invites.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of invites matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Invite" + } + } + } + } + } + }, + "Agreement": { + "type": "object", + "required": [ + "uuid", + "document_uuid", + "title", + "body", + "status", + "created_at", + "updated_at", + "actioned_by", + "reference", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The agreement UUID." + }, + "document_uuid": { + "type": "string", + "format": "uuid", + "description": "The agreement document UUID." + }, + "title": { + "type": "string", + "description": "The name of the agreement." + }, + "body": { + "type": "string", + "description": "The formatted agreement content." + }, + "status": { + "type": "string", + "description": "The status of the agreement.", + "enum": [ + "pending", + "accepted", + "declined" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date the agreement was created." + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The date the agreement was last updated.", + "nullable": true + }, + "actioned_by": { + "$ref": "#/components/schemas/UserStubNullable" + }, + "reference": { + "type": "object", + "description": "A reference to the entity for this agreement.", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The entity UUID." + }, + "name": { + "type": "string", + "description": "The entity name." + }, + "type": { + "type": "string", + "description": "The entity type." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Agreements": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of agreements matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Agreement" + } + } + } + } + } + }, + "Invitees": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of invitees matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserStub" + } + } + } + } + } + }, + "Application": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "hosting", + "subscription", + "organization", + "flags", + "type", + "status", + "_links", + "_embedded" + ], + "properties": { + "id": { + "type": "integer", + "description": "The unique internal ID of the application." + }, + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the application." + }, + "name": { + "type": "string", + "description": "The name of the application." + }, + "hosting": { + "type": "object", + "description": "Hosting details for this application.", + "properties": { + "type": { + "type": "string", + "enum": [ + "ace", + "acp", + "acsf", + "free", + "network", + "search", + "unknown" + ], + "description": "The hosting type." + }, + "id": { + "type": "string", + "description": "The hosting ID." + } + } + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionStub" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "flags": { + "$ref": "#/components/schemas/ApplicationFlags" + }, + "type": { + "type": "string", + "enum": [ + "drupal", + "node", + "static", + "node-ssr" + ], + "description": "The type of application supported." + }, + "status": { + "type": "string", + "enum": [ + "normal", + "provisioning" + ], + "description": "The current application status." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "Entities related to the application.", + "properties": { + "subscription": { + "$ref": "#/components/schemas/SubscriptionStubEmbedded" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStubEmbedded" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceTagEmbedded" + } + } + } + } + } + }, + "ApplicationFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with applications.", + "properties": { + "remote_admin": { + "type": "boolean", + "description": "Whether this application has remote administration enabled." + } + } + }, + "Applications": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of applications.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationNoEmbedded" + } + } + } + } + } + }, + "ApplicationFeature": { + "type": "object", + "required": [ + "name", + "label", + "description" + ], + "properties": { + "name": { + "type": "string", + "description": "The feature flag machine name." + }, + "label": { + "type": "string", + "description": "The feature flag friendly name." + }, + "description": { + "type": "string", + "description": "A description of the feature flag." + } + } + }, + "ApplicationFeatures": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of application feature flags.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationFeature" + } + } + } + } + } + }, + "ApplicationMetadata": { + "type": "object", + "description": "Application metadata.", + "properties": { + "uuids": { + "type": "array", + "description": "Collection of application UUIDs.", + "items": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + } + } + } + }, + "ApplicationNoEmbedded": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "hosting", + "subscription", + "organization", + "flags", + "type", + "status", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The unique internal ID of the application." + }, + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the application." + }, + "name": { + "type": "string", + "description": "The name of the application." + }, + "hosting": { + "type": "object", + "description": "Hosting details for this application.", + "properties": { + "type": { + "type": "string", + "enum": [ + "ace", + "acp", + "acsf", + "free", + "network", + "search", + "unknown" + ], + "description": "The hosting type." + }, + "id": { + "type": "string", + "description": "The hosting ID." + } + } + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionStub" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "flags": { + "$ref": "#/components/schemas/ApplicationFlags" + }, + "type": { + "type": "string", + "enum": [ + "drupal", + "node", + "static", + "node-ssr" + ], + "description": "The type of application supported." + }, + "status": { + "type": "string", + "enum": [ + "normal", + "provisioning" + ], + "description": "The current application status." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ApplicationsNotifications": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of notifications matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + }, + "ApplicationsPermissions": { + "type": "object", + "required": [ + "total", + "flags", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "flags": { + "type": "object", + "description": "Additional information about the permissions.", + "required": [ + "administrator" + ], + "properties": { + "administrator": { + "type": "boolean", + "description": "Whether the current user is able to administrate the application." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of permissions matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Permission" + } + } + } + } + } + }, + "ApplicationStub": { + "type": "object", + "required": [ + "name", + "uuid" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the application." + }, + "uuid": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + } + } + }, + "ApplicationsTasks": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of tasks matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Task" + } + } + } + } + } + }, + "ApplicationsTeams": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of teams matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Team" + } + } + } + } + } + }, + "ApplicationDatabases": { + "type": "object", + "description": "Collection of application databases.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of database names matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationDatabaseName" + } + } + } + } + } + }, + "ApplicationDatabaseName": { + "type": "object", + "description": "Application database name.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The database name.", + "minLength": 1, + "maxLength": 63 + } + } + }, + "Artifact": { + "type": "object", + "required": [ + "id", + "name", + "state", + "created_at", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The unique ID of the artifact." + }, + "name": { + "type": "string", + "description": "The name of the artifact." + }, + "state": { + "type": "string", + "enum": [ + "delete-failed", + "deleted", + "pending-delete", + "pending-upload", + "ready", + "upload-failed" + ], + "description": "The state of the artifact." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The time at which the artifact was created." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Artifacts": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of artifacts.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Artifact" + } + } + } + } + } + }, + "Code": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of branch and tag information.", + "properties": { + "items": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "flags" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the branch or tag." + }, + "flags": { + "$ref": "#/components/schemas/CodeFlags" + } + } + } + } + } + } + } + }, + "CodeFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with code branches and tags on applications.", + "properties": { + "tag": { + "type": "boolean" + } + } + }, + "ResourceTag": { + "type": "object", + "required": [ + "name", + "color", + "context", + "_links" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the tag." + }, + "color": { + "type": "string", + "description": "The color of the tag." + }, + "context": { + "type": "object", + "description": "Metadata related to the tag.", + "properties": { + "organization": { + "type": "object", + "description": "A collection of organization metadata for the tag.", + "properties": { + "uuids": { + "type": "array", + "description": "An array of organization UUIDs.", + "items": { + "type": "string", + "format": "uuid", + "description": "The organization UUID." + } + } + } + }, + "application": { + "type": "object", + "description": "A collection of application metadata for the tag.", + "properties": { + "uuids": { + "type": "array", + "description": "An array of application UUIDs.", + "items": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + } + } + } + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ResourceTagEmbedded": { + "type": "object", + "description": "An associated tag.", + "required": [ + "name", + "color", + "_links" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the tag." + }, + "color": { + "type": "string", + "description": "The color of the tag." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ResourceTagOrganization": { + "type": "object", + "required": [ + "name", + "color", + "context" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the tag." + }, + "color": { + "type": "string", + "description": "The color of the tag." + }, + "context": { + "type": "object", + "description": "Metadata related to the tag.", + "properties": { + "organization": { + "type": "object", + "description": "A collection of organization metadata for the tag.", + "properties": { + "uuids": { + "type": "array", + "description": "An array of organization UUIDs.", + "items": { + "type": "string", + "format": "uuid", + "description": "The organization UUID." + } + } + } + }, + "application": { + "type": "object", + "description": "A collection of application metadata for the tag.", + "properties": { + "uuids": { + "type": "array", + "description": "An array of application UUIDs.", + "items": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + } + } + } + } + } + } + } + }, + "ResourceTags": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of tags matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceTag" + } + } + } + } + } + }, + "CodeStudioApplication": { + "type": "object", + "description": "The model for a Code Studio application.", + "required": [ + "uuid", + "name", + "_links", + "_embedded" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the application." + }, + "name": { + "type": "string", + "description": "The application name." + }, + "_links": { + "type": "object", + "description": "Links to Code Studio project and API.", + "properties": { + "self": { + "type": "object", + "description": "A link to this page.", + "required": [ + "href" + ], + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "The URI for this page." + } + } + }, + "project": { + "type": "object", + "description": "A link to code studio project.", + "required": [ + "href" + ], + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "The URI for the code studio project." + } + } + }, + "parent": { + "type": "object", + "description": "A link to the parent page.", + "required": [ + "href" + ], + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "The URI for the parent page." + } + } + } + } + }, + "_embedded": { + "type": "object", + "description": "An associated code studio project.", + "properties": { + "project": { + "$ref": "#/components/schemas/CodeStudioProjectNoEmbedded" + } + } + } + } + }, + "CodeStudioApplications": { + "type": "object", + "description": "A collection of applications with associated Code Studio projects for a subscription.", + "required": [ + "total", + "pagination", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Code Studio enabled applications.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CodeStudioApplication" + } + } + } + } + } + }, + "CodeStudioOptions": { + "type": "object", + "description": "Code Studio options.", + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + }, + "roles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CodeStudioProject": { + "type": "object", + "description": "The model for a Code Studio project.", + "required": [ + "application_id", + "status", + "_embedded", + "_links" + ], + "properties": { + "application_id": { + "type": "string", + "format": "uuid", + "description": "The associated application id." + }, + "status": { + "type": "string", + "description": "The status of the GitLab project", + "enum": [ + "active", + "inactive", + "installing", + "install-failed", + "deleted", + "deleting", + "delete-failed" + ] + }, + "_embedded": { + "type": "object", + "description": "Contains the embedded Acquia Cloud user.", + "properties": { + "application": { + "$ref": "#/components/schemas/ApplicationStub" + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CodeStudioProjectNoEmbedded": { + "type": "object", + "description": "The model for a Code Studio project.", + "required": [ + "application_id", + "status", + "_links" + ], + "properties": { + "application_id": { + "type": "string", + "format": "uuid", + "description": "The associated application id." + }, + "status": { + "type": "string", + "description": "The status of the GitLab project", + "enum": [ + "active", + "inactive", + "installing", + "install-failed", + "deleted", + "deleting", + "delete-failed" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CodeStudioSubscriptionMetadata": { + "type": "object", + "description": "The Code Studio status for a subscription.", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "description": "A status indicating whether Code Studio has been enabled for the subscription.", + "enum": [ + "active", + "installing", + "install-failed", + "deleted", + "deleting", + "delete-failed" + ] + } + } + }, + "CodeStudioUser": { + "type": "object", + "description": "The model for a Code Studio user.", + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "role", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The Acquia Cloud user UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "role": { + "type": "string", + "format": "uuid", + "description": "The GitLab role for the user." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CodeStudioUsers": { + "type": "object", + "description": "A collection of users for a subscription with assigned seats for Code Studio.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Code Studio enabled users.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CodeStudioUser" + } + } + } + } + } + }, + "DomainRegistration": { + "type": "object", + "required": [ + "uuid", + "domain_name", + "health", + "dns_records", + "_links" + ], + "description": "The Domain Registration.", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the domain registration." + }, + "domain_name": { + "type": "string", + "format": "hostname", + "description": "The domain name." + }, + "health": { + "$ref": "#/components/schemas/Health" + }, + "dns_records": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DomainRegistrationDnsRecords" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "DomainRegistrations": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of domain registrations.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DomainRegistration" + } + } + } + } + } + }, + "DomainRegistrationDnsRecord": { + "type": "object", + "description": "A DNS record.", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of DNS record.", + "enum": [ + "TXT", + "MX", + "CNAME" + ] + }, + "name": { + "type": "string", + "description": "The name of the DNS record" + }, + "value": { + "type": "string", + "description": "The DNS record value." + }, + "health": { + "$ref": "#/components/schemas/Health" + } + } + }, + "DomainRegistrationDnsRecords": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of DNS records", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DomainRegistrationDnsRecord" + } + } + } + } + } + }, + "Distribution": { + "type": "object", + "required": [ + "name", + "urls", + "update_urls", + "title", + "version", + "drupal_version", + "description", + "image_url", + "flags", + "_links" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the distribution." + }, + "urls": { + "type": "object", + "description": "The URLs for the distribution.", + "properties": { + "gz": { + "type": "string", + "description": "The URI for the gzip compressed distribution.", + "format": "uri" + }, + "zip": { + "type": "string", + "description": "The URI for the zip compressed distribution.", + "format": "uri" + } + } + }, + "update_urls": { + "type": "object", + "description": "The update URLs for the distribution.", + "properties": { + "gz": { + "type": "string", + "description": "The URI for the gzip compressed update.", + "format": "uri" + }, + "zip": { + "type": "string", + "description": "The URI for the zip compressed update.", + "format": "uri" + } + } + }, + "title": { + "type": "string", + "description": "The title of the distribution." + }, + "version": { + "type": "string", + "description": "The full version string of the distribution." + }, + "drupal_version": { + "type": "string", + "description": "The Drupal version string of the distribution." + }, + "description": { + "type": "string", + "description": "The verbose description of the distribution." + }, + "image_url": { + "type": "string", + "description": "The URI for the logo image for this distribution.", + "format": "uri" + }, + "flags": { + "type": "object", + "description": "Flags for this distribution.", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this distribution is the default." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Distributions": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of distributions.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Distribution" + } + } + } + } + } + }, + "Email": { + "type": "object", + "required": [ + "status", + "_links" + ], + "description": "The Email status.", + "properties": { + "status": { + "type": "string", + "description": "The status of Platform Email for the environment", + "enum": [ + "active", + "inactive" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "EmailDomain": { + "type": "object", + "required": [ + "uuid", + "domain_name", + "flags", + "health" + ], + "description": "The Email Domain", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the email domain." + }, + "domain_name": { + "type": "string", + "format": "hostname", + "description": "The domain name." + }, + "flags": { + "type": "object", + "description": "Additional Email Domain information.", + "properties": { + "associated": { + "type": "boolean", + "description": "Whether or not Platform Email has been associated with the application." + } + } + }, + "health": { + "$ref": "#/components/schemas/Health" + } + } + }, + "EmailDomains": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of email domains.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmailDomain" + } + } + } + } + } + }, + "Entitlements": { + "type": "object", + "description": "Entitlements collection.", + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of entitlements.", + "properties": { + "items": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EntitlementPipelines" + }, + { + "$ref": "#/components/schemas/EntitlementCde" + }, + { + "$ref": "#/components/schemas/EntitlementConsumptionBasedPricing" + }, + { + "$ref": "#/components/schemas/EntitlementLogForwarding" + }, + { + "$ref": "#/components/schemas/EntitlementShield" + }, + { + "$ref": "#/components/schemas/EntitlementDefaultNewRelic" + }, + { + "$ref": "#/components/schemas/EntitlementMigrate" + } + ] + } + } + } + } + } + }, + "EntitlementPipelines": { + "type": "object", + "description": "Pipelines entitlement.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + } + } + }, + "EntitlementCde": { + "type": "object", + "description": "Continuous delivery environment entitlement.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + }, + "properties": { + "type": "object", + "description": "Entitlement data.", + "properties": { + "databases_total": { + "type": "integer", + "description": "The number of on-demand environment databases granted." + }, + "total": { + "type": "integer", + "description": "The number of on-demand environments granted." + }, + "used": { + "type": "integer", + "description": "The number of on-demand environments used." + } + } + } + } + }, + "EntitlementConsumptionBasedPricing": { + "type": "object", + "description": "Consumption based pricing entitlement.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + }, + "properties": { + "type": "object", + "description": "Entitlement data.", + "properties": { + "visits": { + "type": "integer", + "description": "The maximum number of allowed unique visits." + }, + "views": { + "type": "integer", + "description": "The maximum number of allowed views." + } + } + } + } + }, + "EntitlementLogForwarding": { + "type": "object", + "description": "Log forwarding entitlement.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + } + } + }, + "EntitlementMigrate": { + "type": "object", + "description": "Acquia Migrate Accelerator entitlement.", + "deprecated": true, + "required": [ + "name", + "offering_ids", + "expires_at", + "flags", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + }, + "properties": { + "type": "object", + "description": "Entitlement data." + } + } + }, + "EntitlementDefaultNewRelic": { + "type": "object", + "description": "Represents the default New Relic account. The default New Relic account is created when a subscription is provisioned.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + }, + "properties": { + "type": "object", + "description": "Entitlement data.", + "properties": { + "id": { + "type": "string", + "description": "The New Relic account identifier." + }, + "level": { + "type": "string", + "description": "The New Relic account level.", + "enum": [ + "pro" + ] + } + } + } + } + }, + "EntitlementShield": { + "type": "object", + "description": "Shield entitlement.", + "required": [ + "name", + "offering_ids", + "expires_at", + "flags" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the entitlement." + }, + "offering_ids": { + "type": "array", + "description": "The offering IDs associated with the entitlement." + }, + "expires_at": { + "type": "string", + "description": "The furthest expiration date." + }, + "flags": { + "type": "object", + "description": "The flags associated with the entitlement.", + "properties": { + "trial": { + "type": "boolean", + "description": "Determines if the entitlement is a trial." + } + } + } + } + }, + "Apm": { + "type": "object", + "description": "Details application performance monitor settings.", + "required": [ + "type", + "key", + "name", + "flags", + "_links", + "_embedded" + ], + "properties": { + "type": { + "type": "string", + "description": "Indicates the APM type." + }, + "key": { + "type": "string", + "description": "The APM license key." + }, + "name": { + "type": "string", + "description": "The APM application name. New Relic only." + }, + "flags": { + "type": "object", + "description": "An array of flags for an APM.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether or not the APM is enabled." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "Entities related to the APM settings.", + "properties": { + "environment": { + "type": "array", + "description": "An array of links to related environments.", + "items": { + "type": "object", + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + } + } + } + } + } + }, + "ArtifactStub": { + "type": "object", + "nullable": true, + "required": [ + "name", + "id" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the artifact." + }, + "id": { + "type": "integer", + "format": "id", + "description": "The artifact identifier." + } + } + }, + "AvailableRuntimes": { + "type": "object", + "required": [ + "runtime", + "versions", + "_links" + ], + "properties": { + "runtime": { + "type": "string", + "description": "The runtime.", + "enum": [ + "php", + "node" + ] + }, + "versions": { + "type": "array", + "description": "The available versions for this runtime.", + "items": { + "type": "string" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Backup": { + "type": "object", + "description": "Response schema for a database backup.", + "required": [ + "id", + "database", + "type", + "started_at", + "completed_at", + "flags", + "environment", + "_links", + "_embedded" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the database backup." + }, + "database": { + "$ref": "#/components/schemas/DatabaseStub" + }, + "type": { + "type": "string", + "description": "The type of backup this is." + }, + "started_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 formatted date/time of when the backup process was started." + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 formatted date/time of when the backup process was completed." + }, + "flags": { + "$ref": "#/components/schemas/BackupFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "Related entities.", + "properties": { + "environment": { + "type": "object", + "description": "The related environment.", + "properties": { + "id": { + "type": "string", + "description": "The environment ID." + }, + "name": { + "type": "string", + "description": "The environment name." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "database": { + "type": "object", + "description": "The related database.", + "properties": { + "id": { + "type": "integer", + "description": "The database ID." + }, + "name": { + "type": "string", + "description": "The database name." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + } + } + } + } + }, + "BackupNoEmbedded": { + "type": "object", + "description": "Response schema for a database backup.", + "required": [ + "id", + "database", + "type", + "started_at", + "completed_at", + "flags", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the database backup." + }, + "database": { + "$ref": "#/components/schemas/DatabaseStub" + }, + "type": { + "type": "string", + "description": "The type of backup this is." + }, + "started_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 formatted date/time of when the backup process was started." + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 formatted date/time of when the backup process was completed." + }, + "flags": { + "$ref": "#/components/schemas/BackupFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Backups": { + "type": "object", + "description": "A collection of database backups.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of database backups matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupNoEmbedded" + } + } + } + } + } + }, + "BackupFlags": { + "type": "object", + "description": "Response schema for database backup flags.", + "properties": { + "deleted": { + "type": "boolean", + "description": "Whether this database is deleted." + } + } + }, + "Cdn": { + "type": "object", + "required": [ + "status" + ], + "description": "CDN status information.", + "properties": { + "status": { + "type": "string", + "description": "The CDN status.", + "enum": [ + "active", + "delete-failed", + "deleting", + "disable-failed", + "disabling", + "install-failed", + "installing" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CdnInformation": { + "type": "object", + "nullable": true, + "description": "Domain-specific CDN information, if CDN is enabled.", + "properties": { + "status": { + "type": "string", + "enum": [ + "active", + "installing", + "install-failed", + "deleting", + "delete-failed", + "unknown" + ], + "description": "The current provisioning status of CDN for this domain." + } + } + }, + "Certificate": { + "type": "object", + "description": "An SSL certificate.", + "required": [ + "id", + "certificate", + "private_key", + "ca", + "flags", + "expires_at", + "domains", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the certificate." + }, + "label": { + "type": "string", + "description": "The certificate label (SNI only).", + "nullable": true + }, + "certificate": { + "type": "string", + "description": "Returns the PEM encoded certificate." + }, + "private_key": { + "type": "string", + "description": "The PEM encoded private key." + }, + "ca": { + "type": "string", + "description": "The CA intermediary chain." + }, + "flags": { + "$ref": "#/components/schemas/CertificateFlags" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 formatted date/time of the certificates expiration date." + }, + "domains": { + "type": "array", + "description": "The domain names that this certificate is covering.", + "items": { + "type": "string" + } + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CertificateFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with the certificate.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether this certificate is installed/deployed." + }, + "csr": { + "type": "boolean", + "description": "Whether this certificate has an associated CSR." + }, + "legacy": { + "type": "boolean", + "description": "Whether this is a legacy certificate (ELB)." + } + } + }, + "Certificates": { + "type": "object", + "description": "A collection of certificates.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of certificates.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Certificate" + } + } + } + } + } + }, + "CertificateSigningRequest": { + "type": "object", + "description": "A certificate signing request.", + "required": [ + "id", + "csr", + "private_key", + "country", + "state", + "locality", + "organization", + "organizational_unit", + "common_name", + "alternate_names", + "flags", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The hosting ID of the CSR/SSL Certificate (0 for 'elb' type)." + }, + "csr": { + "type": "string", + "description": "The PEM encoded string containing the entire CSR." + }, + "private_key": { + "type": "string", + "description": "The PEM encoded private key." + }, + "country": { + "type": "string", + "description": "The ISO-3166 country code." + }, + "state": { + "type": "string", + "description": "The state/province." + }, + "locality": { + "type": "string", + "description": "The locality (city/town/township)." + }, + "organization": { + "type": "string", + "description": "The organization name." + }, + "organizational_unit": { + "type": "string", + "description": "The organizational unit (department)." + }, + "common_name": { + "type": "string", + "description": "The common name (host and domain name)." + }, + "alternate_names": { + "type": "array", + "description": "The subject alternate names (sni only).", + "items": { + "type": "string", + "format": "hostname" + } + }, + "flags": { + "$ref": "#/components/schemas/CertificateSigningRequestFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CertificateSigningRequestFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with the CSR.", + "properties": { + "used": { + "type": "boolean", + "description": "Whether this CSR has already been used for a certificate." + }, + "legacy": { + "type": "boolean", + "description": "Whether this is a legacy CSR (meant for use with ELB certificates)." + } + } + }, + "CertificateSigningRequests": { + "type": "object", + "description": "A collection of csrs.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of CSRs.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CertificateSigningRequest" + } + } + } + } + } + }, + "CloudAction": { + "type": "object", + "required": [ + "id", + "label", + "description", + "type", + "flags", + "_links" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "The Cloud Action ID." + }, + "label": { + "type": "string", + "description": "The human-readable Cloud Action label." + }, + "description": { + "type": "string", + "description": "The description of a Cloud Action." + }, + "type": { + "type": "string", + "description": "The type of Cloud Action." + }, + "flags": { + "$ref": "#/components/schemas/CloudActionsFlags" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CloudActions": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Cloud Actions.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudAction" + } + } + } + } + } + }, + "CloudActionsFlags": { + "type": "object", + "description": "Various flags for the Cloud Action.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether the Cloud Action is enabled." + }, + "default": { + "type": "boolean", + "description": "Indicates whether the Cloud Action is a default action." + } + } + }, + "CloudActionId": { + "type": "string", + "format": "uuid", + "description": "A Cloud Action ID." + }, + "Cron": { + "type": "object", + "required": [ + "id", + "server", + "command", + "minute", + "hour", + "day_month", + "month", + "day_week", + "label", + "flags", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "The ID of the cron job." + }, + "server": { + "$ref": "#/components/schemas/ServerStub" + }, + "command": { + "type": "string", + "description": "The cron command." + }, + "minute": { + "type": "string", + "description": "The cron expression minute." + }, + "hour": { + "type": "string", + "description": "The cron expression hour." + }, + "day_month": { + "type": "string", + "description": "The cron expression day of the month." + }, + "month": { + "type": "string", + "description": "The cron expression month." + }, + "day_week": { + "type": "string", + "description": "The cron expression day of the week." + }, + "label": { + "type": "string", + "description": "The label for the cron." + }, + "flags": { + "$ref": "#/components/schemas/CronFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CronFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with cron jobs.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether this this cron is enabled." + }, + "system": { + "type": "boolean", + "description": "Whether this is a system cron, which cannot be modified." + }, + "on_any_web": { + "type": "boolean", + "description": "Whether this cron will run on the lowest numbered web." + } + } + }, + "Crons": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of cron jobs.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Cron" + } + } + } + } + } + }, + "Database": { + "type": "object", + "description": "Response schema for a database.", + "required": [ + "id", + "name", + "user_name", + "password", + "url", + "db_host", + "ssh_host", + "flags", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the database." + }, + "name": { + "type": "string", + "description": "The database name." + }, + "user_name": { + "type": "string", + "description": "The database user name." + }, + "password": { + "type": "string", + "description": "The password for the database user." + }, + "url": { + "type": "string", + "format": "uri", + "description": "The connection URL." + }, + "db_host": { + "type": "string", + "format": "hostname", + "description": "The server the database lives on, relative to the SSH host." + }, + "ssh_host": { + "type": "string", + "format": "hostname", + "description": "The server to SSH to, in order to access the database on the CLI." + }, + "flags": { + "$ref": "#/components/schemas/DatabaseFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Databases": { + "type": "object", + "description": "A collection of databases.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of databases matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Database" + } + } + } + } + } + }, + "DatabaseFlags": { + "type": "object", + "description": "Response schema for database flags.", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this is the default database." + }, + "perform_backup": { + "type": "boolean", + "description": "Whether this database is backed up." + } + } + }, + "DatabasePhpConfig": { + "type": "object", + "description": "Response schema for a database PHP configuration.", + "required": [ + "drupal", + "_links" + ], + "properties": { + "drupal": { + "type": "string", + "description": "The Drupal PHP configuration settings file content." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "DatabaseStub": { + "type": "object", + "description": "Schema for a stub of information regarding a database.", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the database." + }, + "name": { + "type": "string", + "description": "The database name." + } + } + }, + "Dns": { + "type": "object", + "description": "Response schema for environment DNS configuration.", + "required": [ + "apex_domain", + "subdomains", + "regional_configuration", + "global_configuration", + "_links" + ], + "properties": { + "apex_domain": { + "deprecated": true, + "type": "array", + "description": "Environment apex domain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + }, + "subdomains": { + "deprecated": true, + "type": "array", + "description": "Environment subdomain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + }, + "regional_configuration": { + "type": "object", + "description": "List of regional apex and subdomain DNS records.", + "properties": { + "apex_domain": { + "type": "array", + "description": "Environment regional apex domain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + }, + "subdomains": { + "type": "array", + "description": "Environment regional subdomain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + } + } + }, + "global_configuration": { + "type": "object", + "description": "List of global apex and subdomain DNS records.", + "properties": { + "apex_domain": { + "type": "array", + "description": "Environment global apex domain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + }, + "subdomains": { + "type": "array", + "description": "Environment global subdomain DNS records.", + "items": { + "$ref": "#/components/schemas/DnsRecord" + } + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "DnsRecord": { + "type": "object", + "description": "A DNS record.", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of DNS record.", + "enum": [ + "A", + "AAAA", + "CNAME" + ] + }, + "value": { + "type": "string", + "description": "The DNS record value." + } + } + }, + "Domain": { + "type": "object", + "description": "Response schema for a domain.", + "required": [ + "hostname", + "cdn", + "flags", + "environment", + "_links" + ], + "properties": { + "hostname": { + "type": "string", + "description": "The domain's hostname." + }, + "cdn": { + "$ref": "#/components/schemas/CdnInformation" + }, + "flags": { + "$ref": "#/components/schemas/DomainFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Domains": { + "type": "object", + "description": "A collection of domains.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of domains matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Domain" + } + } + } + } + } + }, + "DomainFlags": { + "type": "object", + "required": [ + "default", + "active", + "wildcard" + ], + "description": "An array of flags representing features of the domain.", + "properties": { + "default": { + "type": "boolean", + "description": "If the domain is the default domain of the environment." + }, + "active": { + "type": "boolean", + "description": "If the domain is considered to be the main or active domain in this environment." + }, + "wildcard": { + "type": "boolean", + "description": "If this is a wildcard domain." + } + } + }, + "DomainStatus": { + "type": "object", + "required": [ + "hostname", + "flags", + "ip_addresses", + "cnames", + "environment", + "_links" + ], + "description": "Domain status information.", + "properties": { + "hostname": { + "type": "string", + "description": "The domain hostname." + }, + "flags": { + "$ref": "#/components/schemas/DomainStatusFlags" + }, + "ip_addresses": { + "type": "array", + "description": "An array of this domain's IP addresses.", + "items": { + "type": "string", + "format": "ipv4" + } + }, + "cnames": { + "type": "array", + "description": "An array of this domain's cnames.", + "items": { + "type": "string" + } + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "DomainStatusFlags": { + "type": "object", + "description": "An array of hosting flags for the domain.", + "properties": { + "default": { + "type": "boolean", + "description": "Whether or not this is the default domain." + }, + "active": { + "type": "boolean", + "description": "Whether or not this domain is active." + }, + "dns_resolves": { + "type": "boolean", + "description": "Whether or not this domain resolves in DNS." + }, + "acquia_hosted": { + "type": "boolean", + "description": "Whether or not this domain is Acquia-hosted." + } + } + }, + "EIP": { + "type": "object", + "required": [ + "id", + "status", + "ipv4" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "The Web EIP ID." + }, + "status": { + "type": "string", + "description": "The provisioning status of the Web EIP." + }, + "ipv4": { + "type": "string", + "description": "The IPv4 address." + }, + "ipv6": { + "type": "string", + "description": "The IPv6 address." + }, + "flags": { + "$ref": "#/components/schemas/EIPFlags" + } + } + }, + "EIPFlags": { + "type": "object", + "description": "Various flags for the Web EIP.", + "required": [ + "active" + ], + "properties": { + "active": { + "type": "boolean", + "description": "A flag indicating whether the Web EIP is configured to actively receive traffic." + }, + "deprecated": { + "type": "boolean", + "description": "A flag indicating whether the Web EIP is flagged for deprecation." + }, + "legacy": { + "type": "boolean", + "description": "A flag indicating whether the Web EIP is associated with ACC infrastructure." + } + } + }, + "EIPs": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Web EIPs.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EIP" + } + } + } + } + } + }, + "Environment": { + "type": "object", + "required": [ + "id", + "label", + "name", + "application", + "domains", + "active_domain", + "default_domain", + "image_url", + "ssh_url", + "ips", + "region", + "balancer", + "platform", + "status", + "type", + "size", + "weight", + "vcs", + "flags", + "configuration", + "artifact", + "_links" + ], + "properties": { + "id": { + "type": "string", + "description": "The ID of the environment. The ID is a compound key consisting of the internal database ID of the environment and the application UUID." + }, + "label": { + "type": "string", + "description": "The human-readable name of the environment." + }, + "name": { + "type": "string", + "description": "The stage name of the environment." + }, + "application": { + "$ref": "#/components/schemas/ApplicationStub" + }, + "domains": { + "type": "array", + "description": "An array of domain names attached to this environment.", + "items": { + "type": "string", + "format": "hostname" + } + }, + "active_domain": { + "type": "string", + "format": "hostname", + "description": "The active domain name for this environment." + }, + "default_domain": { + "type": "string", + "format": "hostname", + "description": "The default domain name for this environment." + }, + "image_url": { + "type": "string", + "format": "uri", + "description": "The URL to the image for this environment.", + "nullable": true + }, + "ssh_url": { + "type": "string", + "description": "The URL used to SSH into the environment." + }, + "ips": { + "type": "array", + "description": "An array of IP addresses attached to this environment.", + "deprecated": true, + "items": { + "type": "string", + "format": "ipv4" + } + }, + "region": { + "type": "string", + "description": "The region the environment resides in." + }, + "balancer": { + "type": "string", + "description": "The balancer type.\n- balancers: The environment is behind a Legacy balancer.\n- elb: The environment is behind an ELB balancer.\n- cluster: The environment is behind an Edge Cluster balancer.\n", + "enum": [ + "balancers", + "elb", + "cluster" + ] + }, + "platform": { + "type": "string", + "description": "The platform type.\n- cloud: The environment is hosted on a Cloud Classic Platform.\n- cloud-next: The environment is hosted on a Cloud Next Platform.\n- unknown: The host information is not available for the environment.\n", + "enum": [ + "cloud", + "cloud-next", + "unknown" + ] + }, + "status": { + "type": "string", + "description": "The status of this environment." + }, + "type": { + "type": "string", + "description": "The type of environment.\n- node: A NodeJS environment.\n- drupal: A Drupal environment.\n- unknown: We were unable to determine the environment type.\n", + "enum": [ + "node", + "drupal", + "unknown" + ] + }, + "size": { + "type": "string", + "description": "The size of the environment. Will be null if the environment type does not support sizes.", + "nullable": true, + "enum": [ + "small", + "medium", + "large", + "unknown" + ] + }, + "weight": { + "type": "integer", + "nullable": true, + "description": "The environment weight for display purposes." + }, + "vcs": { + "$ref": "#/components/schemas/Vcs" + }, + "flags": { + "$ref": "#/components/schemas/EnvironmentFlags" + }, + "configuration": { + "type": "object", + "description": "A collection of environment configuration information.", + "nullable": true, + "properties": { + "operating_system": { + "type": "string", + "description": "The environment operation system." + }, + "php": { + "$ref": "#/components/schemas/EnvironmentConfigurations" + } + } + }, + "artifact": { + "$ref": "#/components/schemas/ArtifactStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "EnvironmentConfigurations": { + "type": "object", + "description": "An array of configuration details for the environment.", + "properties": { + "version": { + "type": "string", + "description": "The PHP or Node version." + }, + "memory_limit": { + "type": "integer", + "description": "Limits PHP request memory usage in megabytes.", + "default": 128, + "minimum": 128, + "maximum": 1024, + "nullable": true + }, + "opcache": { + "type": "integer", + "description": "This is the total amount of memory available for caching precompiled script bytecode per PHP/FPM process.", + "default": 96, + "minimum": 96, + "maximum": 512, + "nullable": true + }, + "apcu": { + "type": "integer", + "description": "APCu shared memory size per web server.", + "default": 32, + "minimum": 32, + "maximum": 512, + "nullable": true + }, + "interned_strings_buffer": { + "type": "integer", + "description": "Sets PHP Opcache key count per server.", + "default": 8, + "minimum": 8, + "maximum": 32, + "nullable": true + }, + "max_execution_time": { + "type": "integer", + "description": "Limits PHP request time in seconds.", + "default": 300, + "minimum": 1, + "maximum": 300, + "nullable": true + }, + "max_post_size": { + "type": "integer", + "description": "Sets the PHP limit on POST body size.", + "default": 256, + "minimum": 64, + "maximum": 1024, + "nullable": true + }, + "max_input_vars": { + "type": "integer", + "description": "Limits the number of various request items in PHP.", + "default": 1000, + "minimum": 500, + "maximum": 20000, + "nullable": true + }, + "memcached_limit": { + "type": "integer", + "description": "Sets the maximum amount of memory in MB that can be allocated to memcached. Only available on Acquia Cloud Next.", + "default": 64, + "minimum": 0, + "maximum": 12288, + "nullable": true + }, + "operating_system": { + "type": "string", + "description": "The operating system version." + } + } + }, + "EnvironmentFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with the environment.", + "properties": { + "cde": { + "type": "boolean", + "description": "Determines if the environment is on-demand." + }, + "cdn": { + "type": "boolean", + "description": "Determines if the environment has Platform CDN enabled." + }, + "cloud-actions": { + "type": "boolean", + "description": "Determines if the environment has Cloud Actions enabled." + }, + "eips": { + "type": "boolean", + "description": "Determines if the environment has Web EIPs enabled." + }, + "email": { + "type": "boolean", + "description": "Determines if the environment has Platform Email enabled." + }, + "hsd": { + "type": "boolean", + "description": "Determines if the environment is under high-site density." + }, + "livedev": { + "type": "boolean", + "description": "Determines if the environment has live development enabled." + }, + "migration": { + "type": "boolean", + "description": "Determines if the environment is a Migrate Environment." + }, + "multicert": { + "type": "boolean", + "description": "Determines if the environment has multicert enabled." + }, + "multi_region": { + "type": "boolean", + "description": "Whether or not the environment is multi-regioned." + }, + "production": { + "type": "boolean", + "description": "Determines if the environment is production." + }, + "production_mode": { + "type": "boolean", + "description": "Determines if the environment has production mode enabled." + }, + "remote_admin": { + "type": "boolean", + "description": "Determines if the environment is a remote administration environment." + }, + "varnish": { + "type": "boolean", + "description": "Determines if the environment has Varnish." + }, + "varnish_over_ssl": { + "type": "boolean", + "description": "Determines if the environment is configured for varnish over SSL." + } + } + }, + "EnvironmentMetadata": { + "type": "object", + "description": "Environment metadata.", + "properties": { + "ids": { + "type": "array", + "description": "An array of environment identifiers.", + "items": { + "type": "string" + } + } + } + }, + "EnvironmentOptions": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "An array of environment options.", + "properties": { + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The environment configuration option name.", + "enum": [ + "apcu", + "interned_strings_buffer", + "max_execution_time", + "max_input_vars", + "max_post_size", + "memory_limit", + "memcached_limit", + "opcache", + "operating_system", + "version" + ] + }, + "minimum": { + "type": "integer", + "nullable": true, + "description": "The lowest value a configuration option can be set." + }, + "maximum": { + "type": "integer", + "nullable": true, + "description": "The highest value a configuration option can be set." + }, + "default": { + "type": "integer", + "nullable": true, + "description": "The default value for a configuration option." + }, + "step": { + "type": "integer", + "nullable": true, + "description": "The step between configuration option values." + } + } + } + } + } + } + } + }, + "Environments": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of environments matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Environment" + } + } + } + } + } + }, + "EnvironmentSettings": { + "type": "object", + "description": "A collection of links to environment settings.", + "required": [ + "_links" + ], + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "EnvironmentStub": { + "type": "object", + "description": "Schema for a stub of information regarding an environment.", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "The ID of the environment. The ID is a compound key consisting of the internal database ID of the environment and the application UUID." + }, + "name": { + "type": "string", + "description": "The stage name of the environment." + } + } + }, + "EnvironmentVariable": { + "type": "object", + "required": [ + "name", + "value", + "_links" + ], + "description": "An environment variable key and value.", + "properties": { + "name": { + "type": "string", + "description": "The name of the variable.", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "value": { + "type": "string", + "description": "The value of the variable.", + "minLength": 0, + "maxLength": 5000 + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "EnvironmentVariables": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "description": "A collection of environment variables.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of variables matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EnvironmentVariable" + } + } + } + } + } + }, + "FileDownload": { + "type": "object", + "description": "A JSON response containing the url and url expiration.", + "required": [ + "url", + "expires_at" + ], + "properties": { + "url": { + "type": "string", + "description": "The url for the download." + }, + "expires_at": { + "type": "string", + "description": "The expiration for the url." + } + } + }, + "Log": { + "type": "object", + "description": "Details for a log file.", + "required": [ + "type", + "label", + "flags", + "_links" + ], + "properties": { + "type": { + "type": "string", + "description": "The machine name for the type of logfile." + }, + "label": { + "type": "string", + "description": "The human readable label of the logfile." + }, + "flags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with the log.", + "properties": { + "available": { + "type": "boolean", + "description": "Whether or not this log file is available." + } + } + }, + "_links": { + "type": "object", + "description": "Links associated with the logfile.", + "properties": { + "download": { + "type": "object", + "description": "Download data for the logfile.", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "The download link for the logfile." + } + } + } + } + } + } + }, + "Logs": { + "type": "object", + "description": "A collection of logs.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of logs matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Log" + } + } + } + } + } + }, + "Logstream": { + "type": "object", + "description": "Connection details for Logstream backend.", + "required": [ + "logstream", + "_links" + ], + "properties": { + "logstream": { + "type": "object", + "required": [ + "url", + "params", + "commands" + ], + "description": "Connection details for Logstream backend.", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "WebSocket URL." + }, + "params": { + "type": "object", + "description": "Connection details such as a timestamp, hmac, site name and environment." + }, + "commands": { + "type": "array", + "description": "Commands for the logstream backend.", + "items": { + "type": "string" + } + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "LogForwardingDestination": { + "type": "object", + "required": [ + "uuid", + "label", + "sources", + "consumer", + "credentials", + "address", + "status", + "flags", + "health", + "environment", + "_links" + ], + "description": "The Log Forwarding destination.", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The string representation of the unique identifier of the destination." + }, + "label": { + "type": "string", + "description": "The human-friendly identifier of the destination." + }, + "sources": { + "type": "array", + "description": "The list of log sources to forward.", + "items": { + "type": "string", + "description": "A log source.", + "enum": [ + "apache-access", + "apache-error", + "varnish-access", + "drupal-request", + "drupal-watchdog", + "php-error", + "stdout", + "stderr" + ] + } + }, + "consumer": { + "type": "string", + "description": "The application or provider consuming the logs.", + "enum": [ + "loggly", + "splunk", + "sumologic", + "syslog" + ] + }, + "credentials": { + "$ref": "#/components/schemas/LogForwardingDestinationCredentials" + }, + "address": { + "type": "string", + "description": "The URL or host name and port of the destination." + }, + "status": { + "type": "string", + "description": "The current status of the destination.", + "enum": [ + "active", + "pending", + "installing", + "install-failed", + "deleting", + "delete-failed", + "disabling", + "disable-failed", + "inactive", + "failing" + ] + }, + "flags": { + "$ref": "#/components/schemas/LogForwardingDestinationFlags" + }, + "health": { + "$ref": "#/components/schemas/Health" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "LogForwardingDestinations": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "description": "A collection of Log Forwarding destinations.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of log forwarding destinations matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogForwardingDestination" + } + } + } + } + } + }, + "LogForwardingDestinationCredentials": { + "type": "object", + "required": [ + "certificate" + ], + "description": "The Log Forwarding destination credentials.", + "properties": { + "certificate": { + "type": "object", + "description": "A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly.", + "properties": { + "certificate": { + "type": "string", + "description": "A public X.509 certificate in PEM format." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date the certificate will expire at. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk." + } + } + }, + "key": { + "type": "string", + "description": "The certificate private key, in PEM format, used to encrypt the log traffic. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly.", + "nullable": true + }, + "token": { + "type": "string", + "description": "An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk.", + "nullable": true + } + } + }, + "LogForwardingDestinationFlags": { + "type": "object", + "description": "Various flags for this log forwarding destination.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Destination enabled status." + }, + "certificate_expiring": { + "type": "boolean", + "description": "Whether the destination certificate is in danger of expiring soon (within 30 days)." + } + } + }, + "OperatingSystems": { + "type": "object", + "required": [ + "versions", + "_links" + ], + "properties": { + "versions": { + "type": "array", + "description": "The operating systems.", + "items": { + "type": "object", + "properties": { + "name": { + "description": "The codename associated with the version.", + "type": "string" + }, + "label": { + "description": "The label of the version.", + "type": "string" + }, + "version": { + "description": "The numerical representation of the version.", + "type": "string" + }, + "available": { + "description": "Flag to show if the version is available for which to switch.", + "type": "boolean" + } + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "PostCertificate": { + "type": "object", + "description": "Certificate POST schema.", + "required": [ + "certificate", + "private_key" + ], + "properties": { + "legacy": { + "type": "boolean", + "description": "Must be set to true for legacy certificates." + }, + "certificate": { + "type": "string", + "description": "The SSL certificate being installed." + }, + "private_key": { + "type": "string", + "description": "The SSL private key." + }, + "ca_certificates": { + "type": "string", + "description": "The CA intermediary certificates." + }, + "csr_id": { + "type": "integer", + "description": "The CSR (certificate signing request) to associate with this certificate. Optional." + }, + "label": { + "type": "string", + "description": "The label for this certificate. Required for standard certificates. Optional for legacy certificates." + } + } + }, + "PostCron": { + "type": "object", + "required": [ + "command", + "frequency", + "label" + ], + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "frequency": { + "type": "string", + "description": "The cron string that describes the frequency the cron will be run at." + }, + "label": { + "type": "string", + "description": "The label for this cron." + } + } + }, + "PostCsr": { + "type": "object", + "description": "Certificate signing request POST schema.", + "required": [ + "country", + "state", + "locality", + "organization", + "organizational_unit", + "common_name" + ], + "properties": { + "country": { + "type": "string", + "description": "The ISO-3166 country code for CSR generation." + }, + "state": { + "type": "string", + "description": "The state/province for CSR generation." + }, + "locality": { + "type": "string", + "description": "The locality (city/town/township) for CSR generation." + }, + "organization": { + "type": "string", + "description": "The organization name for CSR generation." + }, + "organizational_unit": { + "type": "string", + "description": "The organizational unit (department) for CSR generation." + }, + "common_name": { + "type": "string", + "description": "The common name (domain) for CSR generation." + }, + "alternate_names": { + "description": "The Subject Alternate Names (SNI only) for CSR generation.", + "type": "array", + "items": { + "type": "string", + "format": "hostname" + } + } + } + }, + "PutCloudActions": { + "type": "object", + "description": "A Cloud Action or a series of Cloud Actions paired with enable or disable boolean value.", + "required": [ + "cloud-actions" + ], + "properties": { + "cloud-actions": { + "type": "object", + "additionalProperties": { + "type": "boolean", + "description": "Whether this Cloud Action is enabled." + } + } + } + }, + "PutCron": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "frequency": { + "type": "string", + "description": "The cron string that describes the frequency the cron will be run at." + }, + "label": { + "type": "string", + "description": "The label for this cron." + } + } + }, + "RemoteAdministration": { + "type": "object", + "required": [ + "update_mode" + ], + "properties": { + "update_mode": { + "type": "string", + "description": "The update mode to select.", + "enum": [ + "update", + "inform", + "none" + ] + }, + "update_type": { + "type": "string", + "description": "What components to update (core only or core and contrib modules).", + "enum": [ + "core", + "core_contrib" + ] + }, + "pause_until": { + "type": "string", + "nullable": true, + "description": "What date/time to pause RA updates until (if applicable)." + }, + "deploy_at": { + "type": "string", + "nullable": true, + "description": "What date/time to deploy RA updates at (if applicable)." + }, + "deploy_environment": { + "type": "string", + "description": "The environment id of the environment to deploy to." + }, + "source_environment": { + "type": "string", + "description": "The environment id of the environment to use as a starting point for testing." + }, + "copy_files": { + "type": "boolean", + "description": "Whether to copy files from production to testing environment." + }, + "copy_database": { + "type": "boolean", + "description": "Whether to copy database from production to testing environment." + }, + "merge_tag": { + "type": "boolean", + "description": "Whether to automatically merge the approved code into your development branch." + }, + "merge_branch": { + "type": "string", + "description": "The development branch into which to merge the update tag." + } + } + }, + "Ssl": { + "type": "object", + "description": "The SSL settings for an environment.", + "required": [ + "balancer", + "ips", + "_links" + ], + "properties": { + "balancer": { + "type": "object", + "description": "SSL configuration for the load balancer associated with this environment.", + "properties": { + "hostname": { + "type": "string", + "description": "The balancer CNAME.", + "format": "hostname" + } + } + }, + "ips": { + "type": "array", + "description": "The IP addresses for the environment.", + "items": { + "type": "string", + "format": "ipv4" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Vcs": { + "type": "object", + "required": [ + "type", + "path", + "url" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of VCS.", + "enum": [ + "git", + "svn" + ] + }, + "path": { + "type": "string", + "description": "The path or branch name.", + "nullable": true + }, + "url": { + "type": "string", + "description": "The VCS url." + } + } + }, + "DeployCodeRequest": { + "type": "object", + "required": [ + "source" + ], + "properties": { + "source": { + "type": "string", + "description": "The ID of the environment to deploy code from." + }, + "message": { + "type": "string", + "description": "An optional commit message to include when creating a new tag." + }, + "cloud-actions": { + "type": "array", + "description": "An optional array of Cloud Actions.", + "items": { + "$ref": "#/components/schemas/CloudActionId" + } + } + } + }, + "ImportSiteRequest": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "The URL of the make file or tarball containing the site to import." + }, + "name": { + "type": "string", + "description": "The name of the distribution being installed." + } + } + }, + "SwitchCodeRequest": { + "type": "object", + "required": [ + "branch" + ], + "properties": { + "branch": { + "type": "string", + "description": "The name of the branch or tag to switch to. Tags should be prefixed with \"tags/\"." + }, + "cloud-actions": { + "type": "array", + "description": "An optional array of Cloud Actions.", + "items": { + "$ref": "#/components/schemas/CloudActionId" + } + } + } + }, + "Ides": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Cloud IDEs matching the request parameters.", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Ide" + } + } + } + } + } + }, + "Ide": { + "type": "object", + "required": [ + "uuid", + "label", + "status", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the Cloud IDE." + }, + "label": { + "type": "string", + "description": "The human-friendly label of the Cloud IDE." + }, + "status": { + "type": "string", + "description": "The current provisioning status of the Cloud IDE.", + "enum": [ + "active", + "provisioning", + "deleting", + "updating", + "provision-failed", + "update-failed", + "delete-failed" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "properties": { + "owner": { + "$ref": "#/components/schemas/UserProfile" + } + } + } + } + }, + "IdentityProvider": { + "type": "object", + "required": [ + "uuid", + "label", + "idp_entity_id", + "sp_entity_id", + "sso_url", + "certificate", + "status", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the identity provider." + }, + "label": { + "type": "string", + "description": "The human-friendly label of the identity provider." + }, + "idp_entity_id": { + "type": "string", + "description": "The SAML entity ID of the identity provider." + }, + "sp_entity_id": { + "type": "string", + "description": "The SAML entity ID of the service provider." + }, + "sso_url": { + "type": "string", + "format": "uri", + "description": "The URL of the SAML POST Binding / SP-initiated SSO." + }, + "certificate": { + "type": "string", + "description": "The PEM-encoded X.509 certificate used to sign assertions." + }, + "status": { + "type": "string", + "description": "The current state of the identity provider.", + "enum": [ + "enabled", + "incomplete", + "disabled" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "IdentityProviders": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of identity providers matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IdentityProvider" + } + } + } + } + } + }, + "ApplicationUsageMetric": { + "type": "object", + "description": "Provides details about views and visits for an application.", + "required": [ + "metric", + "datapoints", + "metadata", + "last_data_at" + ], + "properties": { + "metric": { + "type": "string", + "description": "The type of metric requested.", + "enum": [ + "views", + "visits" + ] + }, + "datapoints": { + "type": "array", + "description": "The data points for the pricing metrics request.", + "items": { + "type": "array", + "description": "Each element includes the value for the requested metric and the sampling time.", + "items": { + "type": "string", + "description": "The first element is the metric value and the second is the sampling time." + } + } + }, + "metadata": { + "type": "object", + "description": "The metadata for the data points being returned.", + "properties": { + "environment": { + "$ref": "#/components/schemas/EnvironmentMetadata" + }, + "application": { + "$ref": "#/components/schemas/ApplicationMetadata" + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionMetadata" + } + } + }, + "last_data_at": { + "type": "string", + "description": "The last time data was polled for the requested metric.", + "format": "date-time", + "nullable": true + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ApplicationUsageMetrics": { + "type": "object", + "description": "A collection of application usage metrics.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of application metric items matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationUsageMetric" + } + } + } + } + } + }, + "EnvironmentUsageMetric": { + "type": "object", + "description": "Provides details about views and visits for an environment.", + "required": [ + "metric", + "datapoints", + "metadata", + "last_data_at" + ], + "properties": { + "metric": { + "type": "string", + "description": "The type of metric requested.", + "enum": [ + "views", + "visits" + ] + }, + "datapoints": { + "type": "array", + "description": "The data points for the pricing metrics request.", + "items": { + "type": "array", + "description": "Each element includes the value for the requested metric and the sampling time.", + "items": { + "type": "string", + "description": "The first element is the metric value and the second is the sampling time." + } + } + }, + "metadata": { + "type": "object", + "description": "The metadata for the data points being returned.", + "properties": { + "environment": { + "$ref": "#/components/schemas/EnvironmentMetadata" + }, + "application": { + "$ref": "#/components/schemas/ApplicationMetadata" + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionMetadata" + } + } + }, + "last_data_at": { + "type": "string", + "description": "The last time data was polled for the requested metric.", + "format": "date-time" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "EnvironmentUsageMetrics": { + "type": "object", + "description": "A collection of usage metrics for an environment.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of environment metric items matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EnvironmentUsageMetric" + } + } + } + } + } + }, + "Metrics": { + "type": "object", + "description": "A collection of links that provides traversal of metrics endpoints.", + "required": [ + "_links" + ], + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "StackMetricsData": { + "type": "object", + "description": "An object containing StackMetrics metrics.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of StackMetrics items matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StackMetricsMetric" + } + } + } + } + } + }, + "StackMetricsMetric": { + "type": "object", + "description": "An object containing StackMetrics datapoints.", + "required": [ + "metric", + "datapoints", + "last_data_at", + "metadata" + ], + "properties": { + "metric": { + "type": "string", + "description": "The name of the type of StackMetrics metric.", + "enum": [ + "apache-requests", + "bal-cpu", + "bal-memory", + "cron-memory", + "db-cpu", + "db-disk-size", + "db-disk-usage", + "db-memory", + "file-disk-size", + "file-cpu", + "file-disk-usage", + "file-memory", + "http-2xx", + "http-3xx", + "http-4xx", + "http-5xx", + "mysql-slow-query-count", + "nginx-requests", + "out-of-memory", + "php-proc-max-reached-site", + "php-proc-max-reached-total", + "php-proc-site", + "php-proc-total", + "varnish-cache-hit-rate", + "varnish-requests", + "web-cpu", + "web-memory" + ] + }, + "datapoints": { + "type": "array", + "description": "The data points for the StackMetrics request.", + "items": { + "type": "array", + "description": "Each element includes the value and the sampling time for the requested metric.", + "items": { + "type": "string", + "description": "Each datapoint is a tuple consisting of two elements - a value and a Unix timestamp." + } + } + }, + "last_data_at": { + "type": "string", + "description": "The ISO-8601 date time when the last datapoint was sampled.", + "format": "date-time" + }, + "metadata": { + "type": "object", + "description": "The metadata describing the context for the metric.", + "properties": { + "host": { + "type": "string", + "description": "The corresponding hostname for the StackMetrics datapoints." + } + } + } + } + }, + "SubscriptionUsageMetric": { + "type": "object", + "description": "Provides details about views and visits for a subscription.", + "required": [ + "metric", + "datapoints", + "metadata", + "last_data_at" + ], + "properties": { + "metric": { + "type": "string", + "description": "The type of metric requested.", + "enum": [ + "views", + "visits" + ] + }, + "datapoints": { + "type": "array", + "description": "The data points for the pricing metrics request.", + "items": { + "type": "array", + "description": "Each element includes the value for the requested metric and the sampling time.", + "items": { + "type": "string", + "description": "The first element is the metric value and the second is the sampling time." + } + } + }, + "metadata": { + "type": "object", + "description": "The metadata for the data points being returned.", + "properties": { + "environment": { + "$ref": "#/components/schemas/EnvironmentMetadata" + }, + "application": { + "$ref": "#/components/schemas/ApplicationMetadata" + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionMetadata" + } + } + }, + "last_data_at": { + "type": "string", + "description": "The last time data was polled for the requested metric.", + "format": "date-time" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "SubscriptionUsageMetrics": { + "type": "object", + "description": "A collection of usage metrics for a subscription.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of subscription metric items matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionUsageMetric" + } + } + } + } + } + }, + "Usage": { + "type": "object", + "description": "A collection of traversal links for an entity.", + "required": [ + "_links" + ], + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ModProxy": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "description": "The enablement state of Mod Proxy.", + "enum": [ + "active", + "inactive" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Notification": { + "type": "object", + "description": "A notification about an event or a task.", + "required": [ + "uuid", + "event", + "label", + "description", + "created_at", + "completed_at", + "status", + "progress", + "context", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The notification unique identifier.", + "format": "uuid" + }, + "event": { + "type": "string", + "description": "The notification event." + }, + "label": { + "type": "string", + "description": "The human readable notification label." + }, + "description": { + "type": "string", + "description": "The notification description." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The time that this notification was created." + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "The time that the task or event this notification is tracking was completed at." + }, + "status": { + "type": "string", + "description": "The status of the notification.", + "enum": [ + "completed", + "in-progress", + "failed" + ] + }, + "progress": { + "type": "integer", + "description": "The notification progress.", + "minimum": 0, + "maximum": 100 + }, + "context": { + "type": "object", + "description": "Contextual data related to the notification." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "Data related to the notification, such as the author." + } + } + }, + "NotificationDeprecated": { + "type": "object", + "description": "A notification about an event or a task.", + "required": [ + "progress", + "user", + "uuid", + "name", + "title", + "description", + "created_at", + "started_at", + "completed_at", + "status", + "type", + "metadata", + "labels", + "_links" + ], + "properties": { + "progress": { + "type": "integer", + "description": "The notification progress.", + "minimum": 0, + "maximum": 100 + }, + "user": { + "$ref": "#/components/schemas/UserStub" + }, + "uuid": { + "type": "string", + "description": "The notification unique identifier.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The notification name." + }, + "title": { + "type": "string", + "description": "The operation title." + }, + "description": { + "type": "string", + "description": "The notification description." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The time that this notification was created." + }, + "started_at": { + "type": "string", + "format": "date-time", + "description": "The time that the task or event this notification is tracking was started at." + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "The time that the task or event this notification is tracking was completed at." + }, + "status": { + "type": "string", + "description": "The status of the notification.", + "enum": [ + "completed", + "in-progress", + "failed" + ] + }, + "type": { + "type": "string", + "description": "The notification type.", + "enum": [ + "task", + "event" + ] + }, + "metadata": { + "type": "object", + "description": "A collection of metadata related to the notification.", + "properties": { + "environments": { + "$ref": "#/components/schemas/EnvironmentMetadata" + } + } + }, + "labels": { + "$ref": "#/components/schemas/NotificationLabels" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "NotificationLabels": { + "type": "array", + "description": "An array of various labels associated with a notification.", + "items": { + "type": "string", + "description": "Contextual information regarding the notification." + } + }, + "NotificationTasks": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of tasks matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Task" + } + } + } + } + } + }, + "Organization": { + "type": "object", + "description": "Organization information.", + "required": [ + "id", + "uuid", + "name", + "subscriptions_total", + "admins_total", + "users_total", + "teams_total", + "roles_total", + "owner", + "flags", + "_links", + "_embedded" + ], + "properties": { + "id": { + "type": "string", + "description": "The internal ID of the organization." + }, + "uuid": { + "type": "string", + "description": "The UUID of the organization." + }, + "name": { + "type": "string", + "description": "The name of the organization." + }, + "subscriptions_total": { + "type": "integer", + "description": "The number of subscriptions this organization has." + }, + "admins_total": { + "type": "integer", + "description": "The number of administrators this organization has." + }, + "users_total": { + "type": "integer", + "description": "The number of users this organization has." + }, + "teams_total": { + "type": "integer", + "description": "The number of teams this organization has." + }, + "roles_total": { + "type": "integer", + "description": "The number of roles this organization has." + }, + "owner": { + "$ref": "#/components/schemas/UserStub" + }, + "flags": { + "type": "object", + "description": "An array of various flags that indicate functionality for the organization.", + "properties": { + "federated_authentication": { + "type": "boolean", + "description": "Indicates whether the organization supports federated authentication." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "Entities related to the organization.", + "properties": { + "owner": { + "$ref": "#/components/schemas/UserStubEmbedded" + } + } + } + } + }, + "OrganizationAdminInvite": { + "type": "object", + "description": "An invitation to become an organization administrator.", + "required": [ + "uuid", + "email", + "created_at", + "token", + "flags", + "author", + "organization", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The unique identifier of the Invite.", + "format": "uuid" + }, + "email": { + "type": "string", + "description": "The invitee email address.", + "format": "email" + }, + "created_at": { + "type": "string", + "description": "The invite creation time.", + "format": "date-time" + }, + "token": { + "type": "string", + "description": "The invite token." + }, + "flags": { + "$ref": "#/components/schemas/InviteFlags" + }, + "author": { + "$ref": "#/components/schemas/UserStub" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "OrganizationAdminInvites": { + "type": "object", + "description": "A collection of invitations to become an organization administrator.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of organization admin invites.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationAdminInvite" + } + } + } + } + } + }, + "OrganizationAdminUserProfile": { + "type": "object", + "description": "An organization admin user profile.", + "required": [ + "uuid", + "first_name", + "last_name", + "last_login_at", + "mail", + "picture_url", + "username", + "flags", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID.", + "minLength": 36, + "maxLength": 36 + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "last_login_at": { + "type": "string", + "description": "The ISO-8601 formatted date/time of when the user last logged in.", + "nullable": true + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URI for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + }, + "flags": { + "type": "object", + "description": "An array of flags for a user profile.", + "properties": { + "owner": { + "type": "boolean", + "description": "Whether or not this user is the organization owner." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "OrganizationAdminUserProfiles": { + "type": "object", + "description": "A collection of organization administrator user profiles.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of organization admin user profiles.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationAdminUserProfile" + } + } + } + } + } + }, + "OrganizationApplications": { + "type": "object", + "description": "A collection of applications associated with an organization.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of applications.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationNoEmbedded" + } + } + } + } + } + }, + "OrganizationAvailableTags": { + "type": "object", + "description": "A collection of organization members.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of tags associated with the organization.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceTagOrganization" + } + } + } + } + } + }, + "OrganizationMembers": { + "type": "object", + "description": "A collection of organization members.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of organization member profiles.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationUserProfile" + } + } + } + } + } + }, + "OrganizationNoEmbedded": { + "type": "object", + "description": "Organization information.", + "required": [ + "id", + "uuid", + "name", + "subscriptions_total", + "admins_total", + "users_total", + "teams_total", + "roles_total", + "owner", + "flags", + "_links" + ], + "properties": { + "id": { + "type": "string", + "description": "The internal ID of the organization." + }, + "uuid": { + "type": "string", + "description": "The UUID of the organization." + }, + "name": { + "type": "string", + "description": "The name of the organization." + }, + "subscriptions_total": { + "type": "integer", + "description": "The number of subscriptions this organization has." + }, + "admins_total": { + "type": "integer", + "description": "The number of administrators this organization has." + }, + "users_total": { + "type": "integer", + "description": "The number of users this organization has." + }, + "teams_total": { + "type": "integer", + "description": "The number of teams this organization has." + }, + "roles_total": { + "type": "integer", + "description": "The number of roles this organization has." + }, + "owner": { + "$ref": "#/components/schemas/UserStub" + }, + "flags": { + "type": "object", + "description": "An array of various flags that indicate functionality for the organization.", + "properties": { + "federated_authentication": { + "type": "boolean", + "description": "Indicates whether the organization supports federated authentication." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Organizations": { + "type": "object", + "description": "A collection of all organizations the current user has access to.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of organizations.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationNoEmbedded" + } + } + } + } + } + }, + "OrganizationsNotifications": { + "type": "object", + "description": "A collection of notifications matching the request parameters.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of notifications matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + }, + "OrganizationStub": { + "type": "object", + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The organization's UUID." + }, + "name": { + "type": "string", + "description": "The human-readable organization name." + } + } + }, + "OrganizationStubEmbedded": { + "type": "object", + "description": "A related organization.", + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The organization's UUID." + }, + "name": { + "type": "string", + "description": "The human-readable organization name." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "OrganizationTeamInvite": { + "type": "object", + "required": [ + "applications", + "author", + "organization", + "uuid", + "email", + "created_at", + "token", + "flags", + "team", + "roles", + "_links" + ], + "properties": { + "applications": { + "type": "array", + "description": "A array of applications this invite is granting access to.", + "items": { + "$ref": "#/components/schemas/ApplicationStub" + } + }, + "author": { + "$ref": "#/components/schemas/UserStub" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "uuid": { + "type": "string", + "description": "The unique identifier of the Invite.", + "format": "uuid" + }, + "email": { + "type": "string", + "description": "The invitee email address.", + "format": "email" + }, + "created_at": { + "type": "string", + "description": "The invite creation time.", + "format": "date-time" + }, + "token": { + "type": "string", + "description": "The invite token." + }, + "flags": { + "$ref": "#/components/schemas/InviteFlags" + }, + "team": { + "$ref": "#/components/schemas/TeamStub" + }, + "roles": { + "type": "array", + "description": "List of roles the invite will grant the invitee.", + "items": { + "$ref": "#/components/schemas/RoleStub" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "OrganizationTeamInvites": { + "type": "object", + "description": "A collection of invitations to join a team.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of organization team invites.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationTeamInvite" + } + } + } + } + } + }, + "OrganizationTeamStub": { + "type": "object", + "description": "A team within an organization.", + "required": [ + "uuid", + "name", + "roles" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The team unique identifier.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The team name." + }, + "roles": { + "type": "array", + "description": "An array of roles that the user has on this team.", + "items": { + "$ref": "#/components/schemas/RoleStub" + } + } + } + }, + "OrganizationUserProfile": { + "type": "object", + "description": "A user profile for an organization member.", + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "picture_url", + "username", + "teams", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URL for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + }, + "teams": { + "type": "array", + "description": "A collection of teams this user has access to in an organization, and the roles they have on those teams.", + "items": { + "$ref": "#/components/schemas/OrganizationTeamStub" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "CdeSize": { + "type": "object", + "description": "Response schema for a CDE size.", + "required": [ + "name", + "size", + "memory", + "storage", + "databases", + "slots" + ], + "properties": { + "name": { + "type": "string", + "description": "The CDE size name." + }, + "size": { + "type": "string", + "description": "The CDE size." + }, + "memory": { + "type": "integer", + "description": "The CDE memory in MB." + }, + "storage": { + "type": "integer", + "description": "The CDE storage in GB." + }, + "databases": { + "type": "integer", + "description": "Number of databases available." + }, + "slots": { + "type": "integer", + "description": "Number of slots available." + } + } + }, + "CdeSizes": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of CDE sizes.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CdeSize" + } + } + } + } + } + }, + "LogForwardingSource": { + "type": "object", + "description": "Response schema for a Log forwarding source.", + "required": [ + "name", + "label", + "platforms" + ], + "properties": { + "name": { + "type": "string", + "description": "The source name." + }, + "label": { + "type": "string", + "description": "The source label." + }, + "platforms": { + "type": "array", + "description": "List of platforms for which the source is available.", + "items": { + "type": "string", + "description": "The platform name." + } + } + } + }, + "LogForwardingSources": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of Log forwarding sources.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogForwardingSource" + } + } + } + } + } + }, + "LogForwardingConsumer": { + "type": "object", + "description": "Response schema for a Log forwarding consumer.", + "required": [ + "name", + "label" + ], + "properties": { + "name": { + "type": "string", + "description": "The consumer name." + }, + "label": { + "type": "string", + "description": "The consumer label." + } + } + }, + "LogForwardingConsumers": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of Log forwarding consumers.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogForwardingConsumer" + } + } + } + } + } + }, + "Color": { + "type": "object", + "description": "Response schema for a color.", + "required": [ + "color" + ], + "properties": { + "color": { + "type": "string", + "description": "The color name." + } + } + }, + "Colors": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The collection of colors.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Color" + } + } + } + } + } + }, + "ConfigurationSet": { + "type": "object", + "description": "An Acquia Search configuration set.", + "required": [ + "id", + "application_uuid", + "label", + "flags", + "status", + "_links" + ], + "properties": { + "id": { + "type": "string", + "description": "The search configuration set ID." + }, + "application_uuid": { + "type": "string", + "description": "The UUID for the application the search configuration belongs to." + }, + "label": { + "type": "string", + "description": "The human-readable search configuration set label." + }, + "flags": { + "type": "object", + "description": "The collection of flags for the search configuration set.", + "properties": { + "custom": { + "type": "boolean", + "description": "Indicates whether the search configuration set is a custom configuration set." + } + } + }, + "status": { + "type": "string", + "description": "The provisioning status of the search configuration set.", + "enum": [ + "active", + "pending", + "failed", + "inactive" + ] + }, + "health": { + "$ref": "#/components/schemas/Health" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ConfigurationSets": { + "type": "object", + "description": "A collection of configuration sets.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of configuration sets.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationSet" + } + } + } + } + } + }, + "Index": { + "type": "object", + "description": "An Acquia Search index.", + "required": [ + "id", + "environment_id", + "config_set_id", + "database_role", + "status", + "solr_version", + "url", + "_links", + "_embedded" + ], + "properties": { + "id": { + "type": "string", + "description": "The index ID." + }, + "environment_id": { + "type": "string", + "description": "The ID for the environment the search index belongs to." + }, + "config_set_id": { + "type": "string", + "description": "The search configuration set ID." + }, + "database_role": { + "type": "string", + "description": "The database role." + }, + "status": { + "type": "string", + "description": "The state for the index.", + "enum": [ + "active", + "pending", + "failed", + "inactive" + ] + }, + "health": { + "$ref": "#/components/schemas/Health" + }, + "solr_version": { + "type": "string", + "description": "The Solr version the index is currently running on." + }, + "url": { + "type": "string", + "description": "The index URL." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "The configuration set associated with the index.", + "properties": { + "configuration_set": { + "$ref": "#/components/schemas/ConfigurationSet" + } + } + } + } + }, + "Indexes": { + "type": "object", + "description": "A collection of indexes.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "pagination": { + "$ref": "#/components/schemas/Pagination" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of indexes.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Index" + } + } + } + } + } + }, + "Search": { + "type": "object", + "description": "A collection of links that provides traversal of search endpoints.", + "required": [ + "_links" + ], + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Server": { + "type": "object", + "description": "Server information.", + "required": [ + "id", + "name", + "hostname", + "ssh_user", + "ip", + "status", + "region", + "roles", + "ami_type", + "operating_system", + "configuration", + "flags", + "environment", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The ID of the server." + }, + "name": { + "type": "string", + "description": "The machine name of the server." + }, + "hostname": { + "type": "string", + "description": "The hostname for the server." + }, + "ssh_user": { + "type": "string", + "description": "The name of the SSH user for this environment." + }, + "ip": { + "type": "string", + "format": "ipv4", + "description": "The IP address of the server." + }, + "status": { + "type": "string", + "description": "The status of the server.", + "enum": [ + "normal", + "stopped", + "launching", + "cancelled", + "unknown" + ] + }, + "region": { + "type": "string", + "description": "The Amazon region the server is in." + }, + "roles": { + "type": "array", + "description": "The roles the server has, for its environment.", + "items": { + "type": "string", + "enum": [ + "web", + "db", + "bal" + ] + } + }, + "ami_type": { + "type": "string", + "description": "The Amazon AMI type." + }, + "operating_system": { + "type": "string", + "description": "The operating system running on the server." + }, + "configuration": { + "$ref": "#/components/schemas/ServerConfiguration" + }, + "flags": { + "$ref": "#/components/schemas/ServerFlags" + }, + "environment": { + "$ref": "#/components/schemas/EnvironmentStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Servers": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "description": "A collection of servers.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of servers matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Server" + } + } + } + } + } + }, + "ServerConfiguration": { + "type": "object", + "description": "An array of various configuration settings for the server.", + "properties": { + "ecu": { + "type": "integer", + "description": "The number of EC2 Compute Units (ECU) for this server type.", + "nullable": true + }, + "memory": { + "type": "number", + "description": "Returns the memory size (in GB) for this server type.", + "nullable": true + }, + "memcache": { + "type": "integer", + "description": "Returns the memcache size (in MB) for this server (if it is a memcache server).", + "nullable": true + } + } + }, + "ServerFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality for the server.", + "properties": { + "elastic_ip": { + "type": "boolean", + "description": "Determines if the server has an elastic (static) IP or not." + }, + "active_web": { + "type": "boolean", + "description": "Determines if the server is an active balancer or not." + }, + "active_bal": { + "type": "boolean", + "description": "Determines if the server is an active web server or not." + }, + "primary_db": { + "type": "boolean", + "description": "Determines if the server is the primary database.\n\nNote that \"false\" does not imply that this is the secondary database. The server must be a database, and not primary in order to be the secondary database.\n" + }, + "web": { + "type": "boolean", + "description": "Determines if the server is a web server." + }, + "database": { + "type": "boolean", + "description": "Determines if the server is a database server." + }, + "balancer": { + "type": "boolean", + "description": "Determines if the server is a balancer." + }, + "fs": { + "type": "boolean", + "description": "Determines if the server is a file server." + }, + "memcache": { + "type": "boolean", + "description": "Determines if the server is a memcache server." + }, + "dedicated": { + "type": "boolean", + "description": "Determines if the server is dedicated or shared." + }, + "self_service": { + "type": "boolean", + "description": "Determines if the server is self-service." + } + } + }, + "ServerStub": { + "type": "object", + "required": [ + "id", + "name" + ], + "description": "Information about the server this cron job is attached to.", + "properties": { + "id": { + "type": "string", + "description": "The server ID." + }, + "name": { + "type": "string", + "description": "The server name." + } + } + }, + "Settings": { + "type": "object", + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "HostingSettings": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + }, + "hosting_id": { + "type": "string", + "description": "The application's hosting identifier." + }, + "type": { + "type": "string", + "description": "The application's hosting type." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "LegacyProductKeysSettings": { + "type": "object", + "properties": { + "acquia_connector": { + "type": "object", + "description": "Acquia Connector legacy credentials.", + "properties": { + "identifier": { + "type": "string", + "description": "The Acquia Connector site identifier." + }, + "key": { + "type": "string", + "description": "The Acquia Connector key." + } + } + }, + "cloud_api": { + "type": "object", + "description": "Cloud API legacy credentials.", + "properties": { + "username": { + "type": "string", + "format": "uuid", + "description": "The Cloud API username (Subscription UUID)." + }, + "key": { + "type": "string", + "description": "The Cloud API key." + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "RemoteAdministrationSettings": { + "type": "object", + "properties": { + "application_uuid": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + }, + "update_mode": { + "type": "string", + "description": "The remote administration update setting.", + "enum": [ + "full", + "inform", + "none" + ] + }, + "update_type": { + "type": "string", + "description": "The remote administration update type (i.e. what to update).", + "enum": [ + "core", + "core_contrib" + ] + }, + "pause_until": { + "type": "string", + "nullable": true, + "description": "The ISO-8601 formatted date/time to pause RA until. Only applicable for 'full' and 'inform' update modes and when it is in future." + }, + "deploy_at": { + "type": "string", + "nullable": true, + "description": "The ISO-8601 formatted date/time to deploy RA at. Only applicable for 'full' and 'inform' update modes and when it is in future." + }, + "deploy_environment": { + "type": "string", + "description": "The environment to deploy the code and production database to for testing." + }, + "source_environment": { + "type": "string", + "description": "The update source environment. Only applicable for 'full' mode." + }, + "merge_branch": { + "type": "string", + "description": "The development branch into which the update tag will be merged.", + "nullable": true + }, + "flags": { + "type": "object", + "description": "Remote administration settings flags.", + "properties": { + "copy_files": { + "type": "boolean" + }, + "copy_database": { + "type": "boolean" + }, + "merge_tag": { + "type": "boolean" + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "SecuritySettings": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + }, + "allowed_ips": { + "type": "array", + "description": "A list of IPs and CIDR values allowed to access an application. Set to null to disable whitelisting.", + "items": { + "type": "string" + } + }, + "tfa_required": { + "type": "boolean", + "description": "Whether TFA is required for an application." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ShieldAclCollection": { + "type": "object", + "description": "Collection of Shield ACL rules.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of Shield ACL rules.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShieldAcl" + } + } + } + } + } + }, + "ShieldAcl": { + "type": "object", + "description": "Shield ACL rule.", + "required": [ + "uuid", + "subscription", + "description", + "service", + "addresses", + "action", + "status", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The unique identifier of the rule.", + "format": "uuid" + }, + "subscription": { + "$ref": "#/components/schemas/SubscriptionStub" + }, + "description": { + "type": "string", + "description": "The rule description." + }, + "service": { + "type": "string", + "description": "The service associated with the rule.", + "enum": [ + "ssh" + ] + }, + "addresses": { + "type": "array", + "description": "The cidrs of the rule.", + "items": { + "type": "string", + "format": "cidr | ipv4", + "description": "The address in cidr or ipv4 format." + } + }, + "action": { + "type": "string", + "description": "The action of the rule.", + "enum": [ + "allow", + "deny" + ] + }, + "status": { + "type": "string", + "description": "The status of the rule.", + "enum": [ + "active", + "inactive" + ] + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ApmType": { + "type": "object", + "required": [ + "type", + "flags", + "key", + "_links" + ], + "properties": { + "type": { + "type": "string", + "description": "The APM type.", + "enum": [ + "newrelic" + ] + }, + "flags": { + "type": "object", + "description": "Additional APM information.", + "properties": { + "opted-in": { + "type": "boolean", + "description": "Whether the organization owner has opted into the APM type." + } + } + }, + "key": { + "type": "string", + "description": "The APM license key." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "ApmTypes": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of APM types matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApmType" + } + } + } + } + } + }, + "Subscription": { + "type": "object", + "description": "A subscription is the product that allows for applications to be hosted with Acquia.\nIn addition, a subscription grants access to various additional services.\n", + "required": [ + "id", + "uuid", + "name", + "start_at", + "expire_at", + "product", + "applications_total", + "applications_used", + "organization", + "flags", + "_links", + "_embedded" + ], + "properties": { + "id": { + "type": "integer", + "description": "The subscription ID." + }, + "uuid": { + "type": "string", + "description": "The subscription UUID.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The subscription name." + }, + "start_at": { + "type": "string", + "description": "The time when the service defined by the subscription becomes available." + }, + "expire_at": { + "type": "string", + "description": "The time when the service expires." + }, + "product": { + "type": "object", + "description": "Defines the type of service this subscription is entitled to.", + "properties": { + "id": { + "type": "integer", + "description": "The product ID." + }, + "name": { + "type": "string", + "description": "The product name." + }, + "type": { + "type": "string", + "description": "The product type." + } + } + }, + "applications_total": { + "type": "integer", + "description": "The number of applications this subscription is entitled to." + }, + "applications_used": { + "type": "integer", + "description": "The number of applications used." + }, + "organization": { + "type": "object", + "deprecated": true, + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The organization's UUID." + }, + "name": { + "type": "string", + "description": "The human-readable organization name." + } + } + }, + "flags": { + "$ref": "#/components/schemas/SubscriptionFlags" + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of resources related to the subscription.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationStub" + } + } + } + } + } + }, + "SubscriptionApplications": { + "type": "object", + "description": "A collection of applications associated with a subscription.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of applications.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationNoEmbedded" + } + } + } + } + } + }, + "SubscriptionFlags": { + "type": "object", + "description": "An array of various flags that indicate functionality associated with subscription.", + "properties": { + "active": { + "type": "boolean", + "description": "If the subscription is active." + }, + "expired": { + "type": "boolean", + "description": "If the subscription is expired." + }, + "zuora": { + "type": "boolean", + "description": "If the subscription is online paid." + } + } + }, + "SubscriptionMetadata": { + "type": "object", + "description": "Subscription metadata.", + "properties": { + "uuids": { + "type": "array", + "description": "An array of subscription unique identifiers.", + "items": { + "type": "string", + "format": "uuid" + } + } + } + }, + "Subscriptions": { + "type": "object", + "description": "Collection of subscriptions.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of subscriptions.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + } + }, + "SubscriptionStub": { + "type": "object", + "description": "The subscription this application belongs to.", + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the subscription." + }, + "name": { + "type": "string", + "description": "The name of the subscription." + } + } + }, + "SubscriptionStubEmbedded": { + "type": "object", + "description": "A related subscription.", + "required": [ + "uuid", + "name", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the subscription." + }, + "name": { + "type": "string", + "description": "The name of the subscription." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Task": { + "type": "object", + "required": [ + "progress", + "user", + "uuid", + "name", + "title", + "description", + "created_at", + "started_at", + "status", + "type", + "metadata", + "labels", + "reference_uuid", + "_links" + ], + "properties": { + "progress": { + "type": "integer", + "description": "The progress of the event, from 0 to 100.", + "minimum": 0, + "maximum": 100 + }, + "user": { + "$ref": "#/components/schemas/UserStub" + }, + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the task." + }, + "name": { + "type": "string", + "description": "The machine name of the task." + }, + "title": { + "type": "string", + "description": "The title of the task." + }, + "description": { + "type": "string", + "description": "The description of the task.", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date that this task was created." + }, + "started_at": { + "type": "string", + "format": "date-time", + "description": "The date that the task was started." + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "The date that the task was completed." + }, + "status": { + "type": "string", + "description": "The status of the task." + }, + "type": { + "type": "string", + "description": "The type of task." + }, + "metadata": { + "type": "object", + "properties": { + "created": { + "type": "integer", + "description": "When the task was created." + }, + "author": { + "type": "object", + "description": "The task author.", + "properties": { + "uuid": { + "type": "string", + "description": "The task author UUID.", + "format": "uuid" + } + } + } + } + }, + "labels": { + "type": "array", + "description": "Categorization labels associated with the task", + "items": { + "type": "string" + } + }, + "reference_uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the parent task. If there is no parent, this will be the task UUID." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Invite": { + "type": "object", + "required": [ + "uuid", + "email", + "created_at", + "token", + "flags", + "author", + "_links" + ], + "description": "Details an invite.", + "properties": { + "uuid": { + "type": "string", + "description": "The unique identifier of the Invite.", + "format": "uuid" + }, + "email": { + "type": "string", + "description": "The invitee email address.", + "format": "email" + }, + "created_at": { + "type": "string", + "description": "The invite creation time.", + "format": "date-time" + }, + "token": { + "type": "string", + "description": "The invite token." + }, + "flags": { + "$ref": "#/components/schemas/InviteFlags" + }, + "author": { + "$ref": "#/components/schemas/UserStub" + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "team": { + "$ref": "#/components/schemas/TeamStub" + }, + "applications": { + "type": "array", + "description": "List of applications the invite will grant the invitee.", + "items": { + "$ref": "#/components/schemas/ApplicationStub" + } + }, + "roles": { + "type": "array", + "description": "List of roles the invite will grant the invitee.", + "items": { + "$ref": "#/components/schemas/RoleStub" + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "InviteFlags": { + "type": "object", + "description": "An array of various flags providing more context for the Invite response object.", + "properties": { + "declined": { + "type": "boolean" + } + } + }, + "Permission": { + "type": "object", + "required": [ + "name", + "label", + "description", + "group_label", + "flags" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the permission." + }, + "label": { + "type": "string", + "description": "The human readable label for the permission." + }, + "description": { + "type": "string", + "description": "The description of the permission.", + "nullable": true + }, + "group_label": { + "type": "string", + "description": "The human readable label for the group." + }, + "flags": { + "$ref": "#/components/schemas/PermissionFlags" + } + } + }, + "PermissionFlags": { + "type": "object", + "description": "An array of various flags regarding the status of the permission.", + "properties": { + "deprecated": { + "type": "boolean", + "description": "Whether the permission is deprecated or not." + } + } + }, + "Permissions": { + "type": "object", + "description": "A collection of all permissions that may be granted.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of permissions.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Permission" + } + } + } + } + } + }, + "PostInvite": { + "type": "object", + "required": [ + "email", + "roles" + ], + "properties": { + "email": { + "type": "string", + "description": "The email address of the user to invite to this team.", + "format": "email" + }, + "roles": { + "type": "array", + "description": "The role UUIDs to grant to the invitee.", + "items": { + "type": "string", + "format": "uuid" + } + } + } + }, + "Role": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The role unique identifier.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The role name." + }, + "description": { + "type": "string", + "description": "A description of the role." + }, + "permissions": { + "type": "array", + "description": "A collection of permissions a user with this role is granted.", + "items": { + "$ref": "#/components/schemas/Permission" + } + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "last_edited": { + "type": "object", + "description": "When the role was last edited, and who edited it.", + "properties": { + "edited_at": { + "type": "string", + "format": "date-time", + "description": "The date the role was edited." + }, + "user": { + "$ref": "#/components/schemas/UserStub" + } + } + }, + "flags": { + "type": "object", + "description": "Additional role status information.", + "properties": { + "default": { + "type": "boolean", + "description": "True if this is a default role, false if it was user created." + } + } + } + } + }, + "Roles": { + "type": "object", + "description": "Collection of roles.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of roles.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } + } + } + } + } + }, + "RoleStub": { + "type": "object", + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The role unique identifier.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The role name." + } + } + }, + "Team": { + "type": "object", + "required": [ + "uuid", + "name", + "created_at", + "updated_at", + "organization", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID of the team." + }, + "name": { + "type": "string", + "description": "The name of the team." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date the team was created." + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The date the team was last updated." + }, + "organization": { + "$ref": "#/components/schemas/OrganizationStub" + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "TeamInvites": { + "type": "object", + "description": "A collection of invites.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of invites matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Invite" + } + } + } + } + } + }, + "Teams": { + "type": "object", + "description": "A collection of teams.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of teams matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Team" + } + } + } + } + } + }, + "TeamApplications": { + "type": "object", + "description": "A collection of applications associated with a team.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of applications.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationNoEmbedded" + } + } + } + } + } + }, + "TeamMembers": { + "type": "object", + "description": "A collection of team members.", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of team member profiles.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TeamUserProfile" + } + } + } + } + } + }, + "TeamStub": { + "type": "object", + "required": [ + "uuid", + "name" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The team unique identifier.", + "format": "uuid" + }, + "name": { + "type": "string", + "description": "The team name." + } + } + }, + "TeamUserProfile": { + "type": "object", + "description": "A user profile for a team member.", + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "picture_url", + "username", + "roles" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URI for the user's picture." + }, + "username": { + "type": "string", + "description": "The user's internal user name." + }, + "roles": { + "type": "array", + "description": "A collection of roles this user has access to on a team.", + "items": { + "$ref": "#/components/schemas/RoleStub" + } + } + } + }, + "HasPermission": { + "type": "object", + "description": "Determines if a user account has a specific permission.", + "required": [ + "access", + "_links" + ], + "properties": { + "access": { + "type": "boolean", + "description": "Whether or not the user account has the specific permission." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "IsAdministrator": { + "type": "object", + "required": [ + "admin", + "_links" + ], + "description": "Determines if a user account is an administrator.", + "properties": { + "admin": { + "type": "boolean", + "description": "Whether or not the user account is an administrator." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "IsOwner": { + "type": "object", + "required": [ + "owner", + "_links" + ], + "description": "Determines if a user account is an owner.", + "properties": { + "owner": { + "type": "boolean", + "description": "Whether or not the user account is an owner." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "PasswordValidation": { + "type": "object", + "description": "The password validation response.", + "properties": { + "valid": { + "type": "boolean", + "description": "Whether or not the password is valid." + } + } + }, + "SshKey": { + "type": "object", + "required": [ + "uuid", + "label", + "public_key", + "fingerprint", + "created_at", + "_links" + ], + "description": "Details an SSH key.", + "properties": { + "uuid": { + "type": "string", + "description": "The unique identifier of the SSH key.", + "format": "uuid" + }, + "label": { + "type": "string", + "description": "The human-readable key label." + }, + "public_key": { + "type": "string", + "description": "The public key.", + "minLength": 64 + }, + "fingerprint": { + "type": "string", + "description": "The public key fingerprint." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The key creation date." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "SshKeys": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "description": "A collection of SSH keys.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of SSH keys matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SshKey" + } + } + } + } + } + }, + "Token": { + "type": "object", + "required": [ + "uuid", + "active", + "label", + "revocation", + "flags", + "created_at", + "_links" + ], + "description": "Details a token.", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The token UUID." + }, + "active": { + "type": "boolean", + "description": "Whether or not this token is active." + }, + "label": { + "type": "string", + "description": "The human-readable name for this token." + }, + "revocation": { + "type": "string", + "description": "If set, the reason why this token was revoked.", + "nullable": true + }, + "flags": { + "type": "object", + "description": "Flags detailing the token's status.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether or not this token is active." + } + } + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The creation date and time." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "TokenCreation": { + "type": "object", + "required": [ + "api_key", + "api_secret", + "_links" + ], + "description": "Details about a created user access token.", + "properties": { + "api_key": { + "type": "string", + "description": "The API key." + }, + "api_secret": { + "type": "string", + "description": "The API key secret." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "Tokens": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "description": "A collection of tokens.", + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of tokens matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Token" + } + } + } + } + } + }, + "User": { + "type": "object", + "required": [ + "id", + "uuid", + "name", + "first_name", + "last_name", + "last_login_at", + "created_at", + "mail", + "phone", + "job_title", + "job_function", + "company", + "country", + "timezone", + "picture_url", + "features", + "flags", + "metadata", + "_links" + ], + "description": "The response for a user object.", + "properties": { + "id": { + "type": "integer", + "description": "The internal database ID (uid) of the user." + }, + "uuid": { + "type": "string", + "format": "uuid", + "description": "The UUID for the user." + }, + "name": { + "type": "string", + "description": "The user name." + }, + "first_name": { + "type": "string", + "description": "The first name of the user." + }, + "last_name": { + "type": "string", + "description": "The last name of the user." + }, + "last_login_at": { + "type": "string", + "format": "date-time", + "description": "The date/time of the last login for the user.", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date/time when the user was created." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The e-mail address of the user." + }, + "phone": { + "type": "object", + "description": "The telephone numbers for the user.", + "properties": { + "office": { + "type": "string", + "description": "The office telephone number for the user.", + "nullable": true + }, + "tfa": { + "type": "string", + "description": "The tfa backup telephone number for the user.", + "nullable": true + } + } + }, + "job_title": { + "type": "string", + "description": "The job title of the user." + }, + "job_function": { + "type": "string", + "description": "The job function of the user.", + "enum": [ + "--", + "Business Executive", + "IT Executive", + "IT Architect or IT Operations", + "Product or Digital Marketing", + "Website Design or Development" + ] + }, + "company": { + "type": "string", + "description": "The company of the user." + }, + "country": { + "type": "string", + "description": "The country of the user.", + "enum": [ + "--", + "United States", + "Afghanistan", + "Albania", + "Algeria", + "American Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antigua and Barbuda", + "Argentina", + "Armenia", + "Ascension Island", + "Australia", + "Austria", + "Azerbaijan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Belarus", + "Belgium", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bosnia and Herzegovina", + "Botswana", + "Brazil", + "British Indian Ocean Territory", + "Brunei Darussalam", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Cambodia", + "Cameroon", + "Canada", + "Cape Verde", + "Cayman Islands", + "Central African Republic", + "Chad", + "Chile", + "China", + "Colombia", + "Comoros", + "Congo", + "Cook Islands", + "Costa Rica", + "Cote D Ivoire", + "Croatia", + "Cuba", + "Cyprus", + "Czech Republic", + "Denmark", + "Djibouti", + "Dominica", + "Dominican Republic", + "Ecuador", + "Egypt", + "El Salvador", + "Equatorial Guinea", + "Eritrea", + "Estonia", + "Ethiopia", + "Falkland Islands", + "Faroe Islands", + "Federated States of Micronesia", + "Fiji", + "Finland", + "France", + "French Guiana", + "French Polynesia", + "Gabon", + "Georgia", + "Germany", + "Ghana", + "Greece", + "Greenland", + "Grenada", + "Guadeloupe", + "Guatemala", + "Guam", + "Guinea", + "Guinea Bissau", + "Guyana", + "Haiti", + "Holy See (Vatican City)", + "Honduras", + "Hong Kong", + "Hungary", + "Iceland", + "India", + "Indonesia", + "Iran", + "Ireland", + "Isle of Man", + "Israel", + "Italy", + "Jamaica", + "Japan", + "Jordan", + "Kazakhstan", + "Kenya", + "Kiribati", + "Korea", + "Kuwait", + "Kyrgyzstan", + "Laos", + "Latvia", + "Lebanon", + "Lesotho", + "Liberia", + "Libya", + "Liechtenstein", + "Lithuania", + "Luxembourg", + "Macau", + "Macedonia", + "Madagascar", + "Malawi", + "Malaysia", + "Maldives", + "Mali", + "Malta", + "Marshall Islands", + "Martinique", + "Mauritius", + "Mayotte", + "Mexico", + "Moldova", + "Monaco", + "Mongolia", + "Montenegro", + "Montserrat", + "Morocco", + "Mozambique", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Netherlands", + "Netherlands Antilles", + "New Caledonia", + "New Zealand", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Norfolk Island", + "Northern Mariana Islands", + "Norway", + "Oman", + "Pakistan", + "Palau", + "Palestine", + "Panama", + "Papua New Guinea", + "Paraguay", + "Peru", + "Philippines", + "Pitcairn", + "Poland", + "Portugal", + "Puerto Rico", + "Qatar", + "Reunion", + "Romania", + "Russian Federation", + "Rwanda", + "Saint Vincent and the Grenadines", + "San Marino", + "Sao Tome and Principe", + "Saudi Arabia", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leone", + "Singapore", + "Slovakia", + "Slovenia", + "Solomon Islands", + "Somalia", + "South Africa", + "South Georgia", + "Spain", + "Sri Lanka", + "St. Kitts and Nevis", + "St. Lucia", + "St. Pierre and Miquelon", + "Sudan", + "Suriname", + "Swaziland", + "Sweden", + "Switzerland", + "Syrian Arab Republic", + "Taiwan", + "Tajikistan", + "Tanzania", + "Thailand", + "The Gambia", + "Togo", + "Tokelau", + "Tonga", + "Trinidad and Tobago", + "Tunisia", + "Turkey", + "Turkmenistan", + "Turks and Caicos Islands", + "Tuvalu", + "Uganda", + "Ukraine", + "United Arab Emirates", + "United Kingdom", + "Uruguay", + "Uzbekistan", + "Vanuatu", + "Venezuela", + "Viet Nam", + "Virgin Islands", + "Western Samoa", + "Yemen", + "Yugoslavia", + "Zaire", + "Zambia", + "Zimbabwe" + ] + }, + "state": { + "type": "string", + "description": "The state of the user, if in the United States.", + "enum": [ + "Alabama", + "Alaska", + "American Samoa", + "Arizona", + "Arkansas", + "California", + "Colorado", + "Connecticut", + "Delaware", + "District of Columbia", + "Florida", + "Georgia", + "Hawaii", + "Idaho", + "Illinois", + "Indiana", + "Iowa", + "Kansas", + "Kentucky", + "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "New Hampshire", + "New Jersey", + "New Mexico", + "New York", + "North Carolina", + "North Dakota", + "Northern Mariana Islands", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "Rhode Island", + "South Carolina", + "South Dakota", + "Tennessee", + "Texas", + "U.S. Virgin Islands", + "Utah", + "Vermont", + "Virginia", + "Washington", + "West Virginia", + "Wisconsin", + "Wyoming" + ] + }, + "timezone": { + "type": "string", + "description": "The timezone of the user." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The user's picture url." + }, + "features": { + "type": "array", + "description": "The various feature flags for the user.", + "items": { + "type": "string", + "enum": [ + "ci-pipelines", + "n3-disabled", + "n3-hybrid-mode", + "on-demand-environments", + "php7", + "php71", + "platform" + ] + } + }, + "flags": { + "$ref": "#/components/schemas/UserFlags" + }, + "metadata": { + "type": "object", + "description": "Metadata related to the user.", + "properties": { + "applications": { + "type": "object", + "description": "An array of application metadata for the user.", + "properties": { + "recent": { + "type": "array", + "description": "An array containing recent visited application information.", + "items": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The application UUID." + }, + "recent_at": { + "type": "string", + "format": "date-time", + "description": "The date-time when the application was accessed." + } + } + } + }, + "starred": { + "type": "array", + "description": "An array containing starred application UUIDs.", + "items": { + "type": "string", + "format": "uuid" + } + } + } + } + } + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "UserFlags": { + "type": "object", + "description": "The various flags for the user.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether or not this user is active." + }, + "tfa": { + "type": "boolean", + "description": "Whether or not this user has TFA enabled." + }, + "support": { + "type": "boolean", + "description": "Whether or not this user is a member of Acquia support." + } + } + }, + "UserProfile": { + "type": "object", + "description": "A user profile.", + "required": [ + "uuid", + "first_name", + "last_name", + "last_login_at", + "created_at", + "email", + "picture_url", + "username" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "last_login_at": { + "type": "string", + "format": "date-time", + "description": "The date/time of the last login for the user.", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "The date the user was created." + }, + "email": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URL for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + } + } + }, + "UserStub": { + "type": "object", + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "picture_url", + "username" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URI for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + } + } + }, + "UserStubEmbedded": { + "type": "object", + "description": "A related user.", + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "picture_url", + "username", + "_links" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URI for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "UserStubNullable": { + "type": "object", + "nullable": true, + "required": [ + "uuid", + "first_name", + "last_name", + "mail", + "picture_url", + "username" + ], + "properties": { + "uuid": { + "type": "string", + "format": "uuid", + "description": "The user's UUID." + }, + "first_name": { + "type": "string", + "description": "The user's first name." + }, + "last_name": { + "type": "string", + "description": "The user's last name." + }, + "mail": { + "type": "string", + "format": "email", + "description": "The user's email address." + }, + "picture_url": { + "type": "string", + "format": "uri", + "description": "The URI for the user's picture.", + "nullable": true + }, + "username": { + "type": "string", + "description": "The user's internal user name." + } + } + }, + "PasswordRequest": { + "type": "object", + "required": [ + "password" + ], + "description": "Describes the request body for a password.", + "properties": { + "password": { + "type": "string", + "description": "The password to verify." + } + } + }, + "SshKeyRequest": { + "type": "object", + "required": [ + "label", + "public_key" + ], + "description": "Describes the request body for an SSH key.", + "properties": { + "label": { + "type": "string", + "description": "The SSH key label." + }, + "public_key": { + "type": "string", + "description": "The public key." + } + } + }, + "TokenRequest": { + "type": "object", + "required": [ + "label" + ], + "description": "Describes the request body for a token.", + "properties": { + "label": { + "type": "string", + "description": "The label to give to the token for future reference.", + "minLength": 1 + } + } + }, + "UxMessages": { + "type": "object", + "required": [ + "total", + "_links", + "_embedded" + ], + "properties": { + "total": { + "type": "integer", + "description": "The number of items returned in the collection." + }, + "_links": { + "$ref": "#/components/schemas/Links" + }, + "_embedded": { + "type": "object", + "description": "A collection of application messages matching the request parameters.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UxMessage" + } + } + } + } + } + }, + "UxMessage": { + "type": "object", + "required": [ + "id", + "uuid", + "title", + "body", + "url", + "filters", + "flags", + "weight", + "start_at", + "expire_at", + "_links" + ], + "properties": { + "id": { + "type": "integer", + "description": "The message identifier." + }, + "uuid": { + "type": "string", + "description": "The message unique identifier.", + "format": "uuid" + }, + "title": { + "type": "string", + "description": "The message title." + }, + "body": { + "type": "string", + "description": "The message body.", + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "description": "The message url.", + "nullable": true + }, + "filters": { + "$ref": "#/components/schemas/UxMessageFilters" + }, + "flags": { + "$ref": "#/components/schemas/UxMessageFlags" + }, + "weight": { + "type": "integer", + "description": "The message priority weight." + }, + "start_at": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp of when the message started." + }, + "expire_at": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp of when the message expires." + }, + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "UxMessageFilters": { + "type": "object", + "description": "Defines where a message should appear.", + "properties": { + "paths": { + "type": "array", + "description": "Collection of paths.", + "items": { + "type": "string", + "description": "Paths where a message should appear." + } + }, + "display_mode": { + "type": "string", + "description": "How the message should be displayed.", + "enum": [ + "bar", + "list" + ] + }, + "type": { + "type": "string", + "description": "The message type.", + "enum": [ + "alert", + "general", + "new", + "warning" + ] + } + } + }, + "UxMessageFlags": { + "type": "object", + "description": "An array of various flags associated with a message.", + "properties": { + "dismissed": { + "type": "boolean" + }, + "dismissible": { + "type": "boolean" + }, + "active": { + "type": "boolean" + } + } + } + }, + "securitySchemes": { + "OAuth2": { + "type": "oauth2", + "description": "All Cloud API calls need to be authenticated in order to work. You authenticate using a token that you can generate on your Acquia Profile page.\n\n### To generate a token:\n\n1. Sign in to the [Acquia Cloud](https://cloud.acquia.com/) interface using your email address and Acquia password.\n2. Click your user avatar in the upper right corner, and then click **Account Settings**.\n3. On the Profile page, click **API Tokens**.\n4. Click **Create Token**.\n5. In the pop-up that appears, give your token a label so that you can easily find it later. Then click **Create Token**.\n6. Copy your API key and API secret. Click **OK**.\n", + "flows": { + "clientCredentials": { + "tokenUrl": "https://accounts.acquia.com/api/token", + "scopes": {} + } + } + } + } + }, + "paths": { + "/": { + "get": { + "tags": [ + "Current system health" + ], + "summary": "Return the current system health status.", + "description": "Returns status checks for system database, configuration and registry.", + "operationId": "getSystemHealthStatus", + "x-cli-name": "system-health-status", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Root" + }, + "example": { + "status": { + "configuration": true, + "registry": true, + "acp_provisioning_enabled": true, + "acf_provisioning_enabled": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/" + }, + "account": { + "href": "https://cloud.acquia.com/api/account" + }, + "applications": { + "href": "https://cloud.acquia.com/api/applications" + }, + "distributions": { + "href": "https://cloud.acquia.com/api/distributions" + }, + "identity-providers": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "organizations": { + "href": "https://cloud.acquia.com/api/organizations" + }, + "subscriptions": { + "href": "https://cloud.acquia.com/api/subscriptions" + }, + "teams": { + "href": "https://cloud.acquia.com/api/teams" + } + } + } + } + } + } + } + } + }, + "/account": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns details about your account.", + "description": "Returns details about your account.", + "operationId": "getAccount", + "x-cli-name": "accounts:find", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/User" + }, + "example": { + "id": 1234567, + "uuid": "82cff7ec-2f09-11e9-b210-d663bd873d93", + "name": "jane.doe", + "first_name": "Jane", + "last_name": "Doe", + "last_login_at": "2017-03-28T13:07:54-0500", + "created_at": "2016-07-17T20:35:25.000Z", + "mail": "jane.doe@example.com", + "phone": { + "office": null, + "mobile": "5555555555", + "tfa": "5555555555" + }, + "job_title": "", + "job_function": "IT Executive", + "company": "Acquia, Inc.", + "country": "United States", + "state": "Massachusetts", + "timezone": "America/New_York", + "picture_url": "https://accounts.acquia.com/images/users/82cff7ec-2f09-11e9-b210-d663bd873d93/style/avatar", + "features": [ + "ci-pipelines", + "on-demand-environments" + ], + "metadata": { + "applications": { + "recent": [ + { + "uuid": "8b83a104-2f09-11e9-b210-d663bd873d93", + "recent_at": "2016-03-04T13:07:54-0500" + }, + { + "uuid": "8b83a104-2f09-11e9-b210-d663bd873d93", + "recent_at": "2016-03-04T12:01:07-0500" + }, + { + "uuid": "8b83a104-2f09-11e9-b210-d663bd873d93", + "recent_at": "2016-03-04T12:01:05-0500" + } + ], + "starred": [ + "987c5c48-2f09-11e9-b210-d663bd873d93", + "9b684e30-2f09-11e9-b210-d663bd873d93" + ] + } + }, + "flags": { + "active": true, + "tfa": true, + "support": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account" + }, + "invites": { + "href": "https://cloud.acquia.com/api/account/invites" + }, + "messages": { + "href": "https://cloud.acquia.com/api/account/messages" + }, + "tokens": { + "href": "https://cloud.acquia.com/api/account/tokens" + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Does not exist": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/has-permission": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account has access to a specific application permission.", + "description": "Returns whether your account has access to a specific application permission.", + "operationId": "getAccountApplicationHasPermission", + "x-cli-name": "accounts:application-has-permission", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Permission" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/HasPermission" + }, + "example": { + "access": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/has-permission?permission=deploy%20to%20prod" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have the 'example permission' permission for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Permission not found": { + "value": { + "error": "not_found", + "message": "The permission you are trying to look up does not exist." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/is-admin": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is an administrator for an application.", + "description": "Returns whether your account is an administrator for an application.", + "operationId": "getAccountApplicationIsAdministrator", + "x-cli-name": "accounts:is-application-admin", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsAdministrator" + }, + "example": { + "admin": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/is-admin" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to administer this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/is-owner": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is the owner for an application.", + "description": "Returns whether your account is the owner for an application.", + "operationId": "getAccountApplicationIsOwner", + "x-cli-name": "accounts:is-application-owner", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsOwner" + }, + "example": { + "owner": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/is-owner" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/actions/mark-recent": { + "post": { + "tags": [ + "Account" + ], + "summary": "Marks an application as recently viewed.", + "description": "Marks an application as recently viewed. UUIDs and timestamps of recent applications are present in the \"account\" endpoint.", + "operationId": "postAccountApplicationMarkRecent", + "x-cli-name": "accounts:application-mark-recent", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Marked as recently viewed": { + "value": { + "message": "The application has been marked as recently viewed." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Does not exist": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already on the recently viewed list": { + "value": { + "error": "conflict", + "message": "Unable to add an application to the recently viewed list." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/actions/star": { + "post": { + "tags": [ + "Account" + ], + "summary": "Stars an application.", + "description": "Stars an application. UUIDs of starred applications are present in the \"account\" endpoint.", + "operationId": "postAccountApplicationStar", + "x-cli-name": "accounts:application-star", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Starred": { + "value": { + "message": "The application has been starred." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Does not exist": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "User does not have access": { + "value": { + "error": "not_found", + "message": "The user does not have access to this application." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Unable to add": { + "value": { + "error": "conflict", + "message": "The application has already been starred by this user." + } + } + } + } + } + } + } + } + }, + "/account/applications/{applicationUuid}/actions/unstar": { + "post": { + "tags": [ + "Account" + ], + "summary": "Removes an application from the user's starred list.", + "description": "Removes an application from the user's starred list. UUIDs of starred applications are present in the \"account\" endpoint.", + "operationId": "postAccountApplicationUnstar", + "x-cli-name": "accounts:application-unstar", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Starred": { + "value": { + "message": "The application has been unstarred." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Does not exist": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "User does not have access": { + "value": { + "error": "not_found", + "message": "The user does not have access to this application." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Unable to add": { + "value": { + "error": "conflict", + "message": "The application is not currently starred by this user." + } + } + } + } + } + } + } + } + }, + "/account/drush-aliases/download": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns the drush aliases as a compressed archive download.", + "description": "Returns the drush aliases as a compressed archive download.", + "operationId": "getAccountDrushAliasesDownload", + "x-cli-name": "accounts:drush-aliases", + "parameters": [ + { + "$ref": "#/components/parameters/DrushVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/gzip": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Version not supported": { + "value": { + "error": "forbidden", + "message": "Only Drush 8 and 9 are supported." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No Cloud API key found": { + "value": { + "error": "not_found", + "message": "No Cloud API key found for user with email address test@example.com." + } + }, + "No applications found": { + "value": { + "error": "not_found", + "message": "No hosted applications found for user with email address test@example.com." + } + }, + "No aliases found": { + "value": { + "error": "not_found", + "message": "No Drush aliases found for user with email address test@example.com." + } + }, + "User not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/account/ides": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns a list of Cloud IDEs associated with the current user.", + "description": "Returns a list of Cloud IDEs associated with the current user.", + "operationId": "getAccountIdes", + "x-cli-name": "accounts:ide-list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Ides" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ides" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + } + }, + "_embedded": { + "items": [ + { + "uuid": "9a83c081-ef78-4dbd-8852-11cc3eb248f7", + "label": "IDE Label 1", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7" + }, + "web": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud" + }, + "ide": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ide.ahdev.cloud" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + } + } + }, + { + "uuid": "feea197a-9503-4441-9f49-b4d420b0ecf8", + "label": "IDE Label 2", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8" + }, + "web": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud" + }, + "ide": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.ide.ahdev.cloud" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/cc26f963-6e9e-49df-a159-230f75e455aa" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "User not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/account/invites": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets a list of all organization admin and team invites that are pending for the current user.", + "description": "Gets a list of all organization admin and team invites that are pending for the current user.\n\nFilterable fields:\n* `mail`\n* `token`\n* `author`\n\nSortable fields:\n* `mail`\n* `token`\n* `author`\n", + "operationId": "getAccountInvites", + "x-cli-name": "accounts:invites-list", + "parameters": [ + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/AccountInvites" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/invites" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + } + }, + "_embedded": { + "items": [ + { + "applications": [ + { + "uuid": "a6a494aa-1316-4867-b681-95e3d77a6b34", + "name": "Example application" + } + ], + "author": { + "uuid": "0f1915e8-cd84-4386-94b8-21926fc376f5", + "username": "jane.doe", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com" + }, + "organization": { + "name": "Organization Name", + "uuid": "e83c3532-2fe0-11e9-b210-d663bd873d93" + }, + "roles": [ + { + "uuid": "fe79cb7a-2fe0-11e9-b210-d663bd873d93", + "name": "Senior Developer" + } + ], + "team": { + "uuid": "01d73cf8-2fe1-11e9-b210-d663bd873d93", + "name": "Team Name" + }, + "uuid": "eb947b2c-2fe0-11e9-b210-d663bd873d93", + "email": "invitee@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ec", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/eb947b2c-2fe0-11e9-b210-d663bd873d93" + }, + "organization": { + "href": "https://cloud.acquia.com/api/organizations/e83c3532-2fe0-11e9-b210-d663bd873d93" + } + } + }, + { + "organization": { + "name": "Organization Name", + "uuid": "e83c3532-2fe0-11e9-b210-d663bd873d93" + }, + "author": { + "uuid": "0f1915e8-cd84-4386-94b8-21926fc376f5", + "username": "jane.doe", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com" + }, + "uuid": "0540f4ba-2fe1-11e9-b210-d663bd873d93", + "email": "invitee@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ec", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/0540f4ba-2fe1-11e9-b210-d663bd873d93" + }, + "organization": { + "href": "https://cloud.acquia.com/api/organizations/e83c3532-2fe0-11e9-b210-d663bd873d93" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "User not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/account/messages": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns a list of messages associated with the current user.", + "description": "Returns a list of messages associated with the current user.\n\nFilterable fields:\n* `title`\n* `message_type`\n* `display_mode`\n\nSortable fields:\n* `title`\n* `message_type`\n* `display_mode`\n", + "operationId": "getAccountMessages", + "x-cli-name": "accounts:messages-list", + "parameters": [ + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/UxMessages" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/messages" + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + }, + "filter": { + "href": "https://cloud.acquia.com/api/messages{?filter}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/messages{?sort}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/messages{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/messages{?offset}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": 883581, + "uuid": "17ff551f-a037-4c0a-a0cb-ad6616ab3aa3", + "title": "Example title", + "body": null, + "url": null, + "filters": { + "type": "alert", + "display_mode": "bar", + "paths": [] + }, + "flags": { + "dismissed": false, + "dismissible": true, + "active": true + }, + "weight": -1, + "start_at": "2019-07-07T13:45:00.000Z", + "expire_at": "2019-07-15T13:45:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2" + }, + "dismiss": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/dismiss" + }, + "follow": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/follow" + } + } + }, + { + "id": 883581, + "uuid": "17ff551f-a037-4c0a-a0cb-ad6616ab3aa3", + "title": "Another example title", + "body": null, + "url": null, + "filters": { + "type": "alert", + "display_mode": "bar", + "paths": [] + }, + "flags": { + "dismissed": false, + "dismissible": true, + "active": true + }, + "weight": -1, + "start_at": "2019-07-07T13:45:00.000Z", + "expire_at": "2019-07-15T13:45:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2" + }, + "dismiss": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/dismiss" + }, + "follow": { + "href": "https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/follow" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Messages not found": { + "value": { + "error": "not_found", + "message": "The messages you are trying to view do not exist, or you do not have permission to access them." + } + } + } + } + } + } + } + } + }, + "/account/organizations/{organizationUuid}/is-admin": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is an administrator for an organization.", + "description": "Returns whether your account is an administrator for an organization.", + "operationId": "getAccountOrganizationIsAdministrator", + "x-cli-name": "accounts:is-organization-admin", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsAdministrator" + }, + "example": { + "admin": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/organizations/2026962e-2fe4-11e9-b210-d663bd873d93/is-admin" + }, + "organization": { + "href": "https://cloud.acquia.com/api/organizations/2026962e-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to administer this organization." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/organizations/{organizationUuid}/is-owner": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is the owner for an organization.", + "description": "Returns whether your account is the owner for an organization.", + "operationId": "getAccountOrganizationIsOwner", + "x-cli-name": "accounts:is-organization-owner", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsOwner" + }, + "example": { + "owner": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/organizations/2026962e-2fe4-11e9-b210-d663bd873d93/is-owner" + }, + "organization": { + "href": "https://cloud.acquia.com/api/organizations/2026962e-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/password": { + "post": { + "tags": [ + "Account" + ], + "summary": "Verifies that the supplied password matches the current user's password.", + "description": "Verifies that the supplied password matches the current user's password.", + "operationId": "postAccountPassword", + "x-cli-name": "accounts:password-check", + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PasswordRequest" + }, + "example": { + "password": "mysupersecretpassword" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PasswordRequest" + }, + "example": { + "password": "mysupersecretpassword" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PasswordValidation" + }, + "example": { + "valid": true + } + } + } + } + } + } + }, + "/account/ssh-keys": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets a list of SSH keys associated with the current user.", + "description": "Gets a list of SSH keys associated with the current user.\n\nFilterable fields:\n* `label`\n\nSortable fields:\n* `label`\n", + "operationId": "getAccountSshKeys", + "x-cli-name": "accounts:ssh-keys-list", + "parameters": [ + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SshKeys" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys" + }, + "sort": { + "href": "https://cloud.acquia.com/api/account/ssh-keys{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/account/ssh-keys{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/account/ssh-keys{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + } + }, + "_embedded": { + "items": [ + { + "uuid": "02905393-65d7-4bef-873b-24593f73d273", + "label": "PC Home", + "fingerprint": "5d:23:fb:45:70:df:ef:ad:ca:bf:81:93:cd:50:26:28", + "created_at": "2017-05-09T20:30:35.000Z", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EADHrfHY17SbrmAAABIwAAAQEAklOUpkTIpNLTGK9Tjom/BWDSUGPl+nafzlZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5HDTYW7hdI4yQVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys/02905393-65d7-4bef-873b-24593f73d273" + } + } + }, + { + "uuid": "d40833b3-6ea4-4339-9e2c-4b78e700258b", + "label": "Laptop Work", + "fingerprint": "5b:18:fb:50:55:df:cf:d5:bf:ea:81:23:ef:55:22:29", + "created_at": "2017-05-09T20:30:35.000Z", + "public_key": "ssh-rsa 1yc2EAAAABIwbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDAAAQEAklOUpkDHrfHY17STYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4pSwg0cda3PbAAAAB3NzaCv7kOdJ/MTyBlWXFCRh9lFX5QVkbPp+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys/d40833b3-6ea4-4339-9e2c-4b78e700258b" + } + } + }, + { + "uuid": "c40ee264-0023-4f60-815b-d20b44740746", + "label": "PC Work", + "fingerprint": "7c:s3:ab:30:40:da:cf:c5:bf:ca:31:33:ed:58:23:21", + "created_at": "2017-05-09T20:30:35.000Z", + "public_key": "ssh-rsa A1yc2EAAAlOUpkDHrfHY17SbrmTIAAAB3NzaCom/BWDSUGPl+nafzlHDTYW7hdI4yQVkbPppSwg0cda3ABIwAAAQEAkPZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5bv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys/c40ee264-0023-4f60-815b-d20b44740746" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "User not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Account" + ], + "summary": "Installs a new SSH key for the current user.", + "description": "Installs a new SSH key for the current user.", + "operationId": "postAccountSshKeys", + "x-cli-name": "accounts:ssh-key-create", + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SshKeyRequest" + }, + "example": { + "label": "mykey", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/SshKeyRequest" + }, + "example": { + "label": "mykey", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Adding SSH key.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/5fef247f-3c99-42a2-bb3c-69b32a06e7e9" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Label is invalid": { + "value": { + "error": "validation_failed", + "message": { + "public_key": "The supplied label is invalid: it may only contain letters, numbers and underscores." + } + } + }, + "Public key must be RSA": { + "value": { + "error": "validation_failed", + "message": { + "public_key": "The supplied public key type is unsupported: it must be RSA (ssh-rsa)." + } + } + }, + "Public key is invalid": { + "value": { + "error": "validation_failed", + "message": { + "public_key": "The supplied public key is invalid." + } + } + }, + "Public key too short": { + "value": { + "error": "validation_failed", + "message": { + "public_key": "The supplied public key type is too short: it must be at least 4096 bits long." + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Key with label already exists": { + "value": { + "error": "conflict", + "message": "An SSH key with this label already exists for this user." + } + }, + "Key with public key already exists": { + "value": { + "error": "conflict", + "message": "An SSH key with this public key already exists for this user." + } + } + } + } + } + } + } + } + }, + "/account/ssh-keys/{sshKeyUuid}": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get an SSH key associated with the currently-logged in user.", + "description": "Get an SSH key associated with the currently-logged in user.", + "operationId": "getAccountSshKey", + "x-cli-name": "accounts:ssh-key-find", + "parameters": [ + { + "$ref": "#/components/parameters/SshKeyUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SshKey" + }, + "example": { + "uuid": "b2a53dfb-f4e2-4543-814d-7a9aa3793746", + "label": "PC Home", + "fingerprint": "8d:13:fb:50:50:da:cf:c5:bf:ca:31:33:ed:51:27:24", + "created_at": "2017-05-09T20:30:35.000Z", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys/b2a53dfb-f4e2-4543-814d-7a9aa3793746" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account/ssh-keys" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "SSH key missing": { + "value": { + "error": "not_found", + "message": "The SSH key does not exist, or you do not have permission to access it." + } + }, + "SSH key not found": { + "value": { + "error": "not_found", + "message": "The SSH key you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Account" + ], + "summary": "Deletes an SSH key.", + "description": "Deletes an SSH key.", + "operationId": "deleteAccountSshKey", + "x-cli-name": "accounts:ssh-key-delete", + "parameters": [ + { + "$ref": "#/components/parameters/SshKeyUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Removed key": { + "value": { + "message": "Removed SSH key.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/ssh-keys/1acbb1a5-e864-4b8e-a3f9-b1ed462afd25" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account/ssh-keys" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/519caf5f-007a-4562-a726-37624cff7fd8" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "SSH key missing": { + "value": { + "error": "not_found", + "message": "The SSH key does not exist, or you do not have permission to access it." + } + }, + "SSH key does not exist": { + "value": { + "error": "not_found", + "message": "An SSH key with UUID 1df4cb00-2fe9-11e9-b210-d663bd873d93 does not exist." + } + } + } + } + } + } + } + } + }, + "/account/subscriptions/{subscriptionUuid}/is-admin": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is an administrator for a subscription.", + "description": "Returns whether your account is an administrator for a subscription.", + "operationId": "getAccountSubscriptionIsAdministrator", + "x-cli-name": "accounts:is-subscription-admin", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsAdministrator" + }, + "example": { + "admin": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93/is-admin" + }, + "subscription": { + "href": "https://cloud.acquia.com/api/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to administer this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/subscriptions/{subscriptionUuid}/is-owner": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is the owner for a subscription.", + "description": "Returns whether your account is the owner for a subscription.", + "operationId": "getAccountSubscriptionIsOwner", + "x-cli-name": "accounts:is-subscription-owner", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsOwner" + }, + "example": { + "owner": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93/is-owner" + }, + "subscription": { + "href": "https://cloud.acquia.com/api/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/teams/{teamUuid}/has-permission": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account has access to a specific team permission.", + "description": "Returns whether your account has access to a specific team permission.", + "operationId": "getAccountTeamHasPermission", + "x-cli-name": "accounts:has-team-permission", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/Permission" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/HasPermission" + }, + "example": { + "access": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/has-permission?permission=deploy%20to%20prod" + }, + "team": { + "href": "https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have the 'example permission' permission for this team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Team not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Permission not found": { + "value": { + "error": "not_found", + "message": "The permission you are trying to look up does not exist." + } + } + } + } + } + } + } + } + }, + "/account/teams/{teamUuid}/is-admin": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is an administrator for a team.", + "description": "Returns whether your account is an administrator for a team.", + "operationId": "getAccountTeamIsAdministrator", + "x-cli-name": "accounts:is-team-admin", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsAdministrator" + }, + "example": { + "admin": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/is-admin" + }, + "team": { + "href": "https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Do not have permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to administer this team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/teams/{teamUuid}/is-owner": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns whether your account is the owner for a team.", + "description": "Returns whether your account is the owner for a team.", + "operationId": "getAccountTeamIsOwner", + "x-cli-name": "accounts:is-team-owner", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IsOwner" + }, + "example": { + "owner": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/is-owner" + }, + "team": { + "href": "https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/account/tokens": { + "get": { + "tags": [ + "Account" + ], + "summary": "Returns a list of metadata for API access tokens tied to your account.", + "description": "Returns a list of metadata for API access tokens tied to your account.", + "operationId": "getAccountTokens", + "x-cli-name": "accounts:tokens-list", + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Tokens" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + } + }, + "_embedded": { + "items": [ + { + "uuid": "17feaf34-5d04-402b-9a67-15d5161d24e1", + "active": true, + "label": "My First App", + "created_at": "2016-01-22T17:41:57-0500", + "flags": { + "active": true + }, + "revocation": null, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens/17feaf34-5d04-402b-9a67-15d5161d24e1" + } + } + }, + { + "uuid": "81e8965d-0af0-460d-9e46-977dfcc38c29", + "active": true, + "label": "My Second App", + "created_at": "2016-01-22T17:55:15-0500", + "flags": { + "active": true + }, + "revocation": null, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens/81e8965d-0af0-460d-9e46-977dfcc38c29" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "User not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Account" + ], + "summary": "Creates an API access token tied to your account.", + "description": "Creates an API access token tied to your account.", + "operationId": "postAccountTokens", + "x-cli-name": "accounts:token-create", + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/TokenRequest" + }, + "example": { + "label": "API token for My App" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/TokenRequest" + }, + "example": { + "label": "API token for My App" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/TokenCreation" + }, + "example": { + "api_key": "137bd484-dcc8-4950-a784-1f01de7f6378", + "api_secret": "4DmbUmGiUkafdjcZk2yV6u17jPmmunwt8/47mKdAQIc=", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/ab142771-826e-42b0-a53c-e112b70448d2" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The user does not exist, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/account/tokens/{tokenUuid}": { + "get": { + "tags": [ + "Account" + ], + "summary": "Return details about a specific token.", + "description": "Return details about a specific token.", + "operationId": "getAccountToken", + "x-cli-name": "accounts:token-list", + "parameters": [ + { + "$ref": "#/components/parameters/TokenUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Token" + }, + "example": { + "uuid": "17feaf34-5d04-402b-9a67-15d5161d24e1", + "active": true, + "label": "My App v1.0", + "created_at": "2016-01-22T17:41:57-0500", + "revocation": null, + "flags": { + "active": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens/17feaf34-5d04-402b-9a67-15d5161d24e1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account/tokens" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Token not found": { + "value": { + "error": "not_found", + "message": "The access token does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Account" + ], + "summary": "Revokes an access token.", + "description": "Revokes an access token. This action will prevent the access token from being able to authorize access to the API in the future.", + "operationId": "deleteAccountToken", + "x-cli-name": "accounts:token-delete", + "parameters": [ + { + "$ref": "#/components/parameters/TokenUuid" + }, + { + "$ref": "#/components/parameters/TokenDeleteReason" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The access token has been revoked.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/account/tokens/03c86402-5e3b-4212-b6fd-009d271da1d0" + }, + "parent": { + "href": "https://cloud.acquia.com/api/account/tokens" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/7815f68b-fc52-4dc8-bdde-04d0960943e9" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The access token does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already revoked": { + "value": { + "error": "conflict", + "message": "The access token has already been revoked." + } + } + } + } + } + } + } + } + }, + "/agreements": { + "get": { + "tags": [ + "Agreements" + ], + "summary": "Return a list of agreements.", + "description": "Returns a list of agreements you have been invited to accept or decline.", + "operationId": "getAgreements", + "x-cli-name": "agreements:list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Agreements" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements" + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + }, + "_embedded": { + "items": [ + { + "uuid": "efc62c93-8203-4e8b-a8ff-4d18b780d4ab", + "document_uuid": "f25d0284-f25f-4e59-9c48-7c39ae57b400", + "title": "Agreement Title", + "body": "

Agreement body and text.

", + "status": "accepted", + "created_at": "2017-01-23T12:00:00.000Z", + "updated_at": "2017-01-27T12:00:00.000Z", + "actioned_by": { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/avatars/456def?mail=james.kirk@example.com", + "username": "james.kirk" + }, + "reference": { + "uuid": "9ab09eba-290d-4ed9-be4d-fa194ab92f39", + "name": "Acquia Subscription", + "type": "subscription" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab" + } + } + }, + { + "uuid": "b63fff64-6c18-4899-acba-00ec6c8930e9", + "document_uuid": "20370a6e-9b82-4580-8769-886f5f6c8693", + "title": "Another Agreement", + "body": "

This is the body and text of another agreement.

", + "status": "declined", + "created_at": "2017-02-23T12:00:00.000Z", + "updated_at": "2017-02-27T12:00:00.000Z", + "actioned_by": { + "uuid": "550e8400-e29b-41d4-a716-446655440000", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/avatars/123abc?mail=jane.doe@example.com", + "username": "jane.doe" + }, + "reference": { + "uuid": "9ab09eba-290d-4ed9-be4d-fa194ab92f39", + "name": "Acquia Subscription", + "type": "subscription" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements/b63fff64-6c18-4899-acba-00ec6c8930e9" + } + } + }, + { + "uuid": "a8777880-8924-494a-abe2-62cc092df269", + "document_uuid": "466c62ef-5ced-400d-b328-d47e745b50a8", + "title": "A Third Agreement", + "body": "

This is the body and text of one more agreement.

", + "status": "pending", + "created_at": "2017-02-23T12:00:00.000Z", + "updated_at": null, + "actioned_by": null, + "reference": { + "uuid": "9ab09eba-290d-4ed9-be4d-fa194ab92f39", + "name": "Acquia Subscription", + "type": "subscription" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements/a8777880-8924-494a-abe2-62cc092df269" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The agreement you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + }, + "/agreements/{agreementUuid}": { + "get": { + "tags": [ + "Agreements" + ], + "summary": "Return a specific agreement by a provided UUID.", + "description": "Return a specific agreement.", + "operationId": "getAgreement", + "x-cli-name": "agreements:find", + "parameters": [ + { + "$ref": "#/components/parameters/AgreementUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Agreement" + }, + "example": { + "uuid": "efc62c93-8203-4e8b-a8ff-4d18b780d4ab", + "document_uuid": "f25d0284-f25f-4e59-9c48-7c39ae57b400", + "title": "Agreement Title", + "body": "

Agreement body and text.

", + "status": "accepted", + "created_at": "2017-01-23T12:00:00.000Z", + "updated_at": "2017-01-27T12:00:00.000Z", + "actioned_by": { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/avatars/456def?mail=james.kirk@example.com", + "username": "james.kirk" + }, + "reference": { + "uuid": "9ab09eba-290d-4ed9-be4d-fa194ab92f39", + "name": "Acquia Subscription", + "type": "subscription" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab" + }, + "invitees": { + "href": "https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab/invitees" + }, + "subscription": { + "href": "https://cloud.acquia.com/api/subscriptions/9ab09eba-290d-4ed9-be4d-fa194ab92f39" + }, + "actioned_by": { + "href": "https://cloud.acquia.com/api/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/agreements" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The agreement you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + }, + "/agreements/{agreementUuid}/actions/accept": { + "post": { + "tags": [ + "Agreements" + ], + "summary": "Accepts a legal agreement by UUID.", + "description": "Accepts a legal agreement.", + "operationId": "postAcceptAgreement", + "x-cli-name": "agreements:accept", + "parameters": [ + { + "$ref": "#/components/parameters/AgreementUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "The agreement has been accepted." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The agreement you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already acted upon": { + "value": { + "error": "conflict", + "message": "This agreement has already been acted upon." + } + } + } + } + } + } + } + } + }, + "/agreements/{agreementUuid}/actions/decline": { + "post": { + "tags": [ + "Agreements" + ], + "summary": "Declines a legal agreement by UUID.", + "description": "Declines a legal agreement.", + "operationId": "postDeclineAgreement", + "x-cli-name": "agreements:decline", + "parameters": [ + { + "$ref": "#/components/parameters/AgreementUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "The agreement has been declined." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The agreement you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already acted upon": { + "value": { + "error": "conflict", + "message": "This agreement has already been acted upon." + } + } + } + } + } + } + } + } + }, + "/agreements/{agreementUuid}/invitees": { + "get": { + "tags": [ + "Agreements" + ], + "summary": "Returns a list of users invited to action this agreement.", + "description": "Returns a list of users invited to action this agreement by UUID.", + "operationId": "getInvitees", + "x-cli-name": "agreements:invitees-list", + "parameters": [ + { + "$ref": "#/components/parameters/AgreementUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Invitees" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab/invitees" + }, + "parent": { + "href": "https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab" + } + }, + "_embedded": { + "items": [ + { + "uuid": "6188cbcf-b176-4554-b17e-fbd8119ef46d", + "first_name": "User", + "last_name": "One", + "mail": "user1@example.com", + "username": "user.one", + "picture_url": "https://accounts.acquia.com/path/to/image.png" + }, + { + "uuid": "099a8a59-88d6-48c2-a121-ef29431f4aba", + "first_name": "User", + "last_name": "Two", + "mail": "user2@example.com", + "username": "user.two", + "picture_url": "https://accounts.acquia.com/path/to/image.png" + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The agreement you are trying to access does not exist, or you do not have permission to access it.a" + } + } + } + } + } + } + }, + "/applications": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return a list of applications the current user has access to.", + "operationId": "getApplications", + "x-cli-name": "applications:list", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Applications contains the code, files, and databases required to run sites. You have access to an application if you are a member of a team that has access to an application, or if you are an administrator or owner of the organization that the application belongs to. A subscription may contain one or more applications.\n\nFilterable fields:\n* `label`\n* `name` (Deprecated)\n* `organization_name`\n* `hosting` (Deprecated) Use URL encoded colon (%3A) to separate realm and sitegroup, e.g. network%3An3 instead of network:n3\n\nSortable fields:\n* `label`\n* `name` (Deprecated)\n* `organization_name`\n", + "parameters": [ + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Applications" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 10, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications?limit=10" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + }, + "_embedded": { + "items": [ + { + "id": 241643, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample application 1", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription" + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "status": "normal", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "tags": [ + { + "name": "tag-1", + "color": "blue", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + }, + { + "name": "tag-2", + "color": "green", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + } + ] + }, + { + "id": 954291, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d471", + "name": "Sample application 2", + "hosting": { + "type": "free", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription" + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization" + }, + "type": "node", + "flags": { + "remote_admin": false + }, + "status": "provisioning", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471" + } + }, + "tags": [ + { + "name": "tag-1", + "color": "blue", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + }, + { + "name": "tag-2", + "color": "green", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + } + ] + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view applications." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return details about a specific application.", + "operationId": "getApplicationByUuid", + "x-cli-name": "applications:find", + "security": [ + { + "OAuth2": [] + } + ], + "description": "A specific application.", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Application" + }, + "example": { + "id": 2416431, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample application", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription" + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "type": "drupal", + "status": "normal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a" + }, + "code": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/code" + }, + "databases": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases" + }, + "environments": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/environments" + }, + "events": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/events" + }, + "features": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/features" + }, + "ides": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/ides" + }, + "permissions": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/permissions" + }, + "search": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/search" + }, + "settings": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings" + }, + "tasks": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks" + }, + "teams": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/teams" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications" + } + }, + "_embedded": { + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/f47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/6a907396-abfd-4d01-9da6-64c8efc04519" + } + } + }, + "tags": [ + { + "name": "tag-1", + "color": "blue", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + }, + { + "name": "tag-2", + "color": "green", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "put": { + "tags": [ + "Applications" + ], + "summary": "Renames an application.", + "operationId": "putApplicationByUuid", + "x-cli-name": "applications:rename", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Renames a specific application.", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new name of the application.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My new application name" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new name of the application." + } + } + }, + "example": { + "name": "My new application name" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Application renamed.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/db1d0e46-6799-4208-9786-c7e64150a7c7" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/27698331-bcf9-48e9-9f12-931ac88f446f" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Name already in use": { + "value": { + "error": "validation_failed", + "message": { + "name": "You already have an application with this name." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to modify this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application": { + "value": { + "error": "not_found", + "message": "The application with UUID a47ac10b-58cc-4372-a567-0e02b2c3d470 does not exist." + } + }, + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Name in use": { + "value": { + "error": "conflict", + "message": "The new application name is the same as the old application name. No action taken." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/artifacts": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return application artifacts.", + "operationId": "getArtifactsByApplicationUuid", + "x-cli-name": "applications:artifact-list", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Returns a list of this application's build artifacts. Only available for Node.js applications.\n\nFilterable fields:\n* `created`\n* `name`\n\nSortable fields:\n* `created`\n* `name`\n", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Artifacts" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?limit}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": 1, + "name": "master@e5a80b9e0a2bdb1df32c6cdfce54deb70cc20ad2", + "state": "ready", + "created_at": "2012-05-15T12:00:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/1" + } + } + }, + { + "id": 2, + "name": "master@a265389db6a6918cf4e51edbe5f06d7e1578175c", + "state": "pending-upload", + "created_at": "2012-05-15T12:00:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/2" + } + } + }, + { + "id": 3, + "name": "master@e7157f36e5fb82317ffee2fc2d70302cdad0c60c", + "state": "deleted", + "created_at": "2012-05-15T12:00:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/3" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Application type": { + "value": { + "error": "not_found", + "message": "Artifacts are only available for Node.js applications." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/artifacts/{artifactId}": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return details about a specific artifact.", + "operationId": "getArtifactByApplicationUuidAndId", + "x-cli-name": "applications:artifact-find", + "description": "A specific artifact.\n", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/ArtifactId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Artifact" + }, + "example": { + "id": 1, + "name": "master@e5a80b9e0a2bdb1df32c6cdfce54deb70cc20ad2", + "state": "ready", + "created_at": "2012-05-15T12:00:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application": { + "value": { + "error": "not_found", + "message": "The application with UUID a47ac10b-58cc-4372-a567-0e02b2c3d470 does not exist." + } + }, + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No artifact": { + "value": { + "error": "not_found", + "message": "The build artifact you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Application type": { + "value": { + "error": "not_found", + "message": "Artifacts are only available for Node.js applications." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/code": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return application branches and release tags.", + "operationId": "getCodeByApplicationUuid", + "x-cli-name": "applications:vcs-info", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Returns a list of branches and release (repository) tags in this application's version control system.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Code" + }, + "example": { + "total": 4, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/code" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "name": "master", + "flags": { + "tag": false + } + }, + { + "name": "feature-branch", + "flags": { + "tag": false + } + }, + { + "name": "tags/2014-09-03", + "flags": { + "tag": true + } + }, + { + "name": "tags/2014-09-03.0", + "flags": { + "tag": true + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No VCS Settings": { + "value": { + "error": "not_found", + "message": "No version control system settings found on non-hosted application." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/code-studio": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns details about the Code Studio project for an application.", + "description": "Return details about the Code Studio project for an application.", + "operationId": "getCodeStudioProject", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioProject" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c/code-studio" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c" + }, + "applications": { + "href": "https://cloud.acquia.com/api/applications" + }, + "code-studio": { + "href": "https://code.acquia.com/path/to/project" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4/path/to/project" + } + }, + "_embedded": { + "application": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c" + } + }, + "uuid": "906c1ad5-f367-4127-b529-9dbe29bc5c1c", + "name": "My Application" + } + }, + "application_id": "906c1ad5-f367-4127-b529-9dbe29bc5c1c", + "status": "active" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Code Studio not enabled for application": { + "value": { + "error": "not_found", + "message": "Code Studio is not enabled for this application." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Creates the Code Studio project for an application.", + "description": "Creates the Code Studio project for an application.", + "operationId": "postCodeStudioProject", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/98529a07-5f07-4c4d-836b-03c9226c03fd/code-studio" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/e0c0ec4d-cb4d-4b9a-92ed-503d1e8dae4a" + } + }, + "message": "A Code Studio project is being created for the Application." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to create a Code Studio project for this Application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "summary": "Removes the Code Studio project from an application.", + "description": "Removes the Code Studio project from an application.", + "operationId": "deleteCodeStudioProject", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/98529a07-5f07-4c4d-836b-03c9226c03fd/code-studio" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/e0c0ec4d-cb4d-4b9a-92ed-503d1e8dae4a" + } + }, + "message": "The Code Studio project is being removed from the Application." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove the Code Studio project from this Application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/databases": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list database names for the application.", + "description": "Filterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getApplicationDatabases", + "x-cli-name": "applications:database-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationDatabases" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a" + } + }, + "_embedded": { + "items": [ + { + "name": "database1" + }, + { + "name": "database2" + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No data or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on Node.js": { + "value": { + "error": "not_found", + "message": "Databases do not exist on Node.js applications." + } + }, + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "Databases do not exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Creates a database.", + "description": "This action will create a new database within each environment of the application.", + "operationId": "postApplicationDatabaseCreate", + "x-cli-name": "applications:database-create", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "description": "Application database name.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The database name.", + "minLength": 1, + "maxLength": 63 + } + } + }, + "example": { + "name": "my_db_name" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "description": "Application database name.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The database name.", + "minLength": 1, + "maxLength": 63 + } + } + }, + "example": { + "name": "my_db_name" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The database is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/databases" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Only available for hosted applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases can only be added on Acquia-hosted applications." + } + } + }, + "Not available on Site Factory applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases cannot be added on Acquia Cloud Site Factory applications." + } + } + }, + "Name cannot be default": { + "value": { + "error": "validation_failed", + "message": { + "name": "The database name cannot be \"default\"." + } + } + }, + "Name can only be alphanumeric and underscores": { + "value": { + "error": "validation_failed", + "message": { + "name": "The database name can only contain alphanumeric characters and underscores." + } + } + }, + "Name cannot exceed 63 characters in length": { + "value": { + "error": "validation_failed", + "message": { + "general": "The database name cannot exceed 63 characters in length." + } + } + }, + "Name already in use": { + "value": { + "error": "validation_failed", + "message": { + "name": "A database with that name already exists. Please choose another name." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to add a database to this application." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be added to non-hosted applications." + } + }, + "ACSF application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be added to Acquia Cloud Site Factory applications." + } + }, + "Node.js application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be added on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/databases/{name}": { + "delete": { + "tags": [ + "Applications" + ], + "summary": "Drops (deletes) a database.", + "description": "This action will delete the database in ALL environments within this application.", + "operationId": "postApplicationDatabaseDelete", + "x-cli-name": "applications:database-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Name" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The database is being deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/f75e226b-2d8c-48c7-b3a7-614bb440272d/databases/testdatabase" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a90295b6-f50f-4670-8ca4-bb936a55c3a3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/f75e226b-2d8c-48c7-b3a7-614bb440272d/databases" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Can only be erased on hosted applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases can only be erased on Acquia-hosted applications." + } + } + }, + "Can only be erased on free tier applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases can only be erased on Acquia Free Tier applications." + } + } + }, + "Does not belong to application": { + "value": { + "error": "validation_failed", + "message": { + "name": "The database does not belong to this application, and cannot be removed." + } + } + }, + "Cannot delete default": { + "value": { + "error": "validation_failed", + "message": { + "name": "The database is a default database, and cannot be removed." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this database." + } + }, + "Non hosted application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be deleted on non-hosted applications." + } + }, + "ACSF application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be deleted on Acquia Cloud Site Factory applications." + } + }, + "Node.js application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be erased on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/databases/{name}/actions/erase": { + "post": { + "tags": [ + "Applications" + ], + "summary": "Erases (truncates) a database.", + "description": "This action will delete all tables of the database in ALL environments within this application.", + "operationId": "postApplicationDatabaseErase", + "x-cli-name": "applications:database-erase", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Name" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The database is being erased.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/da1c0a8e-ff69-45db-88fc-acd6d2affbb7/databases/test_database/actions/erase" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a90295b6-f50f-4670-8ca4-bb936a55c3a3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/da1c0a8e-ff69-45db-88fc-acd6d2affbb7/databases/test_database/actions" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Can only be erased on hosted applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases can only be erased on Acquia-hosted applications." + } + } + }, + "Can only be erased on free tier applications": { + "value": { + "error": "validation_failed", + "message": { + "general": "Databases can only be erased on Acquia Free Tier applications." + } + } + }, + "Does not belong to application": { + "value": { + "error": "validation_failed", + "message": { + "name": "The database does not belong to this application, and cannot be removed." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "ACF only": { + "value": { + "error": "forbidden", + "message": "Only Acquia Cloud Free subscriptions can erase databases." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to erase this database." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be erased on non-hosted applications." + } + }, + "Service Management-enabled application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be erased on Service Management-enabled applications." + } + }, + "Node.js application": { + "value": { + "error": "forbidden", + "message": "Databases cannot be erased on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/email/domains": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of email domains associated with the application.", + "description": "Returns a list of email domains associated with the application and domains that have been verified at the subscription level.", + "operationId": "getApplicationEmailDomains", + "x-cli-name": "applications:email-domains-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EmailDomains" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications123e4567-e89b-12d3-a456-426614174000/email/domains{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "domain_name": "example.com", + "flags": { + "associated": true + }, + "health": { + "code": "200", + "details": "", + "summary": "OK" + } + }, + { + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "domain_name": "example2.com", + "flags": { + "associated": true + }, + "health": { + "code": "200", + "details": "", + "summary": "OK" + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage email domains for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No data or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/email/domains/{domainRegistrationUuid}/actions/associate": { + "post": { + "tags": [ + "Applications" + ], + "summary": "Associates an email domain with an Application.", + "description": "Associates an email domain with an Application.", + "operationId": "postApplicationAssociateEmailDomain", + "x-cli-name": "applications:post-associate-email-domain", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/DomainRegistrationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Associate Domain": { + "value": { + "message": "The domain has been associated with the application.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains//123e4567-e89b-12d3-a456-426614174000/actions/associate" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains//123e4567-e89b-12d3-a456-426614174000" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to associate domains with this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to associate a domain registration with does not exist or you do not have permission to access it." + } + }, + "Domain not found": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to associate does not exist or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Already associated": { + "value": { + "error": "conflict", + "message": "The domain example.com is already associated with this application." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/email/domains/{domainRegistrationUuid}/actions/disassociate": { + "post": { + "tags": [ + "Applications" + ], + "summary": "Disassociates an email domain with an Application.", + "description": "Disassociates an email domain with an Application.", + "operationId": "postApplicationDisassociateEmailDomain", + "x-cli-name": "applications:post-disassociate-email-domains", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/DomainRegistrationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Disassociate Domain": { + "value": { + "message": "The domain has been disassociated from the application.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000/actions/dissasociate" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disassociate domains from this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to disassociate a domain registration from does not exist or you do not have permission to access it." + } + }, + "Domain not found": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to disassociate does not exist or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Domain minimum": { + "value": { + "error": "conflict", + "message": "The application must have at least one associated domain while Platform Email is enabled on an environment." + } + }, + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Not associated": { + "value": { + "error": "conflict", + "message": "The domain example.com is not associated with this application." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/ides": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of Cloud IDEs associated with this application.", + "description": "Returns a list of Cloud IDEs associated with this application.", + "operationId": "getApplicationIdes", + "x-cli-name": "applications:ide-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Ides" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/feea197a-9503-4441-9f49-b4d420b0ecf8/ides" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/feea197a-9503-4441-9f49-b4d420b0ecf8" + } + }, + "_embedded": { + "items": [ + { + "uuid": "9a83c081-ef78-4dbd-8852-11cc3eb248f7", + "label": "IDE Label 1", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7" + }, + "web": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud" + }, + "ide": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ides.acquia.com" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + } + }, + "_embedded": { + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "last_login_at": "2019-01-31T15:53:11.000Z", + "created_at": "2016-08-14T21:38:59.000Z", + "email": "user.name@example.com", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name" + } + } + }, + { + "uuid": "feea197a-9503-4441-9f49-b4d420b0ecf8", + "label": "IDE Label 2", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8" + }, + "web": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud" + }, + "ide": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.ides.acquia.com" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + } + }, + "_embedded": { + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "last_login_at": "2019-01-31T15:53:11.000Z", + "created_at": "2016-08-14T21:38:59.000Z", + "email": "user.name@example.com", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Creates a new Cloud IDE.", + "description": "Creates a new Cloud IDE.", + "operationId": "postApplicationsIde", + "x-cli-name": "ide:create", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The label of the Cloud IDE.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "label": "My new IDE" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The label of the Cloud IDE.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "label": "My new IDE" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "IDE created": { + "value": { + "message": "The Cloud IDE is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/1792767d-1ee3-4b5f-83a8-334dfdc2b8a3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/ides" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/e47da6d7-371e-4bb9-a7fe-d9ab8aa899c3" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Bad IDE label": { + "value": { + "error": "validation_error", + "message": { + "name": "A Cloud IDE labeled My new IDE already exists." + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No user": { + "value": { + "error": "not_found", + "message": "The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/messages": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of messages associated with this application.", + "description": "Filterable fields:\n* `title`\n* `message_type`\n* `display_mode`\n\nSortable fields:\n* `title`\n* `message_type`\n* `display_mode`\n", + "operationId": "getApplicationMessages", + "x-cli-name": "applications:message-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/UxMessages" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?limit}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": 123, + "uuid": "77fedb64-b8c0-4712-90e3-f39b4716e623", + "title": "IPM Title", + "body": "This is the body of the IPM.", + "url": "http://www.acquia.com", + "filters": { + "paths": [ + "/some/random/path", + "/other/random/path" + ], + "display_mode": "bar", + "type": "general" + }, + "flags": { + "dismissed": false, + "dismissible": true, + "active": true + }, + "weight": -1, + "start_at": "2015-11-05T05:30:00.000Z", + "expire_at": "2015-12-05T18:30:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623" + }, + "dismiss": { + "href": "https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623/actions/dismiss" + }, + "follow": { + "href": "https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623/actions/follow" + } + } + }, + { + "id": 234, + "uuid": "c5328e00-282a-4bec-a3c8-4322d97545b2", + "title": "IPM Message 2", + "body": "IPM Message 2 body", + "url": "http://www.google.ca", + "filters": { + "paths": [], + "display_mode": "bar", + "type": "new" + }, + "flags": { + "dismissed": false, + "dismissible": true, + "active": true + }, + "weight": 0, + "start_at": "2015-11-07T22:30:00.000Z", + "expire_at": "2016-11-07T22:30:00.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2" + }, + "dismiss": { + "href": "https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2/actions/dismiss" + }, + "follow": { + "href": "https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2/actions/follow" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/notifications": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of notifications associated with this application by its UUID.", + "description": "Returns a list of notifications associated with this application. A notification represents an item of work to be done, initiated by someone (typically the current user) associated with the application.\n\nFilterable fields:\n* `event`\n* `label`\n* `description`\n* `status`\n* `author`\n* `created_at`\n* `completed_at`\n\nSortable fields:\n* `event`\n* `label`\n* `description`\n* `status`\n* `author`\n* `created_at`\n* `completed_at`\n", + "operationId": "getApplicationNotifications", + "x-cli-name": "applications:notification-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationsNotifications" + }, + "example": { + "total": 1, + "pagination": { + "total": 1, + "limit": 1, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "uuid": "1bd3487e-71d1-4fca-a2d9-5f969b3d35c1", + "event": "ApplicationAddedToRecents", + "label": "Application added to recents list", + "description": "\"Canary QA 11 - ACE\" was added to your recent applications list.", + "created_at": "2019-07-29T20:47:13.000Z", + "completed_at": "2019-07-29T20:47:13.000Z", + "status": "completed", + "progress": 100, + "context": { + "author": { + "uuid": "5391a8a9-d273-4f88-8114-7f884bbfe08b", + "actual_uuid": "5391a8a9-d273-4f88-8114-7f884bbfe08b" + }, + "user": { + "uuids": [ + "5391a8a9-d273-4f88-8114-7f884bbfe08b" + ] + }, + "application": { + "uuids": [ + "a027502b-ad6c-a48e-a7e8-aa0def7d25e1" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/notifications/1bd3487e-71d1-4fca-a2d9-5f969b3d35c1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/notifications" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/notifications/{notificationUuid}": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a single notification.", + "description": "Returns a single notification. This could be either an event or a task.", + "deprecated": true, + "operationId": "getApplicationNotificationByUuid", + "x-cli-name": "applications:notification-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/NotificationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/NotificationDeprecated" + }, + "example": { + "progress": 100, + "user": { + "uuid": "a18a1d80-8896-11e1-9eb5-12313928d5b8", + "first_name": "James", + "last_name": "Kirk", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/path/to/imagepng", + "username": "james.kirk" + }, + "uuid": "63098518-0da8-4e41-943b-1198e3614f38", + "name": "OperationStarted", + "title": "Operation title", + "description": "Operation description.", + "created_at": "2017-04-04T21:21:53.000Z", + "started_at": "2017-04-04T21:21:53.000Z", + "completed_at": "2017-04-04T21:21:59.000Z", + "status": "completed", + "type": "task", + "metadata": { + "environment": { + "ids": [ + "63-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + ] + } + }, + "labels": [ + "database", + "hosting" + ], + "reference_uuid": "53098518-0da8-4e41-943b-1198e3614f38", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/0c7e79ab-1c4a-424e-8446-76ae8be7e851/notifications/123821" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No data or permission": { + "value": { + "error": "not_found", + "message": "The data you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/permissions": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of permissions the user has for this application by its UUID.", + "description": "Returns a list of permissions the user has for this application.", + "operationId": "getApplicationPermissions", + "x-cli-name": "applications:permission-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationsPermissions" + }, + "example": { + "total": 49, + "flags": { + "administrator": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/permissions" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "name": "deploy to non-prod", + "label": "Pull and deploy code, files, or databases to non-production environments", + "description": "Grants the ability to enable or disable live development and non-production work.", + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "deploy to prod", + "label": "Deploy code, files, or databases to the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "pull from prod", + "label": "Pull files or databases from the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file to non-prod", + "label": "Move files to non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file to prod", + "label": "Move files to the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file from prod", + "label": "Move files from production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file from non-prod", + "label": "Move files from non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "clear varnish on non-prod", + "label": "Clear Varnish cache for non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": true + } + }, + { + "name": "clear varnish on prod", + "label": "Clear Varnish cache for the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": true + } + }, + { + "name": "configure prod env", + "label": "Configure production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "configure non-prod env", + "label": "Configure non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "add an environment", + "label": "Add an environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "delete an environment", + "label": "Delete an environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "administer domain non-prod", + "label": "Add or remove domains for non-production environments", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer domain prod", + "label": "Add or remove domains for the production environment", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer ssl prod", + "label": "Add or remove SSL certificates for the production environment", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer ssl non-prod", + "label": "Add or remove SSL certificates for the non-production environments", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "reboot server", + "label": "Reboot server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "resize server", + "label": "Resize server", + "description": "Increasing the size of your server costs money.", + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "suspend server", + "label": "Suspend server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "configure server", + "label": "Configure server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "download logs non-prod", + "label": "Download logs for non-production environments", + "description": null, + "group_label": "Logs", + "flags": { + "deprecated": false + } + }, + { + "name": "download logs prod", + "label": "Download logs for the production environment", + "description": null, + "group_label": "Logs", + "flags": { + "deprecated": false + } + }, + { + "name": "add database", + "label": "Add a database", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "remove database", + "label": "Remove a database", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "view database connection", + "label": "View database connection details (username, password, or hostname)", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "download db backup non-prod", + "label": "Download database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "download db backup prod", + "label": "Download database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "create db backup non-prod", + "label": "Create database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "create db backup prod", + "label": "Create database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "restore db backup non-prod", + "label": "Restore database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "restore db backup prod", + "label": "Restore database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "administer team", + "label": "Add or remove a user of a team", + "description": "Granting this permission will give any user with this role full permissions on this team.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "access cloud api", + "label": "Access the Cloud API", + "description": "Grants the ability to use the API and bypass all other permissions via command line tools.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "administer cron non-prod", + "label": "Modify cron tasks for non-production environments", + "description": null, + "group_label": "Cron", + "flags": { + "deprecated": false + } + }, + { + "name": "administer cron prod", + "label": "Modify cron tasks for the production environment", + "description": null, + "group_label": "Cron", + "flags": { + "deprecated": false + } + }, + { + "name": "create support ticket", + "label": "Create a support ticket", + "description": null, + "group_label": "Support", + "flags": { + "deprecated": false + } + }, + { + "name": "edit any support ticket", + "label": "View and edit any support tickets for a subscription", + "description": null, + "group_label": "Support", + "flags": { + "deprecated": false + } + }, + { + "name": "view build plans", + "label": "View Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "edit build plans", + "label": "Edit Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "run build plans", + "label": "Run Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to git", + "label": "Add SSH key to git repository", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to non-prod", + "label": "Add SSH key to non-production environments", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to prod", + "label": "Add SSH key to the production environment", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "view remote administration", + "label": "View Remote Administration", + "description": "This permission is only relevant if your subscription has remote administration.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "edit remote administration", + "label": "Edit Remote Administration", + "description": "This permission is only relevant if your subscription has remote administration.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "clear caches on prod", + "label": "Clear caches for the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "clear caches on non-prod", + "label": "Clear caches for non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/search": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a traversal endpoint for search entities for the application.", + "description": "Does not return any data. Allows traversal to search entity endpoints.", + "operationId": "getApplicationSearchList", + "x-cli-name": "applications:search:list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Search" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905" + }, + "config-sets": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Forbidden": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage search for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/search/config-sets": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a collection of search configuration sets for an application", + "description": "A collection of search configuration sets for an application.", + "operationId": "getApplicationSearchConfigurationSets", + "x-cli-name": "applications:search:configuration-set-list", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationSets" + }, + "example": { + "total": 3, + "pagination": { + "total": 3, + "limit": 3, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": "shared-1234567891011-121", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-0", + "flags": { + "custom": false + }, + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + }, + "download": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download" + } + } + }, + { + "id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-1", + "flags": { + "custom": true + }, + "status": "pending", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + }, + "download": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download" + } + } + }, + { + "id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn79", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-2", + "flags": { + "custom": true + }, + "status": "pending", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn79" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + }, + "download": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to view search configuration sets for this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Creates a search configuration set for an application.", + "description": "Creates a search configuration set for an application.", + "operationId": "postApplicationSearchConfigurationSets", + "x-cli-name": "applications:search:configuration-set-create", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "required": [ + "archive" + ], + "description": "The archive file binary.", + "properties": { + "archive": { + "format": "binary", + "type": "string", + "description": "A binary file response" + } + } + } + } + } + }, + "responses": { + "202": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The search configuration set is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/05fb83f1-59dd-4079-b9f3-ce9243a126ed" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Request missing uploaded file": { + "value": { + "error": "validation_failed", + "message": { + "general": "The request does not contain an uploaded file." + } + } + }, + "Error during file upload": { + "value": { + "error": "validation_failed", + "message": { + "general": "An error occurred during file upload." + } + } + }, + "Uploaded file is not a zip file": { + "value": { + "error": "validation_failed", + "message": { + "general": "The uploaded file is not a zip file." + } + } + }, + "File exceeds size limit": { + "value": { + "error": "validation_failed", + "message": { + "general": "The uploaded file size exceeds the 10MB limit." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to create search configuration sets on this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "Acquia Search is not available for this subscription." + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/search/config-sets/{configurationSetId}": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a search configuration set for an application", + "description": "A specific search configuration set.", + "operationId": "getApplicationSearchConfigurationSet", + "x-cli-name": "applications:search:configuration-set-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/ConfigurationSetId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationSet" + }, + "example": { + "id": "shared-1234567891011-121", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-0", + "flags": { + "custom": false + }, + "health": { + "code": "OK", + "summary": "Search index active", + "details": "No issues." + }, + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + }, + "download": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to view search configuration sets for this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or not enough permissions": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No configuration set or not enough permissions": { + "value": { + "error": "not_found", + "message": "The search configuration set you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "summary": "Removes and deletes a specific search configuration set from an application.", + "description": "Removes and deletes a specific search configuration set from an application.", + "operationId": "deleteApplicationSearchConfigurationSet", + "x-cli-name": "applications:search:configuration-set-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/ConfigurationSetId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The search configuration set has been deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/41aaeac7-7ead-4f39-b74c-42493e4dc27b" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to delete search configuration sets for this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or not enough permissions": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No configuration set or not enough permissions": { + "value": { + "error": "not_found", + "message": "The search configuration set you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Search configuration set not available": { + "value": { + "error": "not_found", + "message": "The configuration set is not available for this application." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "Acquia Search is not available for this subscription." + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/settings": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns available settings for this application.", + "description": "Does not return any data. Allows traversal to settings groups endpoints.", + "operationId": "getApplicationSettings", + "x-cli-name": "applications:settings-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Settings" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings" + }, + "hosting": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/hosting" + }, + "keys": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/keys" + }, + "ra": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/ra" + }, + "security": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/security" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/settings/hosting": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns the hosting settings for this application.", + "description": "Returns the hosting settings for this application.", + "deprecated": true, + "operationId": "getApplicationHostingSettings", + "x-cli-name": "applications:hosting-settings-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/HostingSettings" + }, + "example": { + "uuid": "abcd1234-1111-2222-3333-0e02b2c3d470", + "hosting_id": "master:site", + "type": "ace", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/hosting" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "not_found", + "message": "You do not have permission to access the hosting settings." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/settings/keys": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns the legacy product keys for this application.", + "description": "Returns the legacy product keys for this application.", + "deprecated": true, + "operationId": "getApplicationLegacyProductKeysSettings", + "x-cli-name": "applications:legacy-product-key-find", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/LegacyProductKeysSettings" + }, + "example": { + "acquia_connector": { + "identifier": "ABCD-12345", + "key": "12345678f5325ea35d63a6c3debcd225" + }, + "cloud_api": { + "username": "abcd1234-1111-2222-3333-0e02b2c3d470", + "key": "123456787987a135e2c143601328cbf1" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/keys" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to access these product keys." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/settings/ra": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns the remote administration settings for this application.", + "description": "Returns the remote administration settings for this application.", + "operationId": "getApplicationRemoteAdministrationSettings", + "x-cli-name": "applications:ra-settings-find", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/RemoteAdministrationSettings" + }, + "example": { + "application_uuid": "abcd1234-1111-2222-3333-0e02b2c3d470", + "update_mode": "full", + "update_type": "core", + "pause_until": "2016-03-04T12:01:05-0500", + "deploy_at": "2016-03-04T12:01:05-0500", + "deploy_environment": "test", + "source_environment": "prod", + "merge_branch": "master", + "flags": { + "copy_files": true, + "copy_database": true, + "merge_tag": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/ra" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view the remote administration settings for this application." + } + }, + "Does not have remote administration": { + "value": { + "error": "forbidden", + "message": "This application does not have remote administration." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Applications" + ], + "summary": "Modifies the remote administration settings for an application.", + "description": "Modifies the remote administration settings for an application.", + "operationId": "putApplicationRemoteAdministrationSettings", + "x-cli-name": "applications:ra-settings-update", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/RemoteAdministration" + }, + "example": { + "update_mode": "update", + "update_type": "core_contrib", + "pause_until": "2021-10-10T13:00:00.000Z", + "deploy_at": "2020-10-13T13:00:00.000Z", + "deploy_environment": "test", + "source_environment": "prod", + "copy_files": false, + "copy_database": true, + "merge_tag": false, + "merge_branch": "master" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/RemoteAdministration" + }, + "example": { + "$ref": "#/paths/~1applications~1%7BapplicationUuid%7D~1settings~1ra/put/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "The remote administration settings have been updated" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "No parameters": { + "value": { + "error": "validation_failed", + "message": { + "general": "No fields were set to update. No action performed." + } + } + }, + "Remote administration not availble for application": { + "value": { + "error": "validation_failed", + "message": { + "general": "Remote administration is not available for this application." + } + } + }, + "Invalid remote administration mode": { + "value": { + "error": "validation_failed", + "message": { + "update_mode": "The remote administration mode 'something' is invalid. Must be one of 'update', 'inform', or 'none'." + } + } + }, + "Invalid remote administration update type": { + "value": { + "error": "validation_failed", + "message": { + "update_type": "The remote administration update type 'something' is invalid. Must be one of 'core' or 'core_contrib'." + } + } + }, + "Pause until must be in the future": { + "value": { + "error": "validation_failed", + "message": { + "pause_until": "The pause until timestamp must be in the future." + } + } + }, + "Deploy environment does not belong to application": { + "value": { + "error": "validation_failed", + "message": { + "deploy_environment": "The deploy environment does not belong to this application." + } + } + }, + "Invalid deploy environment": { + "value": { + "error": "validation_failed", + "message": { + "deploy_environment": "The deploy environment is not valid." + } + } + }, + "Source environment does not belong to application": { + "value": { + "error": "validation_failed", + "message": { + "deploy_environment": "The source environment does not belong to this application." + } + } + }, + "Invalid source environment": { + "value": { + "error": "validation_failed", + "message": { + "deploy_environment": "The source environment is not valid." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Unsufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to edit the remote administration settings for this application." + } + }, + "Does not have remote administration": { + "value": { + "error": "forbidden", + "message": "This application does not have remote administration." + } + }, + "Remote administration not available": { + "value": { + "error": "forbidden", + "message": "Remote admin is not available on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or does not exist": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/settings/security": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns the security policy settings for this application.", + "description": "Returns the security policy settings for this application.", + "deprecated": true, + "operationId": "getApplicationSecuritySettings", + "x-cli-name": "applications:security-settings-find", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SecuritySettings" + }, + "example": { + "application_uuid": "abcd1234-1111-2222-3333-0e02b2c3d470", + "allowed_ips": [ + "127.0.0.1", + "8.8.8.8" + ], + "tfa_required": true, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/security" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Applications" + ], + "summary": "Modifies the security policy settings for an application.", + "description": "Modifies the security policy settings for an application.", + "deprecated": true, + "operationId": "putApplicationSecuritySettings", + "x-cli-name": "applications:security-settings-update", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "allowed_ips": { + "type": "array", + "description": "The list of IPs to whitelist. Set to `null` to disable IP whitelisting.\n", + "nullable": true, + "items": { + "type": "string", + "format": "ipv4" + } + }, + "tfa_required": { + "type": "boolean", + "description": "The configuration set to use.Whether TFA is required for application authentication." + } + } + }, + "example": { + "status": [ + "127.0.0.1", + "0.0.0.0" + ], + "configuration_set": true + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "allowed_ips": { + "type": "array", + "description": "The list of IPs to whitelist. Set to `null` to disable IP whitelisting.\n", + "nullable": true, + "items": { + "type": "string", + "format": "ipv4" + } + }, + "tfa_required": { + "type": "boolean", + "description": "The configuration set to use.Whether TFA is required for application authentication." + } + }, + "example": { + "status": [ + "127.0.0.1", + "0.0.0.0" + ], + "configuration_set": true + } + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "The security policy settings have been updated." + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "No parameters": { + "value": { + "error": "validation_failed", + "message": { + "general": "No fields were set to update. No action performed." + } + } + }, + "Invalid IP list": { + "value": { + "error": "validation_failed", + "message": { + "allowed_ips": "The list of allowed IPs is invalid. Must either be an array of IPs to whitelist, or null to disable IP whitelisting." + } + } + }, + "Invalid IP address in list": { + "value": { + "error": "validation_failed", + "message": { + "allowed_ips": "The IP address \\\"not-a-valid-ip-address\\\" is invalid." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to edit the security policy settings for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or does not exist": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Action unavailable": { + "value": { + "error": "conflict", + "message": "The security policy is already configured to these settings." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/tags": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of application tags associated with this application.", + "description": "Returns a list of application tags associated with this application.", + "operationId": "getApplicationTags", + "x-cli-name": "applications:tag-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ResourceTags" + }, + "example": { + "total": 1, + "pagination": { + "total": 1, + "limit": 1, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "name": "Dev", + "color": "orange", + "context": { + "organization": { + "uuids": [ + "2375e327-3fff-11e3-9170-12313920a02c" + ] + }, + "application": { + "uuids": [ + "185f07c7-9c4f-407b-8968-67892ebcb38a" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags/Dev" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Creates a new application tag.", + "description": "Creates a new application tag.", + "operationId": "postApplicationsTags", + "x-cli-name": "applications:tags-create", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "description": "Application tags.", + "required": [ + "name", + "color" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the application tag.", + "minLength": 2, + "maxLength": 16 + }, + "color": { + "type": "string", + "description": "The color name of the application tag found via the GET /api/options/colors endpoint." + } + } + }, + "example": { + "name": "Dev", + "color": "green" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "description": "Application tags.", + "required": [ + "name", + "color" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the application tag.", + "minLength": 2, + "maxLength": 16 + }, + "color": { + "type": "string", + "description": "The color name of the application tag found via the GET /api/options/colors endpoint." + } + } + }, + "example": { + "name": "Dev", + "color": "green" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The tag has been added to the application.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/773fca86-9d87-45dc-9220-9ba38306bbb1" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No user": { + "value": { + "error": "not_found", + "message": "The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/tags/{tagName}": { + "delete": { + "tags": [ + "Applications" + ], + "summary": "Deletes an application tag.", + "description": "Deletes an application tag.", + "operationId": "deleteApplicationTags", + "x-cli-name": "applications:tags-delete", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/TagName" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The tag has been removed from the application.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags/test_tag" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/37cdf705-9774-4526-9bf0-9feb279630ee" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No user": { + "value": { + "error": "not_found", + "message": "The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/tasks": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of tasks associated with this application by its UUID.", + "description": "Returns a list of tasks associated with this application. A task represents an item of work to be done, initiated by someone (typically the current user) associated with the application.\n\nFilterable fields:\n* `name`\n* `title`\n* `created`\n* `completed`\n* `started`\n\nSortable fields:\n* `name`\n* `title`\n* `created`\n* `completed`\n* `started`\n", + "deprecated": true, + "operationId": "getApplicationTasks", + "x-cli-name": "applications:task-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationsTasks" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a" + } + }, + "_embedded": { + "items": [ + { + "progress": 100, + "user": { + "uuid": "d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a", + "first_name": "Example", + "last_name": "User", + "last_login_at": "2019-05-23T20:12:12.000Z", + "created_at": "2015-08-14T21:37:21.000Z", + "mail": "example.user@example.com", + "picture_url": "https://accounts.acquia.com/images/users/d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a/style/avatar", + "username": "example.user" + }, + "id": "8c6dde1f-fd0c-45e3-b6a3-f335397a1a76", + "uuid": "8c6dde1f-fd0c-45e3-b6a3-f335397a1a76", + "name": "ApplicationAddedToTeam", + "title": "Application added to team.", + "description": "Application Example Application has been added to team Example Team", + "created_at": "2019-04-16T17:24:55.000Z", + "started_at": "2019-04-16T17:24:55.000Z", + "completed_at": "2019-04-16T17:24:55.000Z", + "status": "completed", + "type": "task", + "metadata": { + "created": 1555435495, + "author": { + "uuid": "d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a", + "actual_uuid": "d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a" + }, + "user": { + "uuids": [ + "d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a" + ] + }, + "application": { + "uuids": [ + "185f07c7-9c4f-407b-8968-67892ebcb38a" + ] + }, + "subscription": { + "uuids": [ + "bbb28c3b-5eba-41ce-b54e-798d60f02a14" + ] + }, + "organization": { + "uuids": [ + "1734f8b7-9fd0-4150-92a8-325c52229554" + ] + }, + "team": { + "uuids": [ + "e1cc8591-1f28-44d4-912a-371311ac6095" + ] + } + }, + "labels": [ + "teams" + ], + "reference_uuid": "d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/notifications/8c6dde1f-fd0c-45e3-b6a3-f335397a1a76" + } + } + }, + { + "progress": 0, + "user": { + "uuid": "66597696-118c-4e18-b7e8-d027df8d5faa", + "first_name": "Example", + "last_name": "User", + "last_login_at": "2019-05-30T22:08:36.000Z", + "created_at": "2015-08-13T23:37:00.000Z", + "mail": "example.user.2@example.com", + "picture_url": "https://accounts.acquia.com/images/users/66597696-118c-4e18-b7e8-d027df8d5faa/style/avatar", + "username": "example.user.2" + }, + "id": "a0b253b7-df89-4b45-950b-f1d1e8873d30", + "uuid": "a0b253b7-df89-4b45-950b-f1d1e8873d30", + "name": "FilesCopied", + "title": "Files copied", + "description": "Files copied from "prod" to "dev".", + "created_at": "2019-01-25T09:24:32.000Z", + "started_at": "2019-01-25T09:24:32.000Z", + "completed_at": "2019-01-25T09:24:46.000Z", + "status": "completed", + "type": "task", + "metadata": { + "created": 1548408272, + "environment": { + "source": "925-185f07c7-9c4f-407b-8968-67892ebcb38a", + "target": "927-185f07c7-9c4f-407b-8968-67892ebcb38a", + "ids": [ + "925-185f07c7-9c4f-407b-8968-67892ebcb38a", + "927-185f07c7-9c4f-407b-8968-67892ebcb38a" + ] + }, + "hosting": { + "task": { + "id": "12345678", + "master": "example" + } + }, + "author": { + "uuid": "66597696-118c-4e18-b7e8-d027df8d5faa", + "actual_uuid": "66597696-118c-4e18-b7e8-d027df8d5faa" + }, + "user": { + "uuids": [ + "66597696-118c-4e18-b7e8-d027df8d5faa" + ] + }, + "application": { + "uuids": [ + "185f07c7-9c4f-407b-8968-67892ebcb38a" + ] + }, + "subscription": { + "uuids": [ + "bbb28c3b-5eba-41ce-b54e-798d60f02a14" + ] + }, + "organization": { + "uuids": [ + "1734f8b7-9fd0-4150-92a8-325c52229554" + ] + } + }, + "labels": [ + "hosting" + ], + "reference_uuid": "a0b253b7-df89-4b45-950b-f1d1e8873d30", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/notifications/a0b253b7-df89-4b45-950b-f1d1e8873d30" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/teams": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of teams associated with this application.", + "description": "Returns a list of teams associated with this application by its UUID.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getApplicationTeams", + "x-cli-name": "applications:team-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationsTeams" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/abcded12-1234-11e1-9eb5-12313928d5b8/teams" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/abcded12-1234-11e1-9eb5-12313928d5b8" + } + }, + "_embedded": { + "items": [ + { + "uuid": "abcd1234-82b5-11e3-9170-12313920a02c", + "name": "Team Name 1", + "created_at": "2013-10-28T14:16:07-0700", + "updated_at": "2015-02-19T08:53:10-0800", + "organization": { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c" + } + } + }, + { + "uuid": "1234abcd-82b5-11e3-9170-12313920a02c", + "name": "Team Name 2", + "created_at": "2014-05-27T11:55:39-0700", + "updated_at": "2015-01-30T05:49:16-0800", + "organization": { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves traversal links for detailed metrics on usage (views and visits) of your application.", + "description": "Retrieves traversal links for an application's usage data.", + "operationId": "getApplicationsUsageLinks", + "x-cli-name": "applications:usage-links", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Usage" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics" + }, + "data": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data" + }, + "data-by-environment": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment" + }, + "views": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "views-by-environment": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment" + }, + "visits": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "visits-by-environment": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage/data": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves aggregate usage data for an application, filterable by views or visits and by environment.", + "description": "Filterable fields:\n* `metric` - One of: {`views`, `visits`}\n* `environment`\n", + "operationId": "getApplicationsUsageData", + "x-cli-name": "applications:usage-data", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationUsageMetrics" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage/data-by-environment": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves usage data (views or visits) for an application, broken down by environment.", + "description": "Filterable fields:\n* `metric` - One of: {`views`, `visits`}\n* `environment`\n", + "operationId": "getApplicationsUsageDataByEnvironment", + "x-cli-name": "applications:usage-data-by-environment", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationUsageMetrics" + }, + "example": { + "total": 6, + "pagination": { + "total": 6, + "limit": 6, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "views", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage/{usageMetric}": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves aggregate usage metric data (views or visits) for an application..", + "description": "Filterable fields:\n* `environment`\n", + "operationId": "getApplicationsUsageMetricData", + "x-cli-name": "applications:usage-metric-data", + "parameters": [ + { + "$ref": "#/components/parameters/UsageMetric" + }, + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationUsageMetric" + }, + "example": { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage/views-by-environment": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves views data for an application, broken down by environment.", + "description": "Filterable fields:\n* `environment`\n", + "operationId": "getApplicationsUsageViewsDataByEnvironment", + "x-cli-name": "applications:usage-views-data-by-environment", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationUsageMetrics" + }, + "example": { + "total": 3, + "pagination": { + "total": 3, + "limit": 3, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "views", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/metrics/usage/visits-by-environment": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Retrieves visits data for an application, broken down by environment.", + "description": "Filterable fields:\n* `environment`\n", + "operationId": "getApplicationsUsageVisitsDataByEnvironment", + "x-cli-name": "applications:usage-visits-data-by-environment", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationUsageMetrics" + }, + "example": { + "total": 3, + "pagination": { + "total": 3, + "limit": 3, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "visits", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [], + "last_data_at": null, + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/distributions": { + "get": { + "tags": [ + "Distributions" + ], + "summary": "Return a list of Drupal distributions.", + "operationId": "getDistributions", + "x-cli-name": "distributions:list", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Returns a list of Drupal distributions that are available for installation in an Acquia Cloud environment.\n", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Distributions" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/distributions" + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + }, + "_embedded": { + "items": [ + { + "name": "drupal7", + "urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal7.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal7.zip" + }, + "update_urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal7-update.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal7-update.zip" + }, + "title": "Acquia Drupal", + "version": "7.38.44-6261", + "drupal_version": "Drupal 7", + "description": "Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules.", + "image_url": "https://www.acquia.com/path/to/img/drupal7.png", + "flags": { + "default": true, + "$visible": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/distributions/drupal7" + } + } + }, + { + "name": "drupal8", + "urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal8.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal8.zip" + }, + "update_urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal8-update.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal8-update.zip" + }, + "title": "Acquia Drupal", + "version": "8.0.0-beta14", + "drupal_version": "Drupal 8", + "description": "Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules.", + "image_url": "https://www.acquia.com/path/to/img/drupal8.png", + "flags": { + "default": false, + "$visible": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/distributions/drupal8" + } + } + } + ] + } + } + } + } + } + } + } + }, + "/distributions/{name}": { + "get": { + "tags": [ + "Distributions" + ], + "summary": "Return details about a specific Drupal distribution.", + "operationId": "getDistributionByName", + "x-cli-name": "distributions:find", + "security": [ + { + "OAuth2": [] + } + ], + "description": "A specific distribution.\n", + "parameters": [ + { + "$ref": "#/components/parameters/Name" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Distribution" + }, + "example": { + "name": "drupal8", + "urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal8.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal8.zip" + }, + "update_urls": { + "gz": "http://www.acquia.com/path/to/archive/drupal8-update.tar.gz", + "zip": "http://www.acquia.com/path/to/archive/drupal8-update.zip" + }, + "title": "Acquia Drupal", + "version": "8.0.0-beta14", + "drupal_version": "Drupal 8", + "description": "Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules.", + "image_url": "https://www.acquia.com/path/to/img/drupal8.png", + "flags": { + "default": false, + "$visible": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/distributions/drupal8" + }, + "gz": { + "href": "http://www.acquia.com/path/to/archive/drupal8.tar.gz" + }, + "zip": { + "href": "http://www.acquia.com/path/to/archive/drupal8.zip" + }, + "update_gz": { + "href": "http://www.acquia.com/path/to/archive/drupal8-update.tar.gz" + }, + "update_zip": { + "href": "http://www.acquia.com/path/to/archive/drupal8-update.zip" + }, + "parent": { + "href": "https://cloud.acquia.com/api/distributions" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The distribution you are trying to access does not exist." + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/environments": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Returns a list of environments within this application by its UUID.", + "description": "Returns a list of environments within this application.", + "operationId": "getApplicationEnvironments", + "x-cli-name": "applications:environment-list", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Environments" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments" + }, + "sort": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "label": "Dev", + "name": "dev", + "application": { + "name": "Sample Drupal application", + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "domains": [ + "sitedev.hosted.acquia-sites.com", + "example.com" + ], + "active_domain": "example.com", + "default_domain": "sitedev.hosted.acquia-sites.com", + "image_url": null, + "ssh_url": "site.dev@sitedev.ssh.hosted.acquia-sites.com", + "ips": [ + "10.0.1.5" + ], + "region": "us-east-1", + "balancer": "balancers", + "platform": "cloud", + "status": "normal", + "type": "drupal", + "size": "medium", + "weight": 0, + "vcs": { + "type": "git", + "path": "master", + "url": "site@svn-3.hosted.acquia-sites.com:site.git" + }, + "flags": { + "cde": false, + "cdn": false, + "email": false, + "hsd": false, + "livedev": false, + "migration": false, + "multicert": false, + "multi_region": false, + "production": false, + "production_mode": false, + "remote_admin": false, + "varnish": true, + "varnish_over_ssl": false + }, + "configuration": { + "operating_system": "precise", + "php": { + "version": "8.1", + "memory_limit": 128, + "opcache": 96, + "apcu": 32, + "interned_strings_buffer": 16, + "max_execution_time": 300, + "max_post_size": 256, + "max_input_vars": 1000, + "memcached_limit": 64 + } + }, + "artifact": null, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + { + "id": "15-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "label": "Production", + "name": "prod", + "application": { + "name": "Sample SiteFactory application", + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "domains": [ + "siteprod.hosted.acquia-sites.com", + "example.com" + ], + "gardener": { + "site-update": "prod.example.com/admin/gardens/site-update", + "multi-site": "prod.example.com/admin/gardens/staging" + }, + "active_domain": "example.com", + "default_domain": "siteprod.hosted.acquia-sites.com", + "image_url": null, + "ssh_url": "site.prod@siteprod.ssh.hosted.acquia-sites.com", + "ips": [ + "10.0.1.1", + "10.0.1.2" + ], + "region": "us-east-1", + "balancer": "balancers", + "platform": "cloud", + "status": "normal", + "type": "drupal", + "size": "medium", + "weight": 0, + "vcs": { + "type": "git", + "path": "tags/01-01-2015", + "url": "site@svn-3.hosted.acquia-sites.com:site.git" + }, + "flags": { + "cde": false, + "cdn": false, + "email": false, + "hsd": false, + "livedev": false, + "migration": false, + "multicert": false, + "multi_region": false, + "production": true, + "production_mode": true, + "remote_admin": false, + "varnish": true, + "varnish_over_ssl": false + }, + "configuration": null, + "artifact": null, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/15-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + { + "id": "32-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "label": "Stage", + "name": "test", + "application": { + "name": "Sample Node application", + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "domains": [ + "sitetest.hosted.acquia-sites.com", + "test.example.com" + ], + "active_domain": "test.example.com", + "default_domain": "sitetest.hosted.acquia-sites.com", + "image_url": null, + "ssh_url": "site.test@sitetest.ssh.hosted.acquia-sites.com", + "ips": [], + "region": "us-east-1", + "balancer": "balancers", + "platform": "cloud", + "status": "normal", + "type": "node", + "size": "medium", + "weight": 20, + "vcs": { + "type": "git", + "path": null, + "url": "qa10@svn-3.networkdev.ahserversdev.com:qa10.git" + }, + "flags": { + "cde": false, + "cdn": false, + "email": false, + "hsd": false, + "livedev": false, + "migration": false, + "multicert": false, + "multi_region": false, + "production": false, + "production_mode": false, + "remote_admin": false, + "varnish": true, + "varnish_over_ssl": false + }, + "configuration": { + "operating_system": "precise", + "node": { + "version": "6.11.1" + } + }, + "artifact": { + "id": 1, + "name": "Example artifact" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/32-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "No environments exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Applications" + ], + "summary": "Add a new continuous delivery environment to an application by the application UUID.", + "description": "Add a new continuous delivery environment.", + "operationId": "postApplicationEnvironments", + "x-cli-name": "applications:environment-create", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "label", + "branch", + "databases" + ], + "properties": { + "label": { + "type": "string", + "description": "The new environment label." + }, + "branch": { + "type": "string", + "description": "The name of the branch or tag that the continuous delivery environment will have." + }, + "databases": { + "type": "array", + "description": "An array containing the names of the databases to add to the continuous delivery environment.", + "items": { + "type": "string" + } + } + } + }, + "example": { + "label": "CD label", + "branch": "my-feature-branch", + "databases": [ + "database1", + "database2" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "label", + "branch", + "databases" + ], + "properties": { + "label": { + "type": "string", + "description": "The new environment label." + }, + "branch": { + "type": "string", + "description": "The name of the branch or tag that the continuous delivery environment will have." + }, + "databases": { + "type": "array", + "description": "The names of the databases to add to the continuous delivery environment." + } + }, + "example": { + "label": "CD label", + "branch": "my-feature-branch", + "databases": [ + "database1", + "database2" + ] + } + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Adding environment": { + "value": { + "message": "Adding an environment.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/896f142a-2c14-45ff-9b1f-41bcb2b5de8d/environments" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/23d9184d-40b8-4f21-a3d5-416aef9bcd39" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/896f142a-2c14-45ff-9b1f-41bcb2b5de8d/environments" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Application is not hosted by Acquia": { + "value": { + "error": "validation_failed", + "message": { + "general": "Environments can only be added on Acquia-hosted applications." + } + } + }, + "Label already exists": { + "value": { + "error": "validation_failed", + "message": { + "label": "Another environment within this application already has this label." + } + } + }, + "Application does not support CD environments": { + "value": { + "error": "validation_failed", + "message": { + "general": "This application does not support CD environments." + } + } + }, + "Application is at capacity": { + "value": { + "error": "validation_failed", + "message": { + "general": "This application already has the maximum number of CD environments." + } + } + }, + "Databases do not exist": { + "value": { + "error": "validation_failed", + "message": { + "general": "One or more of the databases you have specified do not exist in this application." + } + } + }, + "Too many databases provided": { + "value": { + "error": "validation_failed", + "message": { + "general": "Please specify 3 or fewer databases to provision on your environment." + } + } + }, + "Too many databases exist": { + "value": { + "error": "validation_failed", + "message": { + "general": "You cannot provision more than 3 databases on your new environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to add an environment." + } + }, + "Application does not support CD environments": { + "value": { + "error": "forbidden", + "message": "CD environments are not available for this application." + } + }, + "Application is not hosted by Acquia": { + "value": { + "error": "forbidden", + "message": "CD environments cannot be added to non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/applications/{applicationUuid}/features": { + "get": { + "tags": [ + "Applications" + ], + "summary": "Return application features.", + "operationId": "getApplicationFeatures", + "x-cli-name": "applications:feature-list", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Returns a list of feature flags for this application.\n", + "parameters": [ + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApplicationFeatures" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/features" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "name": "feature-name", + "label": "Some feature.", + "description": "Allows access to Some feature." + }, + { + "name": "example-feature", + "label": "Example feature.", + "description": "Allows access to Example feature." + } + ] + } + } + } + } + } + } + } + }, + "/environments/{environmentId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific environment.", + "description": "Return details about a specific environment.\n\nTo find your environment ID via API:\n\n1. Make a request to GET `/api/applications/[uuid]/environments`.\n2. Find the entry that matches your environment. If you don't know the application UUID, first make a request to GET `/api/applications`.\n\nTo find your environment ID via cloud.acquia.com:\n\n1. Open [https://cloud.acquia.com](https://cloud.acquia.com).\n2. Navigate to your application.\n3. Navigate to the environment.\n4. See the environment ID in the browser URL.\nFor example, in this URL `https://cloud.acquia.com/app/develop/applications/53785bca-1946-4adc-a022-e50d24686c20/environments/289576-53785bca-1946-4adc-a022-e50d24686c20`, the environment id is `289576-53785bca-1946-4adc-a022-e50d24686c20`.\n", + "operationId": "getEnvironment", + "x-cli-name": "environments:find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Environment" + }, + "example": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "label": "Dev", + "name": "dev", + "application": { + "name": "Sample application", + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "domains": [ + "sitedev.hosted.acquia-sites.com", + "example.com" + ], + "active_domain": "example.com", + "default_domain": "sitedev.hosted.acquia-sites.com", + "image_url": null, + "ssh_url": "site.dev@sitedev.ssh.hosted.acquia-sites.com", + "ips": [ + "10.0.1.5" + ], + "region": "us-east-1", + "balancer": "balancers", + "platform": "cloud", + "status": "normal", + "type": "drupal", + "size": "medium", + "weight": 0, + "vcs": { + "type": "git", + "path": "master", + "url": "site@svn-3.hosted.acquia-sites.com:site.git" + }, + "flags": { + "cde": false, + "cdn": false, + "cloud-actions": false, + "eips": false, + "email": false, + "hsd": false, + "livedev": false, + "migration": false, + "multicert": false, + "multi_region": false, + "production": false, + "production_mode": false, + "remote_admin": false, + "varnish": true, + "varnish_over_ssl": false + }, + "configuration": { + "operating_system": "precise", + "php": { + "version": "8.1", + "memory_limit": 128, + "opcache": 96, + "apcu": 64, + "interned_strings_buffer": 16, + "max_execution_time": 300, + "max_post_size": 256, + "max_input_vars": 1000, + "memcached_limit": 64 + } + }, + "gardener": { + "site-update": "example.com/admin/gardens/site-update", + "multi-site": "example.com/admin/gardens/staging" + }, + "artifact": null, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments" + }, + "available-runtimes": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/available-runtimes" + }, + "cdn": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cdn" + }, + "cloud-actions": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cloud-actions" + }, + "crons": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons" + }, + "databases": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "dns": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/dns" + }, + "domains": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains" + }, + "eips": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/eips" + }, + "logs": { + "href": "https://cloud.acquia.com/api/environments/8-185f07c7-9c4f-407b-8968-67892ebcb38a/logs" + }, + "metrics": { + "href": "https://cloud.acquia.com/api/environments/8-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics" + }, + "search": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/search" + }, + "servers": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers" + }, + "ssl": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/ssl" + }, + "variables": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/variables" + } + }, + "_embedded": { + "application": { + "name": "Sample application", + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Modifies configuration settings for an environment.", + "description": "Modifies configuration settings for an environment. Note that some settings cannot be configured for certain subscriptions.", + "operationId": "putEnvironment", + "x-cli-name": "environments:update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentConfigurations" + }, + "example": { + "version": "8.1", + "max_execution_time": 10, + "memory_limit": 192, + "apcu": 32, + "max_input_vars": 1000, + "max_post_size": 256, + "memcached_limit": 128, + "operating_system": "focal" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/EnvironmentConfigurations" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D/put/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The environment configuration is being updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "No changes requested": { + "value": { + "error": "forbidden", + "message": { + "system": "No environment configuration changes are specified." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this environment." + } + }, + "Cannot delete CD environments on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "CD environments cannot be deleted on non-hosted applications." + } + }, + "Cannot delete environments on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Environments cannot be deleted on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Conflict": { + "value": { + "error": "conflict", + "message": "operating_system cannot be configured on this environment." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes a CD environment.", + "description": "Deletes a CD environment.", + "operationId": "deleteEnvironment", + "x-cli-name": "environments:delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "The environment is being deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this environment." + } + }, + "Cannot delete CD environments on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "CD environments cannot be deleted on non-hosted applications." + } + }, + "Cannot delete environments for managed applications": { + "value": { + "error": "forbidden", + "message": "Environments cannot be deleted for Service Management-enabled applications." + } + }, + "Cannot delete environments on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Environments cannot be deleted on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "options": { + "tags": [ + "Environments" + ], + "summary": "Displays environment options.", + "description": "Displays environment options.", + "operationId": "optionsEnvironment", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentOptions" + }, + "example": { + "total": 10, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments" + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "name": "apcu", + "minimum": 32, + "maximum": 512, + "default": 32, + "step": 1 + }, + { + "name": "interned_strings_buffer", + "minimum": 8, + "maximum": 32, + "default": 8, + "step": 1 + }, + { + "name": "max_execution_time", + "minimum": 1, + "maximum": 300, + "default": 300, + "step": 1 + }, + { + "name": "max_input_vars", + "minimum": 500, + "maximum": 20000, + "default": 1000, + "step": 1 + }, + { + "name": "max_post_size", + "minimum": 64, + "maximum": 1024, + "default": 256, + "step": 1 + }, + { + "name": "memory_limit", + "minimum": 128, + "maximum": 1024, + "default": 128, + "step": 1 + }, + { + "name": "memcached_limit", + "minimum": 0, + "maximum": 12288, + "default": 64, + "step": 64 + }, + { + "name": "opcache", + "minimum": 96, + "maximum": 512, + "default": 96, + "step": 1 + }, + { + "name": "operating_system", + "minimum": null, + "maximum": null, + "default": null, + "step": null + }, + { + "name": "version", + "minimum": null, + "maximum": null, + "default": null, + "step": null + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/actions/clear-caches": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Clears the caches for one or more domains attached to this environment.", + "description": "Clear caches for Varnish and Platform CDN (if Platform CDN is enabled).", + "operationId": "postEnvironmentsClearCaches", + "x-cli-name": "environments:clear-caches", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "required": [ + "domains" + ], + "properties": { + "domains": { + "type": "array", + "description": "A list of domains to clear the caches for.", + "items": { + "type": "string", + "format": "hostname" + } + } + } + }, + "example": { + "domains": [ + "domain1.example.com", + "domain2.example.com" + ] + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Clearing cache": { + "value": { + "message": "Caches are being cleared.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/actions/clear-caches" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to clear caches on this environment." + } + }, + "Can only be cleared on hosting applications": { + "value": { + "error": "forbidden", + "message": "Caches cannot be cleared on non-hosted applications." + } + }, + "Cannot be cleared for Node.js applications": { + "value": { + "error": "forbidden", + "message": "Caches cannot be cleared on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/actions/change-label": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Change the label for an environment.", + "deprecated": true, + "description": "Change the label for an environment.", + "operationId": "postChangeEnvironmentLabel", + "x-cli-name": "environments:label-update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The new environment label." + } + } + }, + "example": { + "label": "New Label" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The new environment label." + } + } + }, + "example": { + "label": "New Label" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Changing label": { + "value": { + "message": "Changing environment label." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Label already used": { + "value": { + "error": "validation_failed", + "message": { + "label": "Another environment within this application already has this label." + } + } + } + } + } + } + }, + "403": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to change the label for this environment." + } + }, + "Labels can only be changed on hosted applications": { + "value": { + "error": "forbidden", + "message": "Environment labels cannot be changed on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/actions/migrate": { + "post": { + "tags": [ + "Environments", + "Migrate Accelerator" + ], + "summary": "Create a Migrate Environment using the provided environment as its source.", + "deprecated": true, + "description": "Create a Migrate Environment using the provided environment as its source.", + "operationId": "postMigrateEnvironment", + "x-cli-name": "environments:migrate", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The Migrate Environment label." + }, + "config": { + "type": "boolean", + "description": "Indicates whether or not to copy configurations." + } + } + }, + "example": { + "label": "Migrate Environment", + "config": true + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string", + "description": "The Migrate Environment label." + }, + "config": { + "type": "boolean", + "description": "Indicates whether or not to copy configurations." + } + } + }, + "example": { + "label": "Migrate Environment", + "config": true + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Creating Migrate Environment": { + "value": { + "message": "The Migrate Environment is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/migrate" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Acquia Migrate Accelerator is not available for this subscription." + } + } + }, + "Unavailable": { + "value": { + "error": "validation_failed", + "message": { + "general": "This application cannot be migrated at this time. Please try again later or contact support." + } + } + }, + "Another migrate environment exists": { + "value": { + "error": "validation_failed", + "message": { + "general": "The application can only have one Migrate Environment." + } + } + }, + "Environment cannot be migrated": { + "value": { + "error": "validation_failed", + "message": { + "general": "Source environment cannot be used for the Migrate Environment." + } + } + }, + "Label already used": { + "value": { + "error": "validation_failed", + "message": { + "label": "Another environment within this application already has this label." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to manage the Migrate Environment on this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The Migrate Environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/actions/promote": { + "post": { + "tags": [ + "Environments", + "Migrate Accelerator" + ], + "summary": "Promote a Migrate Environment.", + "deprecated": true, + "description": "Promote a Migrate Environment.", + "operationId": "postPromoteEnvironment", + "x-cli-name": "environments:promote", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "type": "string", + "description": "The UUID of the environment to promote to." + } + } + }, + "example": { + "target": "6a534a67-2d89-406d-95c8-efb515342983" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "type": "string", + "description": "The UUID of the environment to promote to." + } + } + }, + "example": { + "target": "6a534a67-2d89-406d-95c8-efb515342983" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Promoting Migrate Environment": { + "value": { + "message": "The Migrate Environment is being promoted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/promote" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Acquia Migrate Accelerator is not available for this subscription." + } + } + }, + "Unavailable": { + "value": { + "error": "validation_failed", + "message": { + "general": "This application cannot be migrated at this time. Please try again later or contact support." + } + } + }, + "Not a Migrate Environment": { + "value": { + "error": "validation_failed", + "message": { + "general": "The environment is not a Migrate Environment." + } + } + }, + "Invalid target environment": { + "value": { + "error": "validation_failed", + "message": { + "label": "The environment is not a valid target for promotion." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot manage Migrate Environment": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to manage migrate on this application." + } + }, + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to promote to the target environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Migrate Environment not found": { + "value": { + "error": "not_found", + "message": "The Migrate Environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/actions/refresh": { + "post": { + "tags": [ + "Environments", + "Migrate Accelerator" + ], + "summary": "Refreshes a Migrate Environment.", + "deprecated": true, + "description": "Refreshes a Migrate Environment.", + "operationId": "postRefreshEnvironment", + "x-cli-name": "environments:refresh", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Refreshing Migrate Environment": { + "value": { + "message": "The Migrate Environment is being refreshed.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/refresh" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Acquia Migrate Accelerator is not available for this subscription." + } + } + }, + "Unavailable": { + "value": { + "error": "validation_failed", + "message": { + "general": "This application cannot be used at this time. Please try again later or contact support." + } + } + }, + "Not a Migrate Environment": { + "value": { + "error": "validation_failed", + "message": { + "general": "The environment is not a Migrate Environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to refresh the Migrate Environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The Migrate Environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/artifacts/actions/switch": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Deploys an artifact to this environment.", + "description": "Deploys an artifact to this environment.", + "operationId": "postDeployArtifact", + "x-cli-name": "environments:artifact-deploy", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "artifact_id" + ], + "properties": { + "artifact_id": { + "type": "string", + "description": "The id of the artifact to deploy." + } + } + }, + "example": { + "artifact_id": "123" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "artifact_id" + ], + "properties": { + "artifact_id": { + "type": "string", + "description": "The id of the artifact to deploy." + } + } + }, + "example": { + "artifact_id": "123" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Deploying artifact": { + "value": { + "message": "Deploying artifact.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/artifacts/actions/switch" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5" + } + } + } + } + } + } + } + }, + "400": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only ready artifacts can be deployed": { + "value": { + "error": "validation_failed", + "message": { + "artifact_id": "Only artifacts that are in the 'ready' state can be deployed." + } + } + } + } + } + } + }, + "403": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to deploy an artifact to this environment." + } + }, + "Cannot be deployed on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Artifacts cannot be deployed on non-hosted applications." + } + }, + "Cannot be deployed on managed applications": { + "value": { + "error": "forbidden", + "message": "Artifacts cannot be deployed on Service Management-enabled applications." + } + }, + "Cannot be deployed on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Artifacts can only be deployed on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "conflict", + "message": "The artifact with ID 123 does not belong to this application and cannot be deployed." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/operating-systems": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return a list of operating systems.", + "description": "Returns a list of operating systems.", + "operationId": "getOperatingSystems", + "x-cli-name": "environments:operating-systems-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OperatingSystems" + }, + "example": { + "versions": [ + { + "name": "xenial", + "label": "Ubuntu 16.04 (Xenial Xerus)", + "version": "16.0.4", + "available": true + }, + { + "name": "focal", + "version": "20.04", + "label": "Ubuntu 20.04 (Focal Fossa)", + "available": true + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/operating-systems" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The operating systems you are trying to access do not exist, or you do not have permission to access them." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/available-runtimes": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return a list of runtimes.", + "description": "Returns a list of available runtimes.", + "operationId": "getAvailableRuntimes", + "x-cli-name": "environments:runtime-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/AvailableRuntimes" + }, + "example": { + "runtime": "php", + "versions": [ + "7.4", + "8.1" + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/available-runtimes" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Available runtimes do not exist on non-hosted applications." + } + }, + "Not found or insufficient permissions": { + "value": { + "error": "not_found", + "message": "The available runtimes you are trying to access do not exist, or you do not have permission to access them." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/cdn": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns the CDN status for an environment.", + "description": "Returns the CDN status for an environment. The CDN must be enabled for the status to be displayed.", + "operationId": "getCdnByEnvironmentId", + "x-cli-name": "environments:cdn-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Cdn" + }, + "example": { + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cdn" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "CDN not found": { + "value": { + "error": "not_found", + "message": "The CDN you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables a CDN for an environment.", + "description": "Enables a CDN for an environment.", + "operationId": "postCdnByEnvironmentId", + "x-cli-name": "environments:cdn-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Provisioning Platform CDN.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4/cdn" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/ea01b886-40bb-c028-b3de-4353e25fa462" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to enable CDN for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not supported": { + "value": { + "error": "conflict", + "message": "This environment does not support Platform CDN." + } + }, + "Already enabled": { + "value": { + "error": "conflict", + "message": "Platform CDN is already enabled for this environment." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Disables a CDN for an environment.", + "description": "Disables a CDN for an environment.", + "operationId": "deleteCdnByEnvironmentId", + "x-cli-name": "environments:cdn-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Deprovisioning Platform CDN.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4/cdn" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/ea01b886-40bb-c028-b3de-4353e25fa462" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have sufficient permission to disable CDN for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not supported": { + "value": { + "error": "conflict", + "message": "This environment does not support Platform CDN." + } + }, + "Not enabled": { + "value": { + "error": "conflict", + "message": "Platform CDN is not enabled for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/cloud-actions": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of Cloud Actions.", + "description": "Returns a list of Cloud Actions on an environment.", + "operationId": "getEnvironmentCloudActions", + "x-cli-name": "environments:cloud-actions-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CloudActions" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27" + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": "f668295f-cbba-472d-8b75-c76ab89e553a", + "label": "Backup all databases", + "description": "Backs up all environment databases", + "type": "pre-deployment", + "flags": { + "enabled": false, + "default": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/f668295f-cbba-472d-8b75-c76ab89e553a" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + } + } + }, + { + "id": "fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70", + "label": "Turn on Drupal maintenance mode", + "description": "Turns on maintenance mode on the Drupal site", + "type": "pre-deployment", + "flags": { + "enabled": false, + "default": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + } + } + }, + { + "id": "102590e4-382b-4726-8b3f-855d5ca4225d", + "label": "Clear all Drupal caches", + "description": "Clears all Drupal caches", + "type": "pre-deployment", + "flags": { + "enabled": false, + "default": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/102590e4-382b-4726-8b3f-855d5ca4225d" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage Cloud Actions on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Cloud Actions unavailable": { + "value": { + "error": "not_found", + "message": "Cloud Actions are not available for this environment." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Modifies an existing list of Cloud Actions.", + "description": "Modifies an existing list of Cloud Actions on an environment.", + "operationId": "putEnvironmentCloudActions", + "x-cli-name": "environments:cloud-actions-update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PutCloudActions" + }, + "example": { + "cloud-actions": { + "fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70": true, + "9440be70-c042-47ae-9134-e85acbbd6edf": false + } + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PutCloudActions" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D~1cloud-actions/put/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Cloud Actions have been updated.", + "notification": "42047305-e30c-4c7e-931f-5407ce55a9e9", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42047305-e30c-4c7e-931f-5407ce55a9e9" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage Cloud Actions on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/cloud-actions/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables Cloud Actions.", + "description": "Disables Cloud Actions on an environment.", + "operationId": "postEnvironmentCloudActionsDisable", + "x-cli-name": "environments:cloud-actions-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Cloud Actions have been disabled.", + "notification": "2d49d11c-f81d-46dd-89f2-fb7f2f54335f", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/2d49d11c-f81d-46dd-89f2-fb7f2f54335f" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage Cloud Actions on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/cloud-actions/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables Cloud Actions.", + "description": "Enables Cloud Actions on an environment.", + "operationId": "postEnvironmentCloudActionsEnable", + "x-cli-name": "environments:cloud-actions-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Cloud Actions have been enabled.", + "notification": "003e8200-6105-48bc-80a7-6ba378ac8e91", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions/enable" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/003e8200-6105-48bc-80a7-6ba378ac8e91" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage Cloud Actions on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/cloud-actions/actions/reset": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Resets Cloud Actions.", + "description": "Resets Cloud Actions to the default on an environment.", + "operationId": "postEnvironmentCloudActionsReset", + "x-cli-name": "environments:cloud-actions-reset", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Cloud Actions have been reset to the default.", + "notification": "e5a15d33-ee5a-4af1-bfeb-4e76b3d33b4b", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions/reset" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/e5a15d33-ee5a-4af1-bfeb-4e76b3d33b4b" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage Cloud Actions on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/code": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Deploys code to this environment.", + "description": "Deploys code to this environment.", + "operationId": "postEnvironmentsDeployCode", + "x-cli-name": "environments:code-deploy", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/DeployCodeRequest" + }, + "example": { + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851", + "message": "Optional commit message", + "cloud-actions": [] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/DeployCodeRequest" + }, + "example": { + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851", + "message": "Optional commit message", + "cloud-actions": [] + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Code being deployed": { + "value": { + "message": "Deploying code.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/code" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a49eeebb-0929-444a-972c-07b94ce93ab9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Can only be deployed to environment within same application": { + "value": { + "error": "validation_failed", + "message": { + "source": "Code can only be deployed from an environment within the same application." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to deploy code to this environment." + } + }, + "Cannot deploy code on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Code cannot be deployed on non-hosted applications." + } + }, + "Cannot deploy code on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Code cannot be deployed on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot be deployed to itself": { + "value": { + "error": "conflict", + "message": "Code cannot be deployed from an environment to itself." + } + }, + "Not allowed on a Migrate environment": { + "value": { + "error": "conflict", + "message": "Code deploy is not allowed on the Migrate Environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/code/actions/switch": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Switches code on this environment to a different branch or release tag.", + "description": "Switches code on this environment to a different branch or release tag.", + "operationId": "postEnvironmentsSwitchCode", + "x-cli-name": "environments:code-switch", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SwitchCodeRequest" + }, + "example": { + "branch": "my-feature-branch", + "cloud-actions": [] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/SwitchCodeRequest" + }, + "example": { + "branch": "my-feature-branch", + "cloud-actions": [] + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Switching code": { + "value": { + "message": "Switching code.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/861-ddccebef-eb2f-48ce-a92f-e0a16a3a0b53/code/actions/switch" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/bfd9a39b-a85e-4de3-8a70-042d1c7e607a" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Branch does not exist": { + "value": { + "error": "validation_failed", + "message": { + "branch": "The branch or tag \"my-feature-branch\" does not exist within this environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to deploy code to this environment." + } + }, + "Cannot deploy code on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Code cannot be deployed on non-hosted applications." + } + }, + "Cannot deploy code on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Code cannot be switched on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not allowed on a Migrate environment": { + "value": { + "error": "conflict", + "message": "Code switch is not allowed on the Migrate Environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/code/actions/import": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Imports a site to this environment.", + "description": "Imports a site to this environment.", + "operationId": "postEnvironmentsImportSite", + "x-cli-name": "environments:site-import", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ImportSiteRequest" + }, + "example": { + "url": "http://www.example.com/path/to/site.tar.gz", + "name": "Drupal 8" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/ImportSiteRequest" + }, + "example": { + "url": "http://www.example.com/path/to/site.tar.gz", + "name": "Drupal 8" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Site is being imported": { + "value": { + "message": "The site is being imported.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/code/actions/import" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d82a122d-b7b8-46fc-9999-39cb824fac8d" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Invalid URL": { + "value": { + "error": "validation_failed", + "message": { + "url": "Invalid URL format." + } + } + }, + "Cannot be imported on application": { + "value": { + "error": "validation_failed", + "message": { + "general": "Sites cannot be imported on this application." + } + } + }, + "File format not supported": { + "value": { + "error": "validation_failed", + "message": { + "general": "The installation file is not supported. It must be a Drush make file (.make) or a Gzip-compressed tar archive (.tar.gz or .tgz)." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to deploy code to this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "conflict", + "message": "Sites cannot be imported on this environment." + } + }, + "Not allowed on a Migrate environment": { + "value": { + "error": "conflict", + "message": "Site import is not allowed on the Migrate Environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/crons": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return environment cron jobs.", + "operationId": "getCronJobsByEnvironmentId", + "x-cli-name": "environments:cron-job-list", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Returns a list of the cron jobs on an environment.", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Crons" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "id": "e82b77cc-a9ed-4458-b12c-d87af1a795ad", + "server": { + "id": "18", + "name": "web-18" + }, + "command": "/usr/local/bin/drush cc all", + "minute": "25", + "hour": "7", + "day_month": "*", + "month": "*", + "day_week": "*", + "label": "Clear drush caches", + "flags": { + "enabled": true, + "system": false, + "on_any_web": false + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/e82b77cc-a9ed-4458-b12c-d87af1a795ad" + } + } + }, + { + "id": "8eea655e-71be-4c71-bf5b-9c5c9a5c5b43", + "server": { + "id": "6", + "name": "web-6" + }, + "command": "/usr/local/bin/drush -r /var/www/html/qa3/docroot ah-db-backup dbname", + "minute": "12", + "hour": "9", + "day_month": "*", + "month": "*", + "day_week": "*", + "label": "Run backup", + "flags": { + "enabled": false, + "system": true, + "on_any_web": false + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/8eea655e-71be-4c71-bf5b-9c5c9a5c5b43" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "Cron jobs do not exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Creates a scheduled job with cron.", + "description": "Creates a scheduled job with cron on an environment.", + "operationId": "postEnvironmentCrons", + "x-cli-name": "environments:cron-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PostCron" + }, + "example": { + "command": "/usr/local/bin/drush cc all", + "frequency": "*/30 * * * *", + "label": "My New Cron" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PostCron" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D~1crons/post/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Adding cron": { + "value": { + "message": "Creating a new cron.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/936a55fd-29eb-4317-bb6e-ad2a94b24589" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/01fde3bb-b65f-4629-b761-9072a35e8e50" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Label in use": { + "value": { + "error": "validation_failed", + "message": { + "name": "The label for the cron is already used by another cron. Please choose another label." + } + } + }, + "Invalid frequency": { + "value": { + "error": "validation_failed", + "message": { + "frequency": "The cron frequency does not appear to be valid." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to create a cron in this environment." + } + }, + "Node.js application": { + "value": { + "error": "forbidden", + "message": "Cron jobs are not available for Node.js applications." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Cron jobs cannot be created on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Cron not found": { + "value": { + "error": "not_found", + "message": "The cron does not belong to this environment, and cannot be updated." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/crons/{cronId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific cron job.", + "description": "Return details about a specific cron job by environment ID and cron job ID.", + "operationId": "getCron", + "x-cli-name": "environments:cron-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CronId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Cron" + }, + "example": { + "id": "e82b77cc-a9ed-4458-b12c-d87af1a795ad", + "server": { + "id": "18", + "name": "web-18" + }, + "command": "/usr/local/bin/drush cc all", + "minute": "25", + "hour": "7", + "day_month": "*", + "month": "*", + "day_week": "*", + "label": "Clear drush caches", + "flags": { + "enabled": true, + "system": false, + "on_any_web": true + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/e82b77cc-a9ed-4458-b12c-d87af1a795ad" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "Cron jobs do not exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Modify an existing scheduled job.", + "description": "Modify an existing scheduled job on an environment.", + "operationId": "putCron", + "x-cli-name": "environments:cron-update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CronId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PutCron" + }, + "example": { + "command": "/usr/local/bin/drush7 cc all", + "frequency": "*/5 * * * *" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PutCron" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D~1crons~1%7BcronId%7D/put/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Update cron": { + "value": { + "message": "Updating cron.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/2582" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/ba232d96-dfe7-4850-9ca7-02e01a04f58d" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify this cron." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Cron jobs are not available on non-hosted applications." + } + }, + "Node.js applications": { + "value": { + "error": "forbidden", + "message": "Cron jobs are not available for Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment mismatch": { + "value": { + "error": "not_found", + "message": "The cron does not belong to this environment, and cannot be updated." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Label in use": { + "value": { + "error": "conflict", + "message": { + "name": "The label for the cron is already used by another cron. Please choose another label." + } + } + }, + "Invalid frequency": { + "value": { + "error": "validation_failed", + "message": { + "frequency": "The cron frequency does not appear to be valid." + } + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes a cron job.", + "description": "Deletes a cron job.", + "operationId": "postEnvironmentCronDelete", + "x-cli-name": "environments:cron-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CronId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Deleting cron": { + "value": { + "message": "Deleting cron.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1891" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/767cee8d-05f6-4761-a3dc-755957dfc9e6" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this cron." + } + }, + "Non hosted application": { + "value": { + "error": "forbidden", + "message": "Cron jobs cannot be deleted on non-hosted applications." + } + }, + "Node.js application": { + "value": { + "error": "forbidden", + "message": "Cron jobs are not available for Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment mismatch": { + "value": { + "error": "not_found", + "message": "The cron does not belong to this environment, and cannot be removed." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/crons/{cronId}/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables a cron job.", + "description": "Enables a cron job.", + "operationId": "postEnvironmentCronEnable", + "x-cli-name": "environments:cron-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CronId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The cron is being enabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1889/actions/enable" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1889/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/ceda2e82-54b7-4181-ae97-6a3163b187b8" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify this cron." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Cron jobs cannot be enabled on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No cron or permission": { + "value": { + "error": "not_found", + "message": "The cron you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment mismatch": { + "value": { + "error": "not_found", + "message": "The cron does not belong to this environment, and cannot be enabled." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Action currently unavailable": { + "value": { + "error": "conflict", + "message": "The cron is already enabled. No action taken." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/crons/{cronId}/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables a cron job.", + "description": "Disables a cron job.", + "operationId": "postEnvironmentCronDisable", + "x-cli-name": "environments:cron-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CronId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The cron is being disabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/crons/1234/actions/disable" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/crons/1234/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/7b37b885-8ae4-454b-b8fa-ffaeff54f6a4" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify this cron." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "Cron jobs cannot be disabled on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No cron or permission": { + "value": { + "error": "not_found", + "message": "The cron you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment mismatch": { + "value": { + "error": "not_found", + "message": "The cron does not belong to this environment, and cannot be disabled." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Action currently unavailable": { + "value": { + "error": "conflict", + "message": "The cron is already disabled. No action taken." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of databases.", + "description": "Returns a list of databases.\n\nFilterable fields:\n* `name`\n* `id`\n\nSortable fields:\n* `name`\n* `id`\n", + "operationId": "getEnvironmentsDatabases", + "x-cli-name": "environments:database-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Databases" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "id": 14, + "name": "my_db", + "user_name": "my_db_user", + "password": "supersecretdbpassword1!", + "url": "mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db", + "db_host": "dbhost.example.com", + "ssh_host": "sshhost.example.com", + "flags": { + "default": true + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14" + } + } + }, + { + "id": 15, + "name": "my_db_stage", + "user_name": "my_db_user", + "password": "supersecretdbpassword1!", + "url": "mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db_stage", + "db_host": "dbhost.example.com", + "ssh_host": "sshhost.example.com", + "flags": { + "default": false + }, + "environment": { + "id": "25-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/25-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/15" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases do not exist on Node.js applications" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Copies a database to this environment.", + "description": "Copies a database to this environment.", + "operationId": "postEnvironmentsDatabases", + "x-cli-name": "environments:database-copy", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "name", + "source" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the database to copy to the selected environment." + }, + "source": { + "type": "string", + "description": "The ID of the environment to copy the database from.", + "minLength": 38 + } + } + }, + "example": { + "name": "db_name", + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "name", + "source" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the database to copy to the selected environment." + }, + "source": { + "type": "string", + "description": "The ID of the environment to copy the database from.", + "minLength": 38 + } + } + }, + "example": { + "name": "db_name", + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Database being copied": { + "value": { + "message": "The database is being copied", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/databases" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a49eeebb-0929-444a-972c-07b94ce93ab9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Database does not exist in environment": { + "value": { + "error": "validation_failed", + "message": { + "database": "The database does not exist in this environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to copy this database." + } + }, + "Action not available on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Databases cannot be copied on non-hosted applications." + } + }, + "Action not available on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Databases cannot be copied on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot be copied to itself": { + "value": { + "error": "conflict", + "message": "A database cannot be copied from an environment to itself." + } + }, + "Must belong to same application": { + "value": { + "error": "conflict", + "message": "The environments do not belong to the same application." + } + }, + "Cannot be copied to production": { + "value": { + "error": "conflict", + "message": "A database cannot be copied to an environment that is currently in production mode." + } + }, + "Not allowed on a Migrate environment": { + "value": { + "error": "conflict", + "message": "Database copying is not allowed on the Migrate Environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific database.", + "description": "Return details about a specific database.", + "operationId": "getEnvironmentsDatabase", + "x-cli-name": "environments:database-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Database" + }, + "example": { + "id": 14, + "name": "my_db", + "user_name": "my_db_user", + "password": "supersecretdbpassword1!", + "url": "mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db", + "db_host": "dbhost.example.com", + "ssh_host": "sshhost.example.com", + "flags": { + "default": true + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14" + }, + "backups": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14/backups" + }, + "php-config": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14/php-config" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database not found": { + "value": { + "error": "not_found", + "message": "The database you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases do not exist on Node.js applications" + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}/php-config": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns PHP configuration details for this database.", + "description": "Returns PHP configuration details for this database.", + "operationId": "getEnvironmentsDatabasePhpConfig", + "x-cli-name": "environments:database-php-config-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/DatabasePhpConfig" + }, + "example": { + "drupal": "if (file_exists('/var/www/site-php')) {\n\trequire '/var/www/site-php/sitegroup/myenv-settings.inc';\n}", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/databases/mydb/php-config" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/databases/mydb" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database not found": { + "value": { + "error": "not_found", + "message": "The database you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases do not exist on Node.js applications" + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}/backups": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of backups.", + "description": "Returns a list of backups.\n\nFilterable fields:\n* `type`\n* `created` Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date.\n\nSortable fields:\n* `type`\n* `created`\n", + "operationId": "getEnvironmentsDatabaseBackups", + "x-cli-name": "environments:database-backup-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + }, + { + "$ref": "#/components/parameters/DeprecatedFrom" + }, + { + "$ref": "#/components/parameters/DeprecatedTo" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Backups" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name" + }, + "limit": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": 1, + "database": { + "id": 14, + "name": "db_name" + }, + "type": "daily", + "started_at": "2012-05-15T12:00:00.000Z", + "completed_at": "2012-05-15T12:00:00.000Z", + "flags": { + "deleted": false + }, + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "download": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/1/actions/download" + } + } + }, + { + "id": 2, + "database": { + "id": 14, + "name": "db_name" + }, + "type": "daily", + "started_at": "2012-03-28T12:00:00.000Z", + "completed_at": "2012-03-28T12:00:01.000Z", + "flags": { + "deleted": false + }, + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "download": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/2/actions/download" + } + } + }, + { + "id": 3, + "database": { + "id": 14, + "name": "db_name" + }, + "type": "daily", + "started_at": "2017-01-08T04:00:00.000Z", + "completed_at": "2017-01-08T04:00:01.000Z", + "flags": { + "deleted": false + }, + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "download": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/3/actions/download" + } + } + }, + { + "id": 4, + "database": { + "id": 14, + "name": "db_name" + }, + "type": "daily", + "started_at": "2017-01-08T05:00:02.000Z", + "completed_at": "2017-01-08T05:00:03.000Z", + "flags": { + "deleted": false + }, + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/4" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases" + }, + "download": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/4/actions/download" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases do not exist on Node.js applications" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Create a backup.", + "description": "Create a backup.", + "operationId": "postEnvironmentsDatabaseBackups", + "x-cli-name": "environments:database-backup-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Creating backup": { + "value": { + "message": "Creating the backup.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Database does not exist in environment": { + "value": { + "error": "validation_failed", + "message": { + "database": "The database does not exist in this environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to backup this database." + } + }, + "Action not available on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Database backups are not available on non-hosted applications." + } + }, + "Action not available on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Database backups do not exist on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific backup.", + "description": "Return details about a specific backup.", + "operationId": "getEnvironmentsDatabaseBackup", + "x-cli-name": "environments:database-backup-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + }, + { + "$ref": "#/components/parameters/BackupId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Backup" + }, + "example": { + "id": 1, + "database": { + "id": 14, + "name": "db_name" + }, + "type": "daily", + "started_at": "2012-05-15T12:00:00.000Z", + "completed_at": "2012-05-15T12:00:00.000Z", + "flags": { + "deleted": false + }, + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups/1" + }, + "download": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups/1/actions/download" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups" + } + }, + "_embedded": { + "environment": { + "id": "1-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Production", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + "database": { + "id": 14, + "name": "db_name", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database backup not found": { + "value": { + "error": "not_found", + "message": "The database backup you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases backups do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases backups do not exist on Node.js applications" + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes a database backup.", + "description": "Deletes a database backup.", + "operationId": "deleteEnvironmentsDatabaseBackup", + "x-cli-name": "environments:database-backup-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + }, + { + "$ref": "#/components/parameters/BackupId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Deleting backup": { + "value": { + "message": "Deleting the database backup.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups/1" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Database does not exist in environment": { + "value": { + "error": "validation_failed", + "message": { + "backup": "The database does not exist in this environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this backup." + } + }, + "Action not available on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Database backups are not available on non-hosted applications." + } + }, + "Action not available on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Database backups do not exist on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database not found": { + "value": { + "error": "not_found", + "message": "The database you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}/actions/download": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Downloads the database backup file.", + "description": "Downloads the database backup file.", + "operationId": "getEnvironmentsDatabaseDownloadBackup", + "x-cli-name": "environments:database-backup-download", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + }, + { + "$ref": "#/components/parameters/BackupId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/FileDownload" + }, + "example": { + "url": "http://example.com/backup.gz", + "expires_at": "2020-06-16T15:15:05.000Z", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/databases/sitedatabase/backups/4423492/actions/download" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/databases/sitedatabase/backups/4423492/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/8a1c8503-0dae-4b08-a917-d2f01f4971ca" + } + } + } + }, + "text/html": { + "schema": { + "$ref": "#/components/schemas/FileDownload" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to download this backup." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database not found": { + "value": { + "error": "not_found", + "message": "The database backup you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Databases backups do not exist on non-hosted applications." + } + }, + "Do not exist on Node.js applications": { + "value": { + "error": "not_available", + "message": "Databases backups do not exist on Node.js applications" + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}/actions/restore": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Restores this backup to the appropriate environment's database.", + "description": "Restores this backup to the appropriate environment's database.", + "operationId": "postEnvironmentsDatabaseRestoreBackup", + "x-cli-name": "environments:database-backup-restore", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/DatabaseName" + }, + { + "$ref": "#/components/parameters/BackupId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Restoring backup": { + "value": { + "message": "Restoring the database backup.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/databases/test_database_1/backups/4189098/actions/restore" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/f295cd91-c3c0-422c-a1ab-e91fe972041a" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Does not belong to environment": { + "value": { + "error": "validation_error", + "message": { + "backup": "The database backup does not belong to this environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to restore a backup to this environment." + } + }, + "Action not available on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Database backups cannot be restored on non-hosted applications." + } + }, + "Action not available on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Database backups cannot be restored on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Database not found": { + "value": { + "error": "not_found", + "message": "The database you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Database not available": { + "value": { + "error": "conflict", + "message": "The database backup has not completed yet, and cannot be restored at this time." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/dns": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns DNS configuration details for an environment.", + "description": "Returns environment DNS configuration information for apex domain and subdomains.", + "operationId": "getEnvironmentsDns", + "x-cli-name": "environments:dns-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Dns" + }, + "example": { + "apex_domain": [ + { + "type": "A", + "value": "192.0.2.1" + }, + { + "type": "AAAA", + "value": "2001:0db8:1729:aa03:80b5:1c65:bea:42ff" + } + ], + "subdomains": [ + { + "type": "CNAME", + "value": "subdomain.example.com" + } + ], + "regional_configuration": { + "apex_domain": [ + { + "type": "A", + "value": "192.0.2.1" + }, + { + "type": "AAAA", + "value": "2001:0db8:1729:aa03:80b5:1c65:bea:42ff" + } + ], + "subdomains": [ + { + "type": "CNAME", + "value": "subdomain.example.com" + } + ] + }, + "global_configuration": { + "apex_domain": [ + { + "type": "A", + "value": "192.0.2.3" + }, + { + "type": "A", + "value": "192.0.2.4" + }, + { + "type": "AAAA", + "value": "2001:0db8:1730:aa03:80b5:1c65:bea:42ff" + } + ], + "subdomains": [ + { + "type": "CNAME", + "value": "subdomain.example.com" + } + ] + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/dns" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of domains.", + "description": "Returns a list of domains.\n\nFilterable fields:\n* `hostname`\n\nSortable fields:\n* `hostname`\n", + "operationId": "getEnvironmentsDomains", + "x-cli-name": "environments:domain-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Domains" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "hostname": "www.example.com", + "cdn": { + "status": "installing" + }, + "flags": { + "default": true, + "active": true, + "wildcard": false + }, + "environment": { + "id": "24-abcd1234-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/www.example.com" + }, + "status": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/www.example.com/status" + } + } + }, + { + "hostname": "other.example.com", + "cdn": null, + "flags": { + "default": false, + "active": false, + "wildcard": false + }, + "environment": { + "id": "24-abcd1234-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/other.example.com" + }, + "status": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/other.example.com/status" + }, + "dns": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/dns" + } + } + }, + { + "hostname": "*.example.com", + "cdn": { + "status": "active" + }, + "flags": { + "default": false, + "active": false, + "wildcard": true + }, + "environment": { + "id": "24-abcd1234-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/*.example.com" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Only available for hosted applications": { + "value": { + "error": "not_found", + "message": "Domain names do not exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Adds a domain to the environment.", + "description": "Adds a domain to the environment.", + "operationId": "postEnvironmentsDomains", + "x-cli-name": "environments:domain-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "hostname": { + "type": "string", + "format": "hostname", + "description": "The domain name to add.", + "minLength": 3, + "maxLength": 253 + } + } + }, + "example": { + "hostname": "example.com" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The domain name to add.", + "minLength": 3, + "maxLength": 253 + } + } + }, + "example": { + "hostname": "example.com" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Adding domain": { + "value": { + "message": "Adding domain example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/domains" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to add a domain to this environment." + } + }, + "Cannot be added with Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "Domains cannot be added on Acquia Cloud Free subscriptions." + } + }, + "Cannot be added with Acquia Cloud Site Factory": { + "value": { + "error": "forbidden", + "message": "Domains cannot be added on Acquia Cloud Site Factory applications." + } + }, + "Can only be created on hosted applications": { + "value": { + "error": "forbidden", + "message": "Domains cannot be created on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot add names to application": { + "value": { + "error": "forbidden", + "message": "You cannot add domain names on this application." + } + }, + "Domain name already used": { + "value": { + "error": "forbidden", + "message": "The domain name cannot be used, as it already exists within this application's environments." + } + }, + "Error adding domain name": { + "value": { + "error": "forbidden", + "message": "This domain cannot be added to this environment. For more details, contact Acquia Support." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains/actions/clear-varnish": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Clears the Varnish cache for one or more domains attached to this environment.", + "deprecated": true, + "description": "Clears the Varnish cache for one or more domains attached to this environment.", + "operationId": "postEnvironmentsDomainsClearVarnish", + "x-cli-name": "environments:domains-clear-varnish", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "required": [ + "domains" + ], + "properties": { + "domains": { + "type": "array", + "description": "A list of domains to clear the Varnish cache for.", + "items": { + "type": "string", + "format": "hostname" + } + } + } + }, + "example": { + "domains": [ + "domain1.example.com", + "domain2.example.com" + ] + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Clearing cache": { + "value": { + "message": "Varnish is being cleared for the selected domains.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/actions/clear-varnish" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to clear Varnish on this environment." + } + }, + "Can only be cleared on hosting applications": { + "value": { + "error": "forbidden", + "message": "Varnish cannot be cleared on non-hosted applications." + } + }, + "Cannot be cleared for Node.js applications": { + "value": { + "error": "forbidden", + "message": "Varnish cannot be cleared on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains/{domain}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific domain.", + "description": "Return details about a specific domain.", + "operationId": "getEnvironmentsDomain", + "x-cli-name": "environments:domain-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Domain" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Domain" + }, + "example": { + "hostname": "example.com", + "cdn": { + "status": "active" + }, + "flags": { + "default": false, + "active": true, + "wildcard": false + }, + "environment": { + "id": "24-47c9ae06-2a57-11e9-b210-d663bd873d93", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains/example.com" + }, + "status": { + "href": "https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains/example.com/status" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Only exist on hosted applications": { + "value": { + "error": "not_found", + "message": "Domain names do not exist on non-hosted applications." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Removes the domain from this environment.", + "description": "Removes the domain from this environment.", + "operationId": "deleteEnvironmentsDomain", + "x-cli-name": "environments:domain-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Domain" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Deleting domain": { + "value": { + "message": "Removing the domain example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/domains/example.com" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/67b7f08f-2dff-4c86-a8a0-35c4196880a3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/domains" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove domains on this environment." + } + }, + "Cannot be removed with Acquia Cloud Site Factory": { + "value": { + "error": "forbidden", + "message": "Domains cannot be removed on Acquia Cloud Site Factory applications." + } + }, + "Can only be removed on hosted applications": { + "value": { + "error": "forbidden", + "message": "Domains cannot be removed on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Domain not found": { + "value": { + "error": "not_found", + "message": "The domain you are trying to delete does not exist, or you do not have permission to modify it." + } + }, + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains/{domain}/actions/clear-varnish": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Clears the Varnish cache for the specified domain.", + "deprecated": true, + "description": "Clears the Varnish cache for the specified domain.", + "operationId": "postEnvironmentsDomainClearVarnish", + "x-cli-name": "environments:domain-clear-varnish", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Domain" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Clearing cache": { + "value": { + "message": "Varnish is being cleared for domain 'example.com'.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/example.com/actions/clear-varnish" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to clear Varnish on this environment." + } + }, + "Can only be cleared on hosting applications": { + "value": { + "error": "forbidden", + "message": "Varnish cannot be cleared on non-hosted applications." + } + }, + "Cannot be cleared for Node.js applications": { + "value": { + "error": "forbidden", + "message": "Varnish cannot be cleared on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains/{domain}/actions/clear-caches": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Clears the caches for the specified domain.", + "description": "Clear caches for Varnish and Platform CDN (if Platform CDN is enabled).", + "operationId": "postEnvironmentsDomainClearCaches", + "x-cli-name": "environments:domain-clear-caches", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Domain" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Clearing cache": { + "value": { + "message": "Caches are being cleared.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/example.com/actions/clear-caches" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to clear caches on this environment." + } + }, + "Can only be cleared on hosting applications": { + "value": { + "error": "forbidden", + "message": "Caches cannot be cleared on non-hosted applications." + } + }, + "Cannot be cleared for Node.js applications": { + "value": { + "error": "forbidden", + "message": "Caches cannot be cleared on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/domains/{domain}/status": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns details about the domain.", + "description": "Returns details about the domain.", + "operationId": "getEnvironmentsDomainStatus", + "x-cli-name": "environments:domain-status-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Domain" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/DomainStatus" + }, + "example": { + "hostname": "example.com", + "flags": { + "default": false, + "active": true, + "dns_resolves": true, + "acquia_hosted": true + }, + "ip_addresses": [ + "12.23.34.45" + ], + "cnames": [ + "another.example.com" + ], + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains/example.com/status" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains/example.com" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Unable to determine status": { + "value": { + "error": "not_found", + "message": "Unable to determine status for this domain." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/eips": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return a list of Web EIPs.", + "description": "Returns a list of Web EIPs.", + "operationId": "getEIPs", + "x-cli-name": "environments:eips-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EIPs" + }, + "example": { + "total": 1, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/eips" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "id": "f668295f-cbba-472d-8b75-c76ab89e553a", + "status": "created", + "ipv4": "203.0.113.1", + "ipv6": "0:0:0:0:0:ffff:cb00:7101", + "flags": { + "active": true, + "legacy": false, + "deprecated": false + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/email": { + "get": { + "tags": [ + "Email" + ], + "summary": "Returns the status of Platform Email for an Environment.", + "description": "Returns the status of Platform Email for an Environment.", + "operationId": "getEmailStatus", + "x-cli-name": "environments:email-status", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Email" + }, + "example": { + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/email" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/email/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables email for an environment.", + "description": "Disables email for an environment.", + "deprecated": true, + "operationId": "postEnvironmentEmailDisable", + "x-cli-name": "environments:email-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Platform Email is being disabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions/disable" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disable email for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment mismatch": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have access to it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Not a legacy entitlement": { + "value": { + "error": "invalid_operation", + "message": "Platform Email cannot be disabled for this subscription." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/email/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables email for an environment.", + "description": "Enables email for an environment.", + "deprecated": true, + "operationId": "postEnvironmentEmailEnable", + "x-cli-name": "environments:email-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Platform Email is being enabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions/enable" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/actions/email" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable email for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have access to it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No Entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Already enabled": { + "value": { + "error": "conflict", + "message": "Platform Email is already enabled on this environment." + } + }, + "No Associated domains": { + "value": { + "error": "conflict", + "message": "There are no associated domains for this environment's application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/files": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Copies files to this environment.", + "description": "Copies files to this environment.", + "operationId": "postEnvironmentsFiles", + "x-cli-name": "environments:file-copy", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The ID of the environment to copy files from." + } + } + }, + "example": { + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The ID of the environment to copy files from." + } + } + }, + "example": { + "source": "14-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Files queued for copying": { + "value": { + "message": "Copying files.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/files" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d53fccec-5c1b-4ad4-b431-5cd39ad2b453" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/files" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Must be within same application": { + "value": { + "error": "validation_failed", + "message": { + "name": "Files can only be copied from an environment within the same application." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to copy files to this environment." + } + }, + "Cannot be copied on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "Files cannot be copied on non-hosted applications." + } + }, + "Cannot be copied on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Files cannot be copied on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot be copied to itself": { + "value": { + "error": "conflict", + "message": "Files cannot be copied from an environment to itself." + } + }, + "Cannot be copied to production": { + "value": { + "error": "conflict", + "message": "Files cannot be copied to an environment that is currently in production mode." + } + }, + "Not allowed on a Migrate environment": { + "value": { + "error": "conflict", + "message": "File copying is not allowed on the Migrate Environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/logs": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of log files for this environment available for download.", + "description": "Returns a list of log files for this environment available for download.", + "operationId": "getEnvironmentsLogs", + "x-cli-name": "environments:log-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Logs" + }, + "example": { + "total": 6, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + }, + "_embedded": { + "items": [ + { + "type": "apache-access", + "label": "Apache access", + "flags": { + "available": false + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/apache-access" + } + } + }, + { + "type": "apache-error", + "label": "Apache error", + "flags": { + "available": false + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/apache-error" + } + } + }, + { + "type": "drupal-request", + "label": "Drupal request", + "flags": { + "available": false + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/drupal-request" + } + } + }, + { + "type": "drupal-watchdog", + "label": "Drupal watchdog", + "flags": { + "available": false + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/drupal-watchdog" + } + } + }, + { + "type": "php-error", + "label": "PHP error", + "flags": { + "available": false + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/php-error" + } + } + }, + { + "type": "mysql-slow-query", + "label": "MySQL slow query", + "flags": { + "available": true + }, + "_links": { + "download": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/mysql-slow-query" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Logs cannot be accessed on non-hosted environments." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/logs/{logType}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Downloads the log file.", + "description": "Downloads the log file.", + "operationId": "getEnvironmentsLog", + "x-cli-name": "environments:log-download", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogType" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/FileDownload" + }, + "examples": { + "File download": { + "value": { + "url": "http://appsiteenv.host.site-example.com/AH_DOWNLOAD?d=/mnt/gfs/appsiteenv/logs/log_type_log_appsiteenv_1574901901.sql&t=157492&env=fecac803549db0072661378f0f", + "expires_at": "2019-11-30T23:21:02.000Z" + } + } + } + }, + "text/html": { + "schema": { + "$ref": "#/components/schemas/FileDownload" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to download logs for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Cannot be downloaded on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Logs cannot be downloaded on non-hosted environments." + } + }, + "Does not exist": { + "value": { + "error": "not_found", + "message": "The file you are trying to access does not exist." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Creates a log file snapshot.", + "description": "Creates a log file snapshot.", + "operationId": "postEnvironmentsLog", + "x-cli-name": "environments:log-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogType" + } + ], + "requestBody": { + "required": false, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "from": { + "type": "string", + "description": "An ISO-8601 formatted date retrieve results from. Date ranges are only supported on Acquia Cloud Next." + }, + "to": { + "type": "string", + "description": "An ISO-8601 formatted date retrieve results to. Date ranges are only supported on Acquia Cloud Next." + } + } + }, + "example": { + "from": "2021-01-28T22:45:21.000Z", + "to": "2021-01-29T23:55:21.000Z" + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Is being created": { + "value": { + "message": "The log file is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/logs/apache-access" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/logs" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/8b790313-8830-4810-baef-3b41b3786e9d" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid range": { + "value": { + "error": "validation_failed", + "message": { + "general": "Log snapshots must cover no more than 24 hours and can only be retrieved up to 30 days in the past." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to download logs for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Cannot be accessed on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Logs cannot be accessed on non-hosted environments." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Date range not supported": { + "value": { + "error": "conflict", + "message": "Date ranges for log file snapshots are not supported on this environment." + } + }, + "Log snapshot not supported": { + "value": { + "error": "conflict", + "message": "Log snapshots are not supported on this environment." + } + }, + "Log type not supported": { + "value": { + "error": "conflict", + "message": "Log file snapshot for mysql-slow-query is not available on this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/logstream": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a logstream url and metadata.", + "description": "Returns a logstream url and metadata.", + "operationId": "getEnvironmentsLogstream", + "x-cli-name": "environments:logstream-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Logstream" + }, + "example": { + "logstream": { + "url": "wss://logstream.example.com/ah_websocket/logstream/v1", + "params": { + "t": 1516990002, + "hmac": "d8b940bb5a1865e57b22734d541ed981c89f952e527b0a983d0e457437a43c23", + "environment": "prod", + "site": "clouduidev:qa4" + }, + "commands": [ + "stream-environment", + "enable", + "disable" + ] + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logstream" + }, + "wss": { + "href": "wss://logstream.example.com/ah_websocket/logstream/v1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Do not exist on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Logs cannot be accessed on non-hosted environments." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/livedev/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disable Live Development on this environment.", + "description": "Disable Live Development on this environment.", + "deprecated": true, + "operationId": "postEnvironmentsDisableLiveDev", + "x-cli-name": "environments:livedev-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "discard": { + "type": "integer", + "description": "Indicates whether uncommitted changes should be discarded or not.", + "minimum": 0, + "maximum": 1 + } + } + }, + "example": { + "discard": 1 + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "discard": { + "type": "integer", + "description": "Indicates whether uncommitted changes should be discarded or not.", + "minimum": 0, + "maximum": 1 + } + } + }, + "example": { + "discard": 1 + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Disabling LiveDev": { + "value": { + "message": "Disabling LiveDev." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "LiveDev cannot be disabled on production": { + "value": { + "error": "validation_failed", + "message": { + "livedev": "LiveDev cannot be disabled on a production environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disable LiveDev for this environment." + } + }, + "Only available on hosted applications": { + "value": { + "error": "forbidden", + "message": "LiveDev is not available on non-hosted applications." + } + }, + "LiveDev is not available on managed applications": { + "value": { + "error": "forbidden", + "message": "LiveDev is not available for Service Management-enabled applications." + } + }, + "LiveDev is not available on Node.js applications": { + "value": { + "error": "forbidden", + "message": "LiveDev is not available on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "LiveDev already disabled": { + "value": { + "error": "validation_failed", + "message": "LiveDev is already disabled on this environment." + } + }, + "Cannot be enabled or disabled on production": { + "value": { + "error": "validation_failed", + "message": "LiveDev cannot be disabled or enabled on a production environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/livedev/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enable Live Development on this environment.", + "description": "Enable Live Development on this environment. Not supported on Acquia Cloud Next.", + "deprecated": true, + "operationId": "postEnvironmentsEnableLiveDev", + "x-cli-name": "environments:livedev-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Enabling LiveDev": { + "value": { + "message": "Enabling LiveDev.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/livedev/actions/enable" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Cannot be enabled on production": { + "value": { + "error": "validation_failed", + "message": { + "livedev": "LiveDev cannot be enabled on a production environment." + } + } + }, + "Cannot be enabled on CDE": { + "value": { + "error": "validation_failed", + "message": { + "livedev": "LiveDev cannot be enabled on a CD environment." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable LiveDev for this environment." + } + }, + "Only available on hosted applications": { + "value": { + "error": "forbidden", + "message": "LiveDev cannot be enabled on non-hosted applications." + } + }, + "Cannot cannot be enabled on managed applications": { + "value": { + "error": "forbidden", + "message": "LiveDev cannot be enabled for Service Management-enabled applications." + } + }, + "Cannot cannot be enabled on Node.js applications": { + "value": { + "error": "forbidden", + "message": "LiveDev cannot be enabled on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "LiveDev already enabled": { + "value": { + "error": "validation_failed", + "message": "LiveDev is already enabled on this environment." + } + }, + "LiveDev not supported": { + "value": { + "error": "conflict", + "message": "LiveDev is not available for Cloud Next environments." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/log-forwarding-destinations": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a collection of log forwarding destinations for this environment.", + "description": "Returns a collection of log forwarding destinations for this environment.\n\nFilterable fields:\n* `label`\n* `consumer`\n\nSortable fields:\n* `label`\n", + "operationId": "getEnvironmentsLogForwardingDestinations", + "x-cli-name": "environments:log-forwarding-destination-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/LogForwardingDestinations" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/log-forwarding-destinations" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a" + } + }, + "_embedded": { + "items": [ + { + "uuid": "df4c5428-8d2e-453d-9edf-e412647449b1", + "label": "Test destination", + "consumer": "sumologic", + "address": "example.com:1234", + "credentials": { + "certificate": { + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "expires_at": "2018-07-16T16:15:33.000Z" + }, + "key": null, + "token": "204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5" + }, + "sources": [ + "apache-access", + "apache-error" + ], + "status": "active", + "flags": { + "enabled": true, + "certificate_expiring": false + }, + "health": { + "code": "200", + "details": "Destination OK", + "summary": "OK" + }, + "environment": { + "id": "123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577", + "name": "Test" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + } + } + }, + { + "uuid": "df4c5428-8d2e-453d-9edf-e412647449b5", + "label": "Another test destination", + "consumer": "syslog", + "address": "193.169.2.19:5678", + "credentials": { + "certificate": { + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "expires_at": "2018-07-16T16:15:33.000Z" + }, + "key": "1d0789d519c0b943cf38f401d30ffbdcd2e0c4cfb7c32ebc0c872bce62aadd4d", + "token": "204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5" + }, + "sources": [ + "drupal-request", + "drupal-watchdog" + ], + "status": "active", + "flags": { + "enabled": false, + "certificate_expiring": true + }, + "health": { + "code": "200", + "details": "Destination OK", + "summary": "OK" + }, + "environment": { + "id": "123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577", + "name": "Test" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b5" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view the log forwarding destinations for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Creates a log forwarding destination.", + "description": "Creates a log forwarding destination.", + "operationId": "postEnvironmentsLogForwardingDestinations", + "x-cli-name": "environments:log-forwarding-destination-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "label", + "sources", + "consumer", + "credentials" + ], + "properties": { + "label": { + "type": "string", + "description": "The human-friendly identifier of the destination." + }, + "sources": { + "type": "array", + "description": "The list of log sources to forward.", + "items": { + "type": "string", + "enum": [ + "apache-access", + "apache-error", + "varnish-access", + "drupal-request", + "drupal-watchdog", + "php-error", + "stdout", + "stderr" + ] + } + }, + "consumer": { + "type": "string", + "description": "The application or provider consuming the logs.", + "enum": [ + "loggly", + "splunk", + "sumologic", + "syslog" + ] + }, + "credentials": { + "type": "object", + "description": "Credential information.", + "required": [ + "certificate" + ], + "properties": { + "certificate": { + "type": "string", + "description": "A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly." + }, + "key": { + "type": "string", + "description": "A certificate private key associated with the consumer. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly" + }, + "token": { + "type": "string", + "description": "An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk." + } + } + }, + "address": { + "type": "string", + "format": "uri", + "description": "The URL or host name and port of the destination." + } + } + }, + "example": { + "label": "Test destination", + "sources": [ + "apache-access", + "apache-error" + ], + "consumer": "syslog", + "credentials": { + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" + }, + "address": "example.com:1234" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Log forwarding destination for the environment has been created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/log-forwarding-destinations/95739829-0093-4673-9ee0-5f5bdac04d11" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/log-forwarding-destinations" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/bc17cfd2-487b-4e10-b3cf-9fe1f0c10e3f" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Log Forwarding not enabled": { + "value": { + "error": "validation_failed", + "message": { + "general": "Destinations can only be added to environments that have log forwarding enabled." + } + } + }, + "At Log Forwarding destination maximum": { + "value": { + "error": "validation_failed", + "message": { + "general": "Environments may only have 2 log forwarding destinations." + } + } + }, + "Source not supported": { + "value": { + "error": "validation_failed", + "message": { + "sources": "\\\"invalid-source\\\" is not a supported source." + } + } + }, + "Consumer not supported": { + "value": { + "error": "validation_failed", + "message": { + "consumer": "\\\"invalid-consumer\\\" is not a supported consumer." + } + } + }, + "Certificate invalid": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is invalid." + } + } + }, + "Certificate not yet active": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is not yet active." + } + } + }, + "Certificate expired": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expired." + } + } + }, + "Certificate expiring": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expiring. Certificates must be valid for at least 30 days." + } + } + }, + "Loggly does not support certificate auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Loggly does not support certificate authentication." + } + } + }, + "Loggly requires API token": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "An API token is required for Loggly." + } + } + }, + "Splunk requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Splunk." + } + } + }, + "Splunk does not support token auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Splunk does not support API token authentication." + } + } + }, + "Sumologic requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Sumologic." + } + } + }, + "Sumologic requires token": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "An API token is required for Sumologic." + } + } + }, + "Syslog requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Syslog." + } + } + }, + "Loggly does not support private key auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Loggly does not support private key authentication." + } + } + }, + "Address invalid": { + "value": { + "error": "validation_failed", + "message": { + "address": "\\\"invalid-address\\\" is not a valid address." + } + } + }, + "Loggly does not support custom URLs": { + "value": { + "error": "validation_failed", + "message": { + "address": "Loggly does not support custom URLs." + } + } + }, + "Splunk only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Splunk only accepts socket addresses, consisting of a host and port." + } + } + }, + "Sumologic only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Sumologic only accepts socket addresses, consisting of a host and port." + } + } + }, + "Syslog only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Syslog only accepts socket addresses, consisting of a host and port." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to create a log forwarding destinations for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns the specified log forwarding destination.", + "description": "Returns the specified log forwarding destination.", + "operationId": "getEnvironmentsLogForwardingDestination", + "x-cli-name": "environments:log-forwarding-destination-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogForwardingDestinationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/LogForwardingDestination" + }, + "example": { + "uuid": "df4c5428-8d2e-453d-9edf-e412647449b1", + "label": "Test destination", + "address": "example.com:1234", + "consumer": "syslog", + "credentials": { + "certificate": { + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "expires_at": "2018-07-16T16:15:33.000Z" + }, + "key": "1d0789d519c0b943cf38f401d30ffbdcd2e0c4cfb7c32ebc0c872bce62aadd4d", + "token": "204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5" + }, + "sources": [ + "apache-access", + "apache-error" + ], + "status": "active", + "flags": { + "enabled": true, + "certificate_expiring": false + }, + "health": { + "code": "200", + "details": "Destination OK", + "summary": "OK" + }, + "environment": { + "id": "123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577", + "name": "Test" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view the log forwarding destination." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Log Forwarding destination not found": { + "value": { + "error": "not_found", + "message": "The log forwarding destination you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Updates an environment's log forwarding destination.", + "description": "Updates an environment's log forwarding destination.", + "operationId": "putEnvironmentsLogForwardingDestination", + "x-cli-name": "environments:log-forwarding-destination-update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogForwardingDestinationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "consumer" + ], + "properties": { + "label": { + "type": "string", + "description": "The human-friendly identifier of the destination." + }, + "sources": { + "type": "array", + "description": "The list of log sources to forward.", + "items": { + "type": "string", + "enum": [ + "apache-access", + "apache-error", + "varnish-access", + "drupal-request", + "drupal-watchdog", + "php-error", + "stdout", + "stderr" + ] + } + }, + "consumer": { + "type": "string", + "description": "The application or provider consuming the logs.", + "enum": [ + "loggly", + "splunk", + "sumologic", + "syslog" + ] + }, + "credentials": { + "type": "object", + "description": "Credential information.", + "required": [ + "certificate" + ], + "properties": { + "certificate": { + "type": "string", + "description": "A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly." + }, + "key": { + "type": "string", + "description": "A certificate private key associated with the consumer. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly" + }, + "token": { + "type": "string", + "description": "An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk." + } + } + }, + "address": { + "type": "string", + "format": "uri", + "description": "The URL or host name and port of the destination." + } + } + }, + "example": { + "label": "Test destination", + "sources": [ + "apache-access", + "apache-error" + ], + "consumer": "syslog", + "credentials": { + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" + }, + "address": "example.com:1234" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Log forwarding destination has been updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/cf4c5328-8d2e-353d-9edf-e412647349b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/340bf831-5377-49b9-7b26-87014b653346" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Log Forwarding not enabled": { + "value": { + "error": "validation_failed", + "message": { + "general": "Destinations can only be modified to environments that have log forwarding enabled." + } + } + }, + "At Log Forwarding destination maximum": { + "value": { + "error": "validation_failed", + "message": { + "general": "Environments may only have 2 log forwarding destinations." + } + } + }, + "Source not supported": { + "value": { + "error": "validation_failed", + "message": { + "sources": "\\\"invalid-source\\\" is not a supported source." + } + } + }, + "Consumer not supported": { + "value": { + "error": "validation_failed", + "message": { + "consumer": "\\\"invalid-consumer\\\" is not a supported consumer." + } + } + }, + "Certificate invalid": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is invalid." + } + } + }, + "Certificate not yet active": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is not yet active." + } + } + }, + "Certificate expired": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expired." + } + } + }, + "Certificate expiring": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expiring. Certificates must be valid for at least 30 days." + } + } + }, + "Loggly does not support certificate auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Loggly does not support certificate authentication." + } + } + }, + "Loggly requires API token": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "An API token is required for Loggly." + } + } + }, + "Splunk requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Splunk." + } + } + }, + "Splunk does not support token auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Splunk does not support API token authentication." + } + } + }, + "Sumologic requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Sumologic." + } + } + }, + "Sumologic requires token": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "An API token is required for Sumologic." + } + } + }, + "Syslog requires public certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "A public X.509 certificate is required for Syslog." + } + } + }, + "Loggly does not support private key auth": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "Loggly does not support private key authentication." + } + } + }, + "Address invalid": { + "value": { + "error": "validation_failed", + "message": { + "address": "\\\"invalid-address\\\" is not a valid address." + } + } + }, + "Loggly does not support custom URLs": { + "value": { + "error": "validation_failed", + "message": { + "address": "Loggly does not support custom URLs." + } + } + }, + "Splunk only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Splunk only accepts socket addresses, consisting of a host and port." + } + } + }, + "Sumologic only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Sumologic only accepts socket addresses, consisting of a host and port." + } + } + }, + "Syslog only accepts socket addresses": { + "value": { + "error": "validation_failed", + "message": { + "address": "Syslog only accepts socket addresses, consisting of a host and port." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify the log forwarding destination." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Log Forwarding destination not found on Environment": { + "value": { + "error": "invalid_operation", + "message": "The environment does not have a log forwarding destination with the UUID 2c15b578-d31a-48ac-ab28-a8ef4c65f02b." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes the specified log forwarding destination.", + "description": "Deletes the specified log forwarding destination.", + "operationId": "deleteEnvironmentsLogForwardingDestination", + "x-cli-name": "environments:log-forwarding-destination-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogForwardingDestinationUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Log forwarding destination has been deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/dfe6afd7-3619-4ab7-8aef-ab26fb506b3a" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Log Forwarding not enabled": { + "value": { + "error": "invalid_operation", + "message": { + "general": "Destinations can only be removed from environments that have log forwarding enabled." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete the log forwarding destination." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Log Forwarding destination not found on Environment": { + "value": { + "error": "invalid_operation", + "message": "The environment does not have a log forwarding destination with the UUID 2c15b578-d31a-48ac-ab28-a8ef4c65f02b." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables the specified log forwarding destination.", + "description": "Disables the specified log forwarding destination.", + "operationId": "postEnvironmentsDisableLogForwardingDestination", + "x-cli-name": "environments:log-forwarding-destination-disable", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogForwardingDestinationUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Log forwarding destination has been disabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d1e9dde1-7a60-4f39-951f-295ee7fe343f" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Log Forwarding not enabled": { + "value": { + "error": "invalid_operation", + "message": { + "general": "Destinations can only be disabled on environments that have log forwarding enabled." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disable this log forwarding destination." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Log Forwarding destination already disabled": { + "value": { + "error": "invalid_operation", + "message": "The destination is already disabled." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables the specified log forwarding destination.", + "description": "Enables the specified log forwarding destination.", + "operationId": "postEnvironmentsEnableLogForwardingDestination", + "x-cli-name": "environments:log-forwarding-destination-enable", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/LogForwardingDestinationUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Log forwarding destination has been enabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/63a804eb-ad38-4f66-9644-725f0c04e87c" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Log Forwarding not enabled": { + "value": { + "error": "invalid_operation", + "message": { + "general": "Destinations can only be enabled on environments that have log forwarding enabled." + } + } + }, + "Certificate invalid": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is invalid." + } + } + }, + "Certificate not yet active": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is not yet active." + } + } + }, + "Certificate expired": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expired." + } + } + }, + "Certificate expiring": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expiring. Certificates must be valid for at least 30 days." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable this log forwarding destination." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Log Forwarding destination not found on Environment": { + "value": { + "error": "invalid_operation", + "message": "The destination is already enabled." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Does not return any data. Allows traversal to metrics groups endpoints.", + "description": "Does not return any data. Allows traversal to metrics groups endpoints.", + "operationId": "getEnvironmentsMetrics", + "x-cli-name": "environments:metrics", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Metrics" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics" + }, + "stackmetrics": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "Metrics are not available to Acquia Cloud Free subscriptions." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics/stackmetrics": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Does not return any data. Allows traversal to StackMetrics endpoints.", + "description": "Does not return any data. Allows traversal to StackMetrics endpoints.", + "operationId": "getEnvironmentsStackMetrics", + "x-cli-name": "environments:stack-metrics-data-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Metrics" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics" + }, + "data": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics/data" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "Metrics are not available to Acquia Cloud Free subscriptions." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics/stackmetrics/data": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns StackMetrics data for the metrics specified in the filter paramater (e.g., apache-access, web-cpu).", + "description": "Returns StackMetrics data for the metrics specified by the filter paramater (e.g., apache-access, web-cpu).", + "operationId": "getEnvironmentsStackMetricsData", + "x-cli-name": "environments:stack-metrics-data-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/FilterStackMetrics" + }, + { + "$ref": "#/components/parameters/FromStackMetrics" + }, + { + "$ref": "#/components/parameters/ToNoDefault" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/StackMetricsData" + }, + "example": { + "total": 4, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/metrics/stackmetrics/data?filter=metric=db-cpu,metric=web-cpu&from=2019-06-20" + } + }, + "_embedded": { + "items": [ + { + "metric": "db-cpu", + "datapoints": [ + [ + "2.5395360194838", + "1447876380" + ], + [ + "3.3012513318685", + "1447876680" + ], + [ + "4.568567607842", + "1447876980" + ] + ], + "last_data_at": "2019-06-19T00:00:00.000Z", + "metadata": { + "host": "fsdb-1.prod.hosting.acquia.com" + } + }, + { + "metric": "db-cpu", + "datapoints": [ + [ + "22.1395360194838", + "1447876380" + ], + [ + "23.7012513318685", + "1447876680" + ], + [ + "24.168567607842", + "1447876980" + ] + ], + "last_data_at": "2019-06-19T00:00:00.000Z", + "metadata": { + "host": "fsdb-2.prod.hosting.acquia.com" + } + }, + { + "metric": "web-cpu", + "datapoints": [ + [ + "12.1395360194838", + "1447876380" + ], + [ + "12.7012513318685", + "1447876680" + ], + [ + "12.168567607842", + "1447876980" + ] + ], + "last_data_at": "2019-06-19T00:00:00.000Z", + "metadata": { + "host": "web-1.prod.hosting.acquia.com" + } + }, + { + "metric": "web-cpu", + "datapoints": [ + [ + "2.1395360194838", + "1447876380" + ], + [ + "2.7012513318685", + "1447876680" + ], + [ + "2.168567607842", + "1447876980" + ] + ], + "last_data_at": "2019-06-19T00:00:00.000Z", + "metadata": { + "host": "web-2.prod.hosting.acquia.com" + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "Metrics are not available to Acquia Cloud Free subscriptions." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics/usage": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Retrieves traversal links for an environment's usage data.", + "description": "Retrieves traversal links for an environment's usage data.", + "operationId": "getEnvironmentsUsageLinks", + "x-cli-name": "environments:usage-links", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Usage" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics" + }, + "data": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data" + }, + "views": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "visits": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics/usage/data": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Retrieves usage data for an environment.", + "description": "Filterable fields:\n* `metric` - One of: {`views`, `visits`}\n", + "operationId": "getEnvironmentsUsageData", + "x-cli-name": "environments:usage-data", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentUsageMetrics" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/metrics/usage/{usageMetric}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Retrieves usage metric data for an environment.", + "description": "Retrieves usage metric data for an environment.", + "operationId": "getEnvironmentsUsageMetricData", + "x-cli-name": "environments:usage-metric-data", + "parameters": [ + { + "$ref": "#/components/parameters/UsageMetric" + }, + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentUsageMetric" + }, + "example": { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view pricing metric data." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Data not found": { + "value": { + "error": "not_found", + "message": "Pricing metric data for the environment with ID @id cannot be found, or you do not have access to it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/mod-proxy": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns the mod proxy status for an Environment.", + "description": "Returns the mod proxy status for an Environment.", + "operationId": "getModProxyStatus", + "x-cli-name": "environments:mod-proxy-status", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ModProxy" + }, + "example": { + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-eba23ecc-aa7c-41b0-8aa4-9d7ef250357d/mod-proxy" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-eba23ecc-aa7c-41b0-8aa4-9d7ef250357d" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Not available", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "conflict", + "message": "Mod proxy configuration is not available for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/mod-proxy/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables mod proxy for an environment.", + "description": "Disables mod proxy for an environment.", + "operationId": "postDisableModProxy", + "x-cli-name": "environments:mod-proxy-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-5ee5d7be-ec42-4ea3-9d98-1363dcfacfd23/mod-proxy/actions/disable" + } + }, + "message": "Mod proxy is being disabled." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disable mod proxy for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Not available", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "conflict", + "message": "Mod proxy configuration is not available for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/mod-proxy/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables mod proxy for an environment.", + "description": "Enables mod proxy for an environment.", + "operationId": "postEnableModProxy", + "x-cli-name": "environments:mod-proxy-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-5ee5d7be-ec42-4ea3-9d98-1363dcfacfd23/mod-proxy/actions/enable" + } + }, + "message": "Mod proxy is being enabled." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable mod proxy for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Not available", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "conflict", + "message": "Mod proxy configuration is not available for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/production-mode/actions/disable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Disables production mode for an environment.", + "description": "Removes protection from a production environment, taking it out of production mode.", + "operationId": "postEnvironmentsDisableProductionMode", + "x-cli-name": "environments:production-mode-disable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Production mode disabled": { + "value": { + "message": "Production mode has been disabled for this environment." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only production can be unprotected": { + "value": { + "error": "validation_failed", + "message": { + "productionmode": "Only production environments can be unprotected." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to disable Production mode for this environment." + } + }, + "Only available on hosted applications": { + "value": { + "error": "forbidden", + "message": "Production mode is not available on non-hosted applications." + } + }, + "Cannot cannot be disabled on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Production mode is not available on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not in production mode": { + "value": { + "error": "conflict", + "message": "This environment is not currently in production mode." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/production-mode/actions/enable": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Enables production mode for an environment.", + "description": "Enables production mode for an environment. While production mode is enabled, files and databases cannot be copied to the production environment.", + "operationId": "postEnvironmentsEnableProductionMode", + "x-cli-name": "environments:production-mode-enable", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Production mode enabled": { + "value": { + "message": "Production mode has been enabled for this environment." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only production can be protected": { + "value": { + "error": "validation_failed", + "message": { + "productionmode": "Only production environments can be protected." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable Production mode for this environment." + } + }, + "Only available on hosted applications": { + "value": { + "error": "forbidden", + "message": "Production mode is not available on non-hosted applications." + } + }, + "Cannot cannot be enabled on Node.js applications": { + "value": { + "error": "forbidden", + "message": "Production mode cannot be enabled on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already in production mode": { + "value": { + "error": "conflict", + "message": "This environment is already in production mode." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/search": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a traversal endpoint for search entities for the environment.", + "description": "Does not return any data. Allows traversal to search entity endpoints.", + "operationId": "getEnvironmentSearchList", + "x-cli-name": "environments:search:list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Search" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905" + }, + "indexes": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Forbidden": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage search for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/search/indexes": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a collection of search indexes for an environment.", + "description": "A collection of search indexes for an environment.", + "operationId": "getEnvironmentSearchIndexes", + "x-cli-name": "environments:search:indexes-list", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Indexes" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 0, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search" + }, + "limit": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": "ABCDE-1234.test.example", + "environment_id": "123-3f6d06a9-9236-411e-9dcc-44f0003a5905", + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "database_role": "example", + "status": "active", + "solr_version": "7", + "url": "https://example.com/solr/ABCDE-1234.test.example/", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes" + } + }, + "_embedded": { + "configuration_set": { + "id": "shared-1234567891011-121", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-0", + "flags": { + "custom": false + }, + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + } + } + } + } + }, + { + "id": "ABCDE-1235.test.example", + "environment_id": "123-3f6d06a9-9236-411e-9dcc-44f0003a5905", + "config_set_id": "ABCD5-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "database_role": "example", + "status": "active", + "solr_version": "7", + "url": "https://example.com/solr/ABCDE-1235.test.example/", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1235.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes" + } + }, + "_embedded": { + "configuration_set": { + "id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-1", + "flags": { + "custom": true + }, + "status": "pending", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + } + } + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to view the search indexes on this environment." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Creates a search index for an environment.", + "description": "Creates a search index for an environment.", + "operationId": "postEnvironmentSearchIndexes", + "x-cli-name": "environments:search:index-create", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "database_role" + ], + "properties": { + "config_set_id": { + "type": "string", + "description": "A configuration set ID to assign to the index." + }, + "database_role": { + "type": "string", + "description": "The database role for the search index." + } + } + }, + "example": { + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "database_role": "example" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "database_role" + ], + "properties": { + "config_set_id": { + "type": "string", + "description": "A configuration set ID to assign to the index." + }, + "database_role": { + "type": "string", + "description": "The database role for the search index." + } + } + }, + "example": { + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "database_role": "example" + } + } + } + }, + "responses": { + "202": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The search index for example is being created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/5494cbe6-fe98-4cfa-877b-05bab3be3bf8" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to create search configuration sets on this application." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found or not enough permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Configuration set not found or not enough permission": { + "value": { + "error": "not_found", + "message": "The configuration set you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Search not available": { + "value": { + "error": "validation_failed", + "message": "Acquia Search is not available for this subscription." + } + }, + "Search index already available": { + "value": { + "error": "validation_failed", + "message": "The search index is already available for this environment." + } + }, + "Database does not exist": { + "value": { + "error": "validation_failed", + "message": "The database does not exist in this environment." + } + }, + "Configuration set not available": { + "value": { + "error": "validation_failed", + "message": "The configuration set is not available for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/search/indexes/{indexId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a search configuration set for an application", + "description": "A specific search configuration set.", + "operationId": "getEnvironmentSearchIndex", + "x-cli-name": "environments:search:index-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/IndexId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Index" + }, + "example": { + "id": "ABCDE-1234.test.example", + "environment_id": "123-3f6d06a9-9236-411e-9dcc-44f0003a5905", + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "database_role": "example", + "status": "active", + "health": { + "code": "OK", + "summary": "Search index active", + "details": "No issues." + }, + "solr_version": "7", + "url": "https://example.com/solr/ABCDE-1234.test.example/", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes" + } + }, + "_embedded": { + "configuration_set": { + "id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78", + "application_uuid": "3f6d06a9-9236-411e-9dcc-44f0003a5905", + "label": "example-1", + "flags": { + "custom": true + }, + "status": "pending", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets" + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to view the search indexes on this environment." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or not enough permissions": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No index or not enough permissions": { + "value": { + "error": "not_found", + "message": "The search index you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Updates a search index on an environment.", + "description": "Updates a search index on an environment.", + "operationId": "putEnvironmentSearchIndex", + "x-cli-name": "environments:search:index-update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/IndexId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "config_set_id": { + "type": "string", + "description": "The configuration set ID to update to." + } + } + }, + "example": { + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "config_set_id": { + "type": "string", + "description": "The configuration set ID to update to." + } + } + }, + "example": { + "config_set_id": "ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78" + } + } + } + }, + "responses": { + "202": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The search index ABCDE-1234.test.example is being updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a0733378-eee4-4c29-bc2d-dea85e17b1aa" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to make a change in a search index on this environment." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Search not available": { + "value": { + "error": "conflict", + "message": "Acquia Search is not available for this subscription." + } + }, + "Configuration set not available": { + "value": { + "error": "conflict", + "message": "The configuration set is not available for this environment." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Removes and deletes a specific search index from an environment", + "description": "Removes and deletes a specific search index from an environment", + "operationId": "deleteEnvironmentSearchIndex", + "x-cli-name": "environments:search:index-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/IndexId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The search index has been removed from the environment.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/d64552a2-7e3e-46af-b2a0-b122aae26a7d" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to delete search indexes on this environment." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or not enough permissions": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Search index not available": { + "value": { + "error": "not_found", + "message": "The search index is not available to this environment." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "validation_failed", + "message": "Acquia Search is not available for this subscription." + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of servers.", + "description": "Returns a list of servers.\n\nFilterable fields:\n* `name`\n* `region`\n* `hostname`\n* `ip`\n* `status`\n\nSortable fields:\n* `name`\n* `region`\n* `hostname`\n* `ip`\n* `status`\n", + "operationId": "getEnvironmentsServers", + "x-cli-name": "environments:servers-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Servers" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "id": 6, + "name": "ded-6", + "hostname": "ded-6.servers.acquia.com", + "ssh_user": "user.dev", + "ip": "10.0.0.1", + "status": "normal", + "region": "us-west-1", + "roles": [ + "web", + "db" + ], + "ami_type": "c1.medium", + "operating_system": "xenial", + "configuration": { + "memcache": 64, + "ecu": 5, + "memory": 1.7 + }, + "flags": { + "elastic_ip": false, + "active_web": true, + "active_bal": false, + "primary_db": true, + "web": true, + "database": true, + "balancer": false, + "fs": false, + "memcache": true, + "dedicated": false, + "self_service": false + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/6" + } + } + }, + { + "id": 4, + "name": "bal-4", + "hostname": "bal-4.servers.acquia.com", + "ssh_user": "user.dev", + "ip": "10.0.0.2", + "status": "normal", + "region": "us-west-1", + "roles": [ + "bal" + ], + "ami_type": "m1.small", + "operating_system": "xenial", + "configuration": { + "memcache": null, + "ecu": 1, + "memory": 1.7 + }, + "flags": { + "elastic_ip": false, + "active_web": false, + "active_bal": false, + "primary_db": true, + "web": false, + "database": false, + "balancer": true, + "fs": false, + "memcache": false, + "dedicated": true, + "self_service": false + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/4" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Servers are not available on non-hosted applications." + } + }, + "Cannot be viewed for CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed for CD environments." + } + }, + "Cannot be viewed for managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed for Service Management-enabled applications." + } + }, + "Cannot be viewed on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed on Node.js applications." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers/{serverId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return details about a specific server.", + "description": "Return details about a specific server.", + "operationId": "getEnvironmentsServer", + "x-cli-name": "environments:server-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Server" + }, + "example": { + "id": 6, + "name": "ded-6", + "hostname": "ded-6.servers.acquia.com", + "ssh_user": "user.dev", + "ip": "10.0.0.1", + "status": "normal", + "region": "us-west-1", + "roles": [ + "web", + "db" + ], + "ami_type": "c1.medium", + "operating_system": "xenial", + "configuration": { + "memcache": 64, + "ecu": 5, + "memory": 1.7 + }, + "flags": { + "elastic_ip": false, + "active_web": true, + "active_bal": false, + "primary_db": true, + "web": true, + "database": true, + "balancer": false, + "fs": false, + "memcache": true, + "dedicated": false, + "self_service": false + }, + "environment": { + "id": "24-a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "dev" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/6" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Servers are not available on non-hosted applications." + } + }, + "Cannot be viewed for CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed for CD environments." + } + }, + "Cannot be viewed for managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed for Service Management-enabled applications." + } + }, + "Cannot be viewed on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be viewed on Node.js applications." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Modifies configuration settings for a server.", + "description": "Modifies configuration settings for a server.", + "operationId": "putEnvironmentsServer", + "x-cli-name": "environments:server-update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "memcache": { + "type": "integer", + "description": "The size (in MB) of memcache on this server.", + "default": 64, + "minimum": 0 + } + } + }, + "example": { + "memcache": 128 + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "memcache": { + "type": "integer", + "description": "The size (in MB) of memcache on this server.", + "default": 64, + "minimum": 0 + } + } + }, + "example": { + "memcache": 128 + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Server configuration being updated": { + "value": { + "message": "The server configuration is being updated." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "No options set to update": { + "value": { + "error": "validation_failed", + "message": { + "general": "No configuration options were set to update. No action performed." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot be configured for free tier": { + "value": { + "error": "forbidden", + "message": "Configuration cannot be modified for this application." + } + }, + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to configure this server." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Servers are not available on non-hosted applications." + } + }, + "Cannot be configured on Node.js applications": { + "value": { + "error": "not_available", + "message": "Server configuration cannot be modified on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Cannot be configured for CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be configured for CD environments." + } + }, + "Cannot be configured for managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be configured for Service Management-enabled applications." + } + }, + "Server not found in application": { + "value": { + "error": "not_found", + "message": "The server with ID 42 does not exist in this application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers/{serverId}/actions/reboot": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Reboots a server.", + "description": "Reboots a server. This will cause all applications on this server to be unavailable while the server reboots.", + "operationId": "postEnvironmentsServerReboot", + "x-cli-name": "environments:server-reboot", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Server is being rebooted": { + "value": { + "message": "The server is being rebooted." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only Acquia Cloud Professional can be rebooted": { + "value": { + "error": "validation_failed", + "message": { + "general": "Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually rebooted." + } + } + }, + "Only self-service can be rebooted": { + "value": { + "error": "validation_failed", + "message": { + "general": "Only self-service servers can be manually rebooted." + } + } + }, + "CDEs cannot be rebooted": { + "value": { + "error": "validation_failed", + "message": { + "general": "CD environments cannot be rebooted." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to reboot this server." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Rebooting a server is not available on non-hosted applications." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be rebooted for Service Management-enabled applications." + } + }, + "Not available on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be rebooted on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Server not found": { + "value": { + "error": "not_found", + "message": "The server you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be rebooted for CD environments." + } + }, + "Server not found in application": { + "value": { + "error": "not_found", + "message": "The server with ID 42 does not exist in this application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers/{serverId}/actions/relaunch": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Relaunches a server.", + "description": "Relaunches a server. This will cause all applications on this server to be unavailable while the server relaunches.", + "operationId": "postEnvironmentsServerRelaunch", + "x-cli-name": "environments:server-relaunch", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Server is being relaunched": { + "value": { + "message": "The server is being relaunched." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only Acquia Cloud Professional can be relaunched": { + "value": { + "error": "validation_failed", + "message": { + "general": "Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually relaunched." + } + } + }, + "Only self-service can be relaunched": { + "value": { + "error": "validation_failed", + "message": { + "general": "Only self-service servers can be manually relaunched." + } + } + }, + "CDEs cannot be relaunched": { + "value": { + "error": "validation_failed", + "message": { + "general": "CD environments cannot be relaunched." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to relaunch this server." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Relaunching servers is not available on non-hosted applications." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be relaunched for Service Management-enabled applications." + } + }, + "Not available on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be relaunched on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Server not found": { + "value": { + "error": "not_found", + "message": "The server you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be relaunched for CD environments." + } + }, + "Server not found in application": { + "value": { + "error": "not_found", + "message": "The server with ID 42 does not exist in this application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers/{serverId}/actions/suspend": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Suspends a server.", + "description": "Suspends a server. The server will no longer respond to web requests.", + "operationId": "postEnvironmentsServerSuspend", + "x-cli-name": "environments:server-suspend", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Server is being suspended": { + "value": { + "message": "The server is being suspended." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only Acquia Cloud Professional can be suspended": { + "value": { + "error": "validation_failed", + "message": { + "general": "Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually suspended." + } + } + }, + "Only self-service can be suspended": { + "value": { + "error": "validation_failed", + "message": { + "general": "Only self-service servers can be manually suspended." + } + } + }, + "CDEs cannot be suspended": { + "value": { + "error": "validation_failed", + "message": { + "general": "CD environments cannot be suspended." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to suspend this server." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Suspending servers is not available on non-hosted applications." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be suspended for Service Management-enabled applications." + } + }, + "Not available on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be suspended on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Server not found": { + "value": { + "error": "not_found", + "message": "The server you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be suspended for CD environments." + } + }, + "Server not found in application": { + "value": { + "error": "not_found", + "message": "The server with ID 42 does not exist in this application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/servers/{serverId}/actions/upgrade": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Upgrades a server from \"precise\" to \"xenial\".", + "description": "Upgrades a server from \"precise\" to \"xenial\".", + "operationId": "postEnvironmentsServerUpgrade", + "x-cli-name": "environments:server-upgrade", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/ServerId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Server is being upgraded": { + "value": { + "message": "The server is being upgraded." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only Acquia Cloud Professional can be upgraded": { + "value": { + "error": "validation_failed", + "message": { + "general": "Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually upgraded." + } + } + }, + "Only self-service can be upgraded": { + "value": { + "error": "validation_failed", + "message": { + "general": "Only self-service servers can be manually upgraded." + } + } + }, + "CDEs cannot be upgraded": { + "value": { + "error": "validation_failed", + "message": { + "general": "CD environments cannot be upgraded." + } + } + }, + "Can only be upgraded from \"precise\"": { + "value": { + "error": "validation_failed", + "message": { + "general": "Only servers running \"precise\" may be upgraded." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to upgrade this server." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "Upgrading servers is not available on non-hosted applications." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be upgraded for Service Management-enabled applications." + } + }, + "Not available on Node.js applications": { + "value": { + "error": "not_available", + "message": "Servers cannot be upgraded on Node.js applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Server not found": { + "value": { + "error": "not_found", + "message": "The server you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on CDEs": { + "value": { + "error": "not_available", + "message": "Servers cannot be upgraded for CD environments." + } + }, + "Server not found in application": { + "value": { + "error": "not_found", + "message": "The server with ID 42 does not exist in this application." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/settings": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Provides links to environment settings.", + "description": "Provides links to environment settings.", + "operationId": "getEnvironmentsSettings", + "x-cli-name": "environments:settings", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentSettings" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123/settings" + }, + "apm": { + "href": "https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123/settings/apm" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/settings/apm": { + "get": { + "tags": [ + "Application Performance Monitoring Services" + ], + "deprecated": true, + "summary": "Returns a list of Application Performance Monitoring services associated with the environment.", + "description": "Returns a list of Application Performance Monitoring services associated with the environment.", + "operationId": "getEnvironmentsApmSetting", + "x-cli-name": "environments:apm-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Apm" + }, + "example": { + "type": "newrelic", + "key": "123456789abcdef037dea2e355bc43987a123456", + "name": "TestApplication", + "flags": { + "enabled": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/6-252031e4-59f0-7914-95a5-ff83699fdcde/settings/apm" + } + }, + "_embedded": { + "environment": [ + { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/6-252031e4-59f0-7914-95a5-ff83699fdcde" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available": { + "value": { + "error": "forbidden", + "message": "APM settings are not available for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "not_found", + "message": "APM settings are not available on non-hosted applications." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Application Performance Monitoring Services" + ], + "deprecated": true, + "summary": "Update configuration for an Application Performance Monitoring tool.", + "description": "Update configuration for an Application Performance Monitoring tool.", + "operationId": "putEnvironmentsApmSetting", + "x-cli-name": "environments:apm-update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "boolean", + "description": "Whether the APM tool should be enabled or disabled. If updating an existing install, this value does not need to be provided." + }, + "type": { + "type": "string", + "description": "The APM tool to install. Required if installing or updating a configuration.", + "enum": [ + "newrelic" + ] + }, + "key": { + "type": "string", + "description": "The key for the APM tool. Required if installing or updating a configuration. This value should be available from your APM provider." + } + } + }, + "example": { + "type": "newrelic", + "key": "Some New Relic key" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "boolean", + "description": "Whether the APM tool should be enabled or disabled. If updating an existing install, this value does not need to be provided." + }, + "type": { + "type": "string", + "description": "The APM tool to install. Required if installing or updating a configuration.", + "enum": [ + "newrelic" + ] + }, + "key": { + "type": "string", + "description": "The key for the APM tool. Required if installing or updating a configuration. This value should be available from your APM provider." + } + } + }, + "example": { + "type": "newrelic", + "key": "Some New Relic key" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Settings are being updated": { + "value": { + "message": "APM settings are being updated for this environment." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "bad_request", + "message": "APM names may only contain alphanumeric, dashes, dots, colons, underscores and space characters." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to adjust APM settings for this environment." + } + }, + "Acquia Cloud Free cannot modify": { + "value": { + "error": "forbidden", + "message": "Acquia Cloud Free accounts are not able to modify APM settings." + } + }, + "Not available on non-hosted applications": { + "value": { + "error": "forbidden", + "message": "APM settings are not available on non-hosted applications." + } + }, + "Hosted on Acquia Cloud Enterprise": { + "value": { + "error": "forbidden", + "message": "Please contact support to modify APM settings for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns the SSL settings for this environment.", + "description": "Returns the SSL settings for this environment.", + "operationId": "getSsl", + "x-cli-name": "environments:ssl-settings-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Ssl" + }, + "example": { + "balancer": { + "hostname": "example.us-east-1.elb.amazonaws.com" + }, + "ips": [ + "127.0.0.1" + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl" + }, + "certificates": { + "href": "https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl/certificates" + }, + "csrs": { + "href": "https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl/csrs" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available for free tier": { + "value": { + "error": "not_found", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/certificates": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Return a list of SSL certificates.", + "description": "Returns the SSL certificates that are installed on this environment.", + "operationId": "getCertificates", + "x-cli-name": "environments:certificate-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Certificates" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl" + } + }, + "_embedded": { + "items": [ + { + "id": 7, + "label": null, + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "ca": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "flags": { + "active": true, + "csr": true, + "legacy": true + }, + "expires_at": "2022-03-28T00:12:34-0400", + "domains": [ + "example.com", + "www.example.com" + ], + "environment": { + "id": "5-a1a10dab-62f4-418c-bc58-ab7742078ba8", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/7" + }, + "csr": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/7" + } + } + }, + { + "id": 3, + "label": "Test Certificate 1", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "ca": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "flags": { + "active": true, + "csr": false, + "legacy": false + }, + "expires_at": "2021-01-01T00:00:00-0400", + "domains": [ + "example2.com", + "www.example2.com" + ], + "environment": { + "id": "5-a1a10dab-62f4-418c-bc58-ab7742078ba8", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/3" + } + } + }, + { + "id": 4, + "label": "Test Certificate 2", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "ca": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "flags": { + "active": false, + "csr": true, + "legacy": false + }, + "expires_at": "2021-01-01T00:00:00-0400", + "domains": [ + "example3.com", + "www.example3.com" + ], + "environment": { + "id": "5-a1a10dab-62f4-418c-bc58-ab7742078ba8", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/4" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "SSL Certificates are not available on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Install an SSL certificate.", + "description": "Install a new SSL certificate on this environment.", + "operationId": "postCertificate", + "x-cli-name": "environments:certificate-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PostCertificate" + }, + "example": { + "legacy": false, + "certificate": "-----BEGIN CERTIFICATE-----abc123....-----END CERTIFICATE-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----secret....-----END RSA PRIVATE KEY-----", + "ca_certificates": "-----BEGIN CERTIFICATE-----123abc....-----END CERTIFICATE-----", + "csr_id": 123, + "label": "My New Cert" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PostCertificate" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D~1ssl~1certificates/post/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Site is being imported": { + "value": { + "message": "Installing the certificate.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl/certificates" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/8fdacf25-38e4-4621-b5de-e78638fe2ceb" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Cannot install": { + "value": { + "error": "system", + "message": "Unable to install a certificate on environment ID 5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4. Site certificate CA chain certificates are out of order or contain unused certificates." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "SSL certificates cannot be managed on non-hosted applications." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage SSL certificates on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid country code": { + "value": { + "error": "validation_failed", + "message": { + "general": "Invalid country code. Country codes should be alphabetic and less than 2 characters long." + } + } + }, + "Invalid domain": { + "value": { + "error": "validation_failed", + "message": { + "domain": "The domain invalid does not appear to be a valid domain name." + } + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/certificates/{certificateId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a specific certificate by certificate id.", + "description": "Returns details about a specific SSL certificate.", + "operationId": "getCertificate", + "x-cli-name": "environments:certificate-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Certificate" + }, + "example": { + "id": 13, + "label": "Test Certificate", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "ca": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "flags": { + "active": true, + "csr": true, + "legacy": false + }, + "expires_at": "2022-03-28T00:12:34-0400", + "domains": [ + "example.com", + "www.example.com" + ], + "environment": { + "id": "5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4/ssl/certificates/13" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4/ssl/certificates" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "SSL certificates are not available on non-hosted applications." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes a specific certificate by its ID.", + "description": "Deletes a specific certificate by its ID.", + "operationId": "deleteCertificate", + "x-cli-name": "environments:certificate-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Deleting the certificate.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/767cee8d-05f6-4761-a3dc-755957dfc9e6" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete SSL certificates on this environment." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Incorrect certificate": { + "value": { + "error": "not_found", + "message": "This certificate does not belong to the environment, and cannot be removed." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "validation_failed", + "message": { + "general": "The currently active certificate cannot be removed." + } + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/certificates/{certificateId}/actions/activate": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Activates an SSL certificate.", + "description": "Activates an SSL certificate.", + "operationId": "postActivateCertificate", + "x-cli-name": "environments:certificate-activate", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Activating the certificate.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/1/actions/activate" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/4ee513c7-13b4-459f-af60-ba50c4f7cb5d" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Only installable on production": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates may only be installed on production environments." + } + } + }, + "Cannot be installed on CD environments": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates cannot be installed on CD environments." + } + } + }, + "Name already exists": { + "value": { + "error": "validation_failed", + "message": { + "name": "A certificate with that label already exists. Please choose another label." + } + } + }, + "Legacy cannot be installed using non-legacy": { + "value": { + "error": "validation_failed", + "message": { + "csr_id": "A legacy certificate cannot be installed using a non-legacy certificate signing request." + } + } + }, + "Non-legacy cannot be installed using legacy": { + "value": { + "error": "validation_failed", + "message": { + "csr_id": "A certificate cannot be installed using a legacy certificate signing request." + } + } + }, + "Invalid private key": { + "value": { + "error": "validation_failed", + "message": { + "private_key": "The supplied private key is invalid." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to activate SSL certificates on this environment." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "SSL certificates cannot be activated on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or no permission": { + "value": { + "error": "forbidden", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Incorrect certificate": { + "value": { + "error": "forbidden", + "message": "This certificate does not belong to the environment, and cannot be set to active." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Legacy certificate": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates cannot be set to active." + } + } + }, + "Already active": { + "value": { + "error": "validation_failed", + "message": { + "general": "This certificate is already set as active." + } + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/certificates/{certificateId}/actions/deactivate": { + "post": { + "tags": [ + "Environments" + ], + "summary": "Deactivates an active SSL certificate.", + "description": "Deactivates an active SSL certificate.", + "operationId": "postDeactivateCertificate", + "x-cli-name": "environments:certificate-deactivate", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Deactivating the certificate.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/4547/actions/deactivate" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/cb5de18e-5721-4c26-9f67-1a7d806dd09e" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Legacy certificate": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates cannot be deactivated. In order to deactivate a legacy certificate, the certificate must be removed." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to deactivate SSL certificates on this environment." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "SSL certificates cannot be deactivated on non-hosted applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or no permission": { + "value": { + "error": "forbidden", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Incorrect certificate": { + "value": { + "error": "forbidden", + "message": "This certificate does not belong to the environment, and cannot be deactivated." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already active": { + "value": { + "error": "validation_failed", + "message": "This certificate is already deactivated." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/csrs": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns certificate signing requests.", + "description": "Returns the certificate signing requests for this environment.", + "operationId": "getCertificateSigningRequests", + "x-cli-name": "environments:csr-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CertificateSigningRequests" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/ssl/csrs" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/ssl" + } + }, + "_embedded": { + "items": [ + { + "id": 7, + "csr": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "country": "US", + "state": "Massachusetts", + "locality": "Boston", + "organization": "Example Inc.", + "organizational_unit": "IT", + "common_name": "www.example.com", + "alternate_names": [ + "site.example.com", + "other.example.com" + ], + "flags": { + "used": true, + "legacy": false + }, + "environment": { + "id": "5-a1a10dab-62f4-418c-bc58-ab7742078ba8", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/7" + }, + "certificate": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/7" + } + } + }, + { + "id": 8, + "csr": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "country": "US", + "state": "Massachusetts", + "locality": "Boston", + "organization": "Example Inc.", + "organizational_unit": "IT", + "common_name": "www.example.com", + "alternate_names": [], + "flags": { + "used": false, + "legacy": true + }, + "environment": { + "id": "5-a1a10dab-62f4-418c-bc58-ab7742078ba8", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/8" + }, + "certificate": { + "href": "https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/8" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "Certificate Signing Requests are not available on non-hosted applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Generates a certificate signing request (CSR) for one or more domains.", + "description": "Generates a CSR for one or more domains.", + "operationId": "postCertificateSigningRequest", + "x-cli-name": "environments:csr-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PostCsr" + }, + "example": { + "country": "CA", + "state": "Ontario", + "locality": "Toronto", + "organization": "Acquia", + "organizational_unit": "Networking", + "common_name": "www.example.com", + "alternate_names": [ + "www2.example.com", + "www3.example.com" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PostCsr" + }, + "example": { + "$ref": "#/paths/~1environments~1%7BenvironmentId%7D~1ssl~1csrs/post/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "A CSR is being generated for the selected domain.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl/csrs" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/8fdacf25-38e4-4621-b5de-e78638fe2ceb" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "Non-hosted application": { + "value": { + "error": "forbidden", + "message": "SSL certificates cannot be managed on non-hosted applications." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage SSL certificates on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Incorrect certificate": { + "value": { + "error": "forbidden", + "message": "This certificate signing request does not belong to the environment, and cannot be used to install a certificate." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Legacy certificate": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates may only be installed on production environments." + } + } + }, + "CD environments": { + "value": { + "error": "validation_failed", + "message": { + "general": "Legacy certificates may not be installed on CD environments." + } + } + }, + "Legacy mismatch": { + "value": { + "error": "validation_failed", + "message": { + "csr_id": "A legacy certificate cannot be installed using a non-legacy certificate signing request." + } + } + }, + "Legacy CSR": { + "value": { + "error": "validation_failed", + "message": { + "csr_id": "A certificate cannot be installed using a legacy certificate signing request." + } + } + }, + "Duplicate label": { + "value": { + "error": "validation_failed", + "message": { + "label": "A certificate with that label already exists. Please choose another label." + } + } + }, + "Invalid format": { + "value": { + "error": "validation_failed", + "message": { + "certificate": "The certificate format is invalid." + } + } + }, + "Invalid public key": { + "value": { + "error": "validation_failed", + "message": { + "certificate": "The certificate public key is invalid." + } + } + }, + "Certificate unavailable": { + "value": { + "error": "validation_failed", + "message": { + "certificate": "Certificate CERTIFICATE was issued by UNKNOWN ISSUER for which no certificate is available." + } + } + }, + "Invalid private key": { + "value": { + "error": "validation_failed", + "message": { + "private_key": "The supplied private key is invalid." + } + } + }, + "Certificate expired": { + "value": { + "error": "validation_failed", + "message": { + "certificate": "The supplied certificate has expired." + } + } + }, + "Intermediate certificate expired": { + "value": { + "error": "validation_failed", + "message": { + "ca_certificates": "Intermediate certificate Example Certificate has expired." + } + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/ssl/csrs/{certificateId}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns the certificate signing request for the certificate specified by id.", + "description": "Returns details about a specific certificate signing request.", + "operationId": "getCertificateSigningRequest", + "x-cli-name": "environments:csr-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CertificateSigningRequest" + }, + "example": { + "id": 7, + "csr": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", + "private_key": "-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----", + "country": "US", + "state": "Massachusetts", + "locality": "Boston", + "organization": "Example Inc.", + "organizational_unit": "IT", + "common_name": "www.example.com", + "alternate_names": [ + "site.example.com", + "other.example.com" + ], + "flags": { + "used": true, + "legacy": false + }, + "environment": { + "id": "5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5", + "name": "prod" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs/7" + }, + "certificate": { + "href": "https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/certificates/7" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view Certificate Signing Requests on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No CSR or permission": { + "value": { + "error": "not_found", + "message": "The CSR you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Non-hosted application": { + "value": { + "error": "not_found", + "message": "Certificate Signing Requests are not available on non-hosted applications." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Deletes the certificate signing request.", + "description": "Deletes the certificate signing request for the certificate specified by id.", + "operationId": "deleteCertificateSigningRequest", + "x-cli-name": "environments:csr-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/CertificateId" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "Deleting the certificate signing request.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs/7" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/87c0f979-2f84-4b88-bc5e-8c1670fd2f01" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "validation_failed", + "message": { + "general": "This certificate signing request is used for a certificate, and cannot be removed." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not on Acquia Cloud Free": { + "value": { + "error": "forbidden", + "message": "SSL certificates are not available to Acquia Cloud Free subscriptions." + } + }, + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete Certificate Signing Requests on this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No environment or permission": { + "value": { + "error": "not_found", + "message": "The environment you are trying to administer does not exist, or you do not have permission to administer it." + } + }, + "Incorrect certificate signing request": { + "value": { + "error": "not_found", + "message": "This certificate signing request does not belong to the environment, and cannot be removed." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/variables": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Returns a list of environment variables associated with this environment.", + "description": "Returns a list of environment variables associated with this environment.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getEnvironmentsVariables", + "x-cli-name": "environments:variable-list", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentVariables" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environment/24-569086da-2b1f-11e9-b210-d663bd873d93/variables" + }, + "sort": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93" + } + }, + "_embedded": { + "items": [ + { + "name": "variable_one", + "value": "Sample Value One", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_one" + } + } + }, + { + "name": "variable_two", + "value": "Sample Value Two", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_two" + } + } + }, + { + "name": "variable_three", + "value": "Sample Value Three", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_three" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view environment variables for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Service Management-enabled applications." + } + }, + "Not available on Acquia Cloud Site Factory": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Acquia Cloud Site Factory applications." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Environments" + ], + "summary": "Adds a new environment variable to an environment.", + "description": "Adds a new environment variable to an environment.", + "operationId": "postEnvironmentsVariables", + "x-cli-name": "environments:variable-create", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable to add.", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "value": { + "type": "string", + "description": "The value of the environment variable to add.", + "minLength": 0, + "maxLength": 255 + } + } + }, + "example": { + "name": "APP_KEY", + "value": "aaaabbbbccccddddeee" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable to add.", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "value": { + "type": "string", + "description": "The value of the environment variable to add.", + "minLength": 0, + "maxLength": 255 + } + } + }, + "example": { + "name": "APP_KEY", + "value": "aaaabbbbccccddddeee" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Variable is being added": { + "value": { + "message": "The environment variable is being added.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/123-c7056b9e-0fb7-44e9-a434-426a404211c1/variables" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/f3c2bdc1-60c1-48af-8777-996477f901d5" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/123-c7056b9e-0fb7-44e9-a434-426a404211c1" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid variable name": { + "value": { + "error": "validation_failed", + "message": { + "name": "The environment variable name is invalid. It must contain only letters, numbers, and underscores; it cannot start with a number, AH_, or ACQUIA_; and it must be under 256 characters long." + } + } + }, + "Invalid value": { + "value": { + "error": "not_available", + "message": { + "value": "The environment variable value is invalid: it must be less than 256 characters long." + } + } + }, + "Variable name already exists": { + "value": { + "error": "not_available", + "message": { + "name": "The environment already has an environment variable with that name." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to create environment variables for this environment." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Service Management-enabled applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on Acquia Cloud Site Factory": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Acquia Cloud Site Factory applications." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available": { + "value": { + "error": "conflict", + "message": "Environment variables are not available for this environment." + } + } + } + } + } + } + } + } + }, + "/environments/{environmentId}/variables/{environmentVariableName}": { + "get": { + "tags": [ + "Environments" + ], + "summary": "Get an environment variable associated with this environment.", + "description": "Get an environment variable associated with this environment.", + "operationId": "getEnvironmentsVariable", + "x-cli-name": "environments:variable-find", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/EnvironmentVariableName" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/EnvironmentVariable" + }, + "example": { + "name": "variable_one", + "value": "Sample Value One", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables/variable_one" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view environment variables for this environment." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Environment variable not found": { + "value": { + "error": "not_found", + "message": "The environment variable you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Service Management-enabled applications." + } + }, + "Not available on Acquia Cloud Site Factory": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Acquia Cloud Site Factory applications." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "summary": "Removes an environment variable from an environment.", + "description": "Removes an environment variable from an environment.", + "operationId": "deleteEnvironmentsVariable", + "x-cli-name": "environments:variable-delete", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/EnvironmentVariableName" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Variable is being removed": { + "value": { + "message": "The environment variable is being removed.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/variables/EXAMPLE_VARIABLE_NAME" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/variables" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid value": { + "value": { + "error": "validation_failed", + "message": { + "name": "The environment does not have an environment variable with that name." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove environment variables for this environment." + } + }, + "Environment variable not found": { + "value": { + "error": "not_found", + "message": "The environment variable you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Service Management-enabled applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available": { + "value": { + "error": "conflict", + "message": "Environment variables are not available for this environment." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "summary": "Updates an environment variable on an environment.", + "description": "Updates an environment variable on an environment.", + "operationId": "putEnvironmentsVariable", + "x-cli-name": "environments:variable-update", + "parameters": [ + { + "$ref": "#/components/parameters/EnvironmentId" + }, + { + "$ref": "#/components/parameters/EnvironmentVariableName" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable to add.", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "value": { + "type": "string", + "description": "The value of the environment variable to add.", + "minLength": 0, + "maxLength": 255 + } + } + }, + "example": { + "name": "APP_KEY", + "value": "aaaabbbbccccddddeee" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable to add.", + "minLength": 1, + "maxLength": 255, + "pattern": "^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$" + }, + "value": { + "type": "string", + "description": "The value of the environment variable to add.", + "minLength": 0, + "maxLength": 255 + } + } + }, + "example": { + "name": "APP_KEY", + "value": "aaaabbbbccccddddeee" + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "Variable is being updated": { + "value": { + "message": "The environment variable is being updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables/name" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/37c8646c-bbe8-423a-970b-cbeb530b981d" + }, + "parent": { + "href": "https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid value": { + "value": { + "error": "validation_failed", + "message": { + "value": "The environment variable value is invalid: it must be less than 5000 characters long." + } + } + }, + "Variable name already exists": { + "value": { + "error": "validation_failed", + "message": { + "name": "The environment already has an environment variable with that name." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify environment variables for this environment." + } + }, + "Environment variable not found": { + "value": { + "error": "not_found", + "message": "The environment variable you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Not available on managed applications": { + "value": { + "error": "not_available", + "message": "Environment variables are not available for Service Management-enabled applications." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Environment not found": { + "value": { + "error": "not_found", + "message": "The environment you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not available": { + "value": { + "error": "conflict", + "message": "Environment variables are not available for this environment." + } + } + } + } + } + } + } + } + }, + "/ides/{ideUuid}": { + "get": { + "tags": [ + "Cloud IDE" + ], + "summary": "Returns Cloud IDE info.", + "description": "Returns Cloud IDE info.", + "operationId": "getIde", + "x-cli-name": "ide:find", + "parameters": [ + { + "$ref": "#/components/parameters/IdeUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Ide" + }, + "example": { + "uuid": "215824ff-272a-4a8c-9027-df32ed1d68a9", + "label": "Example IDE", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/215824ff-272a-4a8c-9027-df32ed1d68a9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/ides" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + }, + "web": { + "href": "https://ide-215824ff-272a-4a8c-9027-df32ed1d68a9.prod.acquia-sites.com" + }, + "ide": { + "href": "https://215824ff-272a-4a8c-9027-df32ed1d68a9.ides.acquia.com" + } + }, + "_embedded": { + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "last_login_at": "2019-01-31T15:53:11.000Z", + "created_at": "2016-08-14T21:38:59.000Z", + "email": "user.name@example.com", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The IDE you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Cloud IDE" + ], + "summary": "De-provisions a specific Cloud IDE.", + "description": "De-provisions a specific Cloud IDE.", + "operationId": "deleteIde", + "x-cli-name": "ide:delete", + "parameters": [ + { + "$ref": "#/components/parameters/IdeUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "De-provisioning IDE": { + "value": { + "message": "The Cloud IDE is being deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/215824ff-272a-4a8c-9027-df32ed1d68a9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/ides" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/e98577df-840a-4fef-8775-66cf90b3530e" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The IDE you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/identity-providers": { + "get": { + "tags": [ + "Identity Providers" + ], + "summary": "Returns a list of identity providers for a user.", + "description": "Returns a list of identity providers you have access to.\n\nFilterable fields:\n* `label`\n\nSortable fields:\n* `label`\n", + "operationId": "getIdentityProviders", + "x-cli-name": "identity-providers:list", + "parameters": [ + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IdentityProviders" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + }, + "filter": { + "href": "https://cloud.acquia.com/api/identity-providers{?filter}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/identity-providers{?sort}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/identity-providers{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/identity-providers{?offset}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "uuid": "5fa84b25-a269-44bd-a2ae-e76d08ac8245", + "label": "Identity provider label", + "idp_entity_id": "https://idp.example.com/saml", + "sp_entity_id": "https://sp.example.com/saml", + "sso_url": "https://example.com/sso", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "status": "enabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/5fa84b25-a269-44bd-a2ae-e76d08ac8245" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "acs": { + "href": "https://accounts.acquia.com/api/auth/saml/acs/5fa84b25-a269-44bd-a2ae-e76d08ac8245" + } + } + }, + { + "uuid": "908914ec-2354-4fb1-9298-637247eccc3a", + "label": "Identity provider label 2", + "idp_entity_id": "https://idp2.example.com/saml", + "sp_entity_id": "https://sp2.example.com/saml", + "sso_url": "https://example.com/sso", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", + "status": "enabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "acs": { + "href": "https://accounts.acquia.com/api/auth/saml/acs/908914ec-2354-4fb1-9298-637247eccc3a" + } + } + } + ] + } + } + } + } + } + } + } + }, + "/identity-providers/{identityProviderUuid}": { + "get": { + "tags": [ + "Identity Providers" + ], + "summary": "Returns a specific identity provider by UUID.", + "description": "Returns a specific identity provider.", + "operationId": "getIdentityProvider", + "x-cli-name": "identity-providers:find", + "parameters": [ + { + "$ref": "#/components/parameters/IdentityProviderUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IdentityProvider" + }, + "example": { + "uuid": "1bc5dbb4-6d59-403b-afc7-777e520aaa40", + "label": "Test identity provider", + "idp_entity_id": "https://idp.example.com/saml", + "sp_entity_id": "https://sp.example.com/saml", + "sso_url": "https://example.com/sso", + "certificate": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----", + "status": "enabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/1bc5dbb4-6d59-403b-afc7-777e520aaa40" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "acs": { + "href": "https://accounts.acquia.com/api/auth/saml/acs/1bc5dbb4-6d59-403b-afc7-777e520aaa40" + }, + "organization": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "put": { + "tags": [ + "Identity Providers" + ], + "summary": "Modifies an identity provider by its UUID.", + "description": "Modifies an identity provider.", + "operationId": "putIdentityProvider", + "x-cli-name": "identity-providers:update", + "parameters": [ + { + "$ref": "#/components/parameters/IdentityProviderUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "The new identity provider label." + }, + "entity_id": { + "type": "string", + "description": "The entity ID of the identity provider" + }, + "sso_url": { + "type": "string", + "format": "uri", + "description": "The URL of the SSO identity provider." + }, + "certificate": { + "type": "string", + "description": "The PEM-encoded X.509 certificate." + } + } + }, + "example": { + "label": "New label", + "entity_id": "entity-id", + "sso_url": "https://idp.example.com", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "The new identity provider label." + }, + "entity_id": { + "type": "string", + "description": "The entity ID of the identity provider" + }, + "sso_url": { + "type": "string", + "format": "uri", + "description": "The URL of the SSO identity provider." + }, + "certificate": { + "type": "string", + "description": "The PEM-encoded certificate." + } + } + }, + "example": { + "label": "New label", + "entity_id": "entity-id", + "sso_url": "https://idp.example.com", + "certificate": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "Identity Provider has been updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/8030f025-47dc-4926-940b-0b04d98d1ea2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "No Parameters": { + "value": { + "error": "validation_failed", + "message": { + "general": "No update executed, as no parameters were provided. Please update at least one property." + } + } + }, + "Invalid Certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is invalid." + } + } + }, + "Inactive Certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is not yet active." + } + } + }, + "Expired Certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expired." + } + } + }, + "Expiring Certificate": { + "value": { + "error": "validation_failed", + "message": { + "credentials": "The certificate is expiring. Certificates must be valid for at least 90 days." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to edit the identity provider." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found or Does Not Exist": { + "value": { + "error": "not_found", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Does Not Exist": { + "value": { + "error": "not_found", + "message": "An identity provider with UUID idp1234-aaaa-1234-abcd-0123456789ab does not exist." + } + }, + "No Associated Organization": { + "value": { + "error": "not_found", + "message": "An organization with associated identity provider UUID idp1234-aaaa-1234-abcd-0123456789ab cannot be found." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already Enabled and Active": { + "value": { + "error": "conflict", + "message": "Updates cannot be made to identity providers that are enabled and active." + } + }, + "Not Registered to Organization": { + "value": { + "error": "conflict", + "message": "The organization does not have an identity provider registered with the UUID idp1234-aaaa-1234-abcd-0123456789ab." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Identity Providers" + ], + "summary": "Deletes a specific identity provider by its UUID.", + "description": "Deletes a specific identity provider.", + "operationId": "deleteIdentityProvider", + "x-cli-name": "identity-providers:delete", + "parameters": [ + { + "$ref": "#/components/parameters/IdentityProviderUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Identity provider has been deleted.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/da1c0a8e-ff69-45db-88fc-acd6d2affbb7" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to delete the identity provider." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found or Does Not Exist": { + "value": { + "error": "not_found", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No Associated Organization": { + "value": { + "error": "not_found", + "message": "An organization with associated identity provider UUID da1c0a8e-ff69-45db-88fc-acd6d2affbb7 cannot be found." + } + } + } + } + } + } + } + } + }, + "/identity-providers/{identityProviderUuid}/actions/enable": { + "post": { + "tags": [ + "Identity Providers" + ], + "summary": "Enables an identity provider by its UUID.", + "description": "Enables an identity provider.", + "operationId": "postEnableIdentityProvider", + "x-cli-name": "identity-providers:enable", + "parameters": [ + { + "$ref": "#/components/parameters/IdentityProviderUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Identity Provider has been enabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "You do not have permission to enable this identity provider." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already enabled": { + "value": { + "error": "conflict", + "message": "The identity provider is already enabled." + } + } + } + } + } + } + } + } + }, + "/identity-providers/{identityProviderUuid}/actions/disable": { + "post": { + "tags": [ + "Identity Providers" + ], + "summary": "Disables an identity provider by its UUID.", + "description": "Disables an identity provider.", + "operationId": "postDisableIdentityProvider", + "x-cli-name": "identity-providers:disable", + "parameters": [ + { + "$ref": "#/components/parameters/IdentityProviderUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Identity Provider has been disabled.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "You do not have permission to disable this identity provider." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "conflict", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already disabled": { + "value": { + "error": "conflict", + "message": "The identity provider is already disabled." + } + } + } + } + } + } + } + } + }, + "/invites/{token}": { + "get": { + "tags": [ + "Invite" + ], + "summary": "Returns details about an invitation.", + "description": "Returns details about an invitation.", + "operationId": "getInviteByToken", + "x-cli-name": "invites:find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Token" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Invite" + }, + "example": { + "applications": [ + { + "uuid": "7659fe2a-7322-4132-a4b7-0795f1246a54", + "name": "App 1" + }, + { + "uuid": "23a99f37-0eb8-450e-a5bf-e69c48e25e86", + "name": "App 2" + } + ], + "author": { + "uuid": "2429bf71-9145-4266-b532-1f4e3beaed55", + "first_name": "Joe", + "last_name": "Smith", + "last_login_at": "2019-01-30T13:58:07.000Z", + "created_at": "2015-08-14T21:37:23.000Z", + "mail": "joe.smith@example.com", + "picture_url": "https://accounts.acquia.com/images/users/2429bf71-9145-4266-b532-1f4e3beaed55/style/avatar", + "username": "joe.smith" + }, + "organization": { + "uuid": "d258dc23-90c5-447c-b550-981b469796d9", + "name": "My Organization" + }, + "roles": [ + { + "uuid": "d258dc23-90c5-447c-b550-981b469796d9", + "name": "My Role" + } + ], + "team": { + "uuid": "d258dc23-90c5-447c-b550-981b469796d9", + "name": "My Team" + }, + "uuid": "d258dc23-90c5-447c-b550-981b469796d9", + "email": "joe.smith@example.com", + "created_at": "2019-01-30T14:12:15.000Z", + "token": "189d2089-c7f1-418c-a437-9676f4edb1b3", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/189d2089-c7f1-418c-a437-9676f4edb1b3" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No invite or permission": { + "value": { + "error": "unauthorized", + "message": "You do not have permission to access this resource." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No invite or permission": { + "value": { + "error": "not_found", + "message": "The invite you are trying to view does not exist, or you do not have permission to view it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Invite" + ], + "summary": "Cancels an invitation.", + "description": "Cancels an invitation.", + "operationId": "postInviteCancel", + "x-cli-name": "invites:cancel", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Token" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Cancelled invite": { + "value": { + "message": "Cancelled invite." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No invite or permission": { + "value": { + "error": "unauthorized", + "message": "You do not have permission to access this resource." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No invite or permission": { + "value": { + "error": "not_found", + "message": "The invite you are trying to view does not exist, or you do not have permission to view it." + } + } + } + } + } + } + } + } + }, + "/invites/{token}/actions/accept": { + "post": { + "tags": [ + "Invite" + ], + "summary": "Accepts an invite.", + "description": "Accepts an invite.", + "operationId": "postInviteAcceptByToken", + "x-cli-name": "invites:accept", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Token" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Accepted invite": { + "value": { + "message": "The invite has been accepted." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "not_found", + "message": "The invite you are trying to accept does not exist, or you do not have permission to accept it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already accepted": { + "value": { + "error": "conflict", + "message": "This invite has already been accepted." + } + } + } + } + } + } + } + } + }, + "/invites/{token}/actions/decline": { + "post": { + "tags": [ + "Invite" + ], + "summary": "Declines an invite.", + "description": "Declines an invite.", + "operationId": "postInviteDecline", + "x-cli-name": "invites:decline", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Token" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Declined invite": { + "value": { + "message": "The invite has been declined." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "not_found", + "message": "The invite you are trying to decline does not exist, or you do not have permission to decline it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Already declined": { + "value": { + "error": "conflict", + "message": "This invite has already been declined." + } + } + } + } + } + } + } + } + }, + "/invites/{token}/actions/resend": { + "post": { + "tags": [ + "Invite" + ], + "summary": "Resend an invite.", + "description": "Resend an invite.", + "operationId": "postInviteResend", + "x-cli-name": "invites:resend", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/Token" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Declined invite": { + "value": { + "message": "Resent invitation." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "not_found", + "message": "The invite you are trying to resent does not exist, or you do not have permission to resent it." + } + } + } + } + } + } + } + } + }, + "/messages/{messageUuid}/actions/dismiss": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Dismisses a message.", + "description": "Dismisses a message.", + "operationId": "postDismissMessage", + "x-cli-name": "messages:dismiss", + "parameters": [ + { + "$ref": "#/components/parameters/MessageUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Site revoked": { + "value": { + "message": "Message dismissed." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission or message": { + "value": { + "error": "forbidden", + "message": "The message you are trying to dismiss does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Message already dismissed": { + "value": { + "error": "conflict", + "message": "This message has already been dismissed." + } + }, + "Message cannot be dismissed": { + "value": { + "error": "conflict", + "message": "This message cannot be dismissed." + } + } + } + } + } + } + } + } + }, + "/messages/{messageUuid}/actions/follow": { + "get": { + "tags": [ + "Messages" + ], + "summary": "Follows an in-product message link.", + "description": "Follows an in-product message link.", + "operationId": "getMessageFollow", + "x-cli-name": "messages:follow", + "parameters": [ + { + "$ref": "#/components/parameters/MessageUuid" + } + ], + "responses": { + "301": { + "description": "Moved Permanently", + "headers": { + "Location": { + "schema": { + "type": "string" + }, + "description": "The redirect destination URL." + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No application or permission": { + "value": { + "error": "not_found", + "message": "The message you are trying to follow the link for does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/notifications/{notificationUuid}": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Returns a single notification.", + "description": "Returns a single notification.", + "operationId": "getNotificationByUuid", + "x-cli-name": "notifications:find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/NotificationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Notification" + }, + "example": { + "uuid": "1bd3487e-71d1-4fca-a2d9-5f969b3d35c1", + "event": "ApplicationAddedToRecents", + "label": "Application added to recents list", + "description": "\"Canary QA 11 - ACE\" was added to your recent applications list.", + "created_at": "2019-07-29T20:47:13.000Z", + "completed_at": "2019-07-29T20:47:13.000Z", + "status": "completed", + "progress": 100, + "context": { + "author": { + "uuid": "5391a8a9-d273-4f88-8114-7f884bbfe08b", + "actual_uuid": "5391a8a9-d273-4f88-8114-7f884bbfe08b" + }, + "user": { + "uuids": [ + "5391a8a9-d273-4f88-8114-7f884bbfe08b" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/notifications/1bd3487e-71d1-4fca-a2d9-5f969b3d35c1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/notifications" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No data or permission": { + "value": { + "error": "not_found", + "message": "The data you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/options": { + "get": { + "tags": [ + "Options" + ], + "summary": "Does not return any data. Allows traversal of options groups endpoints.", + "description": "Does not return any data. Allows traversal of options groups endpoints.", + "operationId": "getOptions", + "x-cli-name": "options:list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/options" + }, + "cde-sizes": { + "href": "https://cloud.acquia.com/api/options/cde-sizes" + }, + "log-forwarding": { + "href": "https://cloud.acquia.com/api/options/log-forwarding" + } + } + } + } + } + } + } + } + }, + "/options/cde-sizes": { + "get": { + "tags": [ + "Options" + ], + "summary": "Displays the various CD Environment size options.", + "description": "Displays the various CD Environment size options.", + "operationId": "getCdeSizes", + "x-cli-name": "options:cde-sizes-list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CdeSizes" + }, + "example": { + "total": 5, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/options/cde-sizes" + }, + "parent": { + "href": "https://cloud.acquia.com/api/options" + } + }, + "_embedded": { + "items": [ + { + "name": "1X", + "size": "1x", + "memory": 256, + "storage": 5, + "databases": 3, + "slots": 1 + }, + { + "name": "2X", + "size": "2x", + "memory": 512, + "storage": 10, + "databases": 6, + "slots": 2 + }, + { + "name": "3X", + "size": "3x", + "memory": 768, + "storage": 15, + "databases": 9, + "slots": 3 + }, + { + "name": "4X", + "size": "4x", + "memory": 1024, + "storage": 20, + "databases": 12, + "slots": 4 + }, + { + "name": "8X", + "size": "8x", + "memory": 2048, + "storage": 40, + "databases": 24, + "slots": 8 + } + ] + } + } + } + } + } + } + } + }, + "/options/log-forwarding": { + "get": { + "tags": [ + "Options" + ], + "summary": "Does not return any data. Allows traversal of options groups endpoints.", + "description": "Does not return any data. Allows traversal of options groups endpoints.", + "operationId": "getLogForwarding", + "x-cli-name": "options:log-forwarding", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "properties": { + "_links": { + "$ref": "#/components/schemas/Links" + } + } + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/options/log-forwarding" + }, + "sources": { + "href": "https://cloud.acquia.com/api/options/log-forwarding/sources" + }, + "consumers": { + "href": "https://cloud.acquia.com/api/options/log-forwarding/consumers" + } + } + } + } + } + } + } + } + }, + "/options/log-forwarding/sources": { + "get": { + "tags": [ + "Options" + ], + "summary": "Displays available log forwarding sources.", + "description": "Displays available log forwarding sources.", + "operationId": "getLogForwardingSources", + "x-cli-name": "options:log-forwarding-source-list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/LogForwardingSources" + }, + "example": { + "total": 1, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/log-forwarding/sources" + }, + "parent": { + "href": "https://cloud.acquia.com/api/log-forwarding" + } + }, + "_embedded": { + "items": [ + { + "name": "apache-access", + "label": "Apache access", + "platforms": [ + "drupal" + ] + } + ] + } + } + } + } + } + } + } + }, + "/options/log-forwarding/consumers": { + "get": { + "tags": [ + "Options" + ], + "summary": "Displays available log forwarding consumers.", + "description": "Displays available log forwarding consumers.", + "operationId": "getLogForwardingConsumers", + "x-cli-name": "options:log-forwarding-consumer-list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/LogForwardingConsumers" + }, + "example": { + "total": 1, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/log-forwarding/consumers" + }, + "parent": { + "href": "https://cloud.acquia.com/api/log-forwarding" + } + }, + "_embedded": { + "items": [ + { + "name": "sumologic", + "label": "Sumologic" + } + ] + } + } + } + } + } + } + } + }, + "/options/colors": { + "get": { + "tags": [ + "Options" + ], + "summary": "Displays the various color options.", + "description": "Displays the various color options.", + "operationId": "getColors", + "x-cli-name": "colors:list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Colors" + }, + "example": { + "total": 10, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/options/colors" + }, + "parent": { + "href": "https://cloud.acquia.com/api/options" + }, + "limit": { + "href": "https://cloud.acquia.com/api/options/colors{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/options/colors{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/options/colors{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/options/colors{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "color": "blue" + }, + { + "color": "blush" + }, + { + "color": "gray" + }, + { + "color": "green" + }, + { + "color": "light-blue" + }, + { + "color": "orange" + }, + { + "color": "pink" + }, + { + "color": "purple" + }, + { + "color": "teal" + }, + { + "color": "yellow" + } + ] + } + } + } + } + } + } + } + }, + "/organizations": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Return a list of organizations.", + "description": "An organization is a container for some or all of a customer's subscriptions. The owner of the organization is the\nmain billing contact. The owner, along with organization administrators, can set up teams and roles to grant various\npermissions to access the applications within each subscription in the organization. Results can be filtered and\nsorted by name.\n", + "operationId": "getOrganizations", + "x-cli-name": "organizations:list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Organizations" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + }, + "_embedded": { + "items": [ + { + "id": "6", + "uuid": "bfafd31a-83a6-4257-b0ec-afdeff83117a", + "name": "Sample organization", + "subscriptions_total": 115, + "admins_total": 2, + "users_total": 82, + "teams_total": 13, + "roles_total": 4, + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name", + "mail": "user.name@example.com" + }, + "flags": { + "federated_authentication": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/bfafd31a-83a6-4257-b0ec-afdeff83117a" + } + } + }, + { + "id": "4841", + "uuid": "1992bfe6-c5bf-4a90-810e-a65acab42c6e", + "name": "Sample organization 2", + "subscriptions_total": 4, + "admins_total": 0, + "users_total": 0, + "teams_total": 0, + "roles_total": 0, + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name", + "mail": "user.name@example.com" + }, + "flags": { + "federated_authentication": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/1992bfe6-c5bf-4a90-810e-a65acab42c6e" + } + } + }, + { + "id": "4841", + "uuid": "3ff5a541-64cf-4334-acc7-af70b4374373", + "name": "Sample organization 3", + "subscriptions_total": 4, + "admins_total": 0, + "users_total": 0, + "teams_total": 0, + "roles_total": 0, + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name", + "mail": "user.name@example.com" + }, + "flags": { + "federated_authentication": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3ff5a541-64cf-4334-acc7-af70b4374373" + } + } + } + ] + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Return details about a specific organization.", + "operationId": "getOrganizationByUuid", + "x-cli-name": "organizations:find", + "security": [ + { + "OAuth2": [] + } + ], + "description": "A specific organization.", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Organization" + }, + "example": { + "id": "6", + "uuid": "a81c08c6-a02f-4b57-87e3-c3f395a2bb34", + "name": "Sample organization", + "subscriptions_total": 115, + "admins_total": 2, + "users_total": 82, + "teams_total": 13, + "roles_total": 4, + "owner": { + "uuid": "98d56f28-cff0-421d-9985-58f15cbd6907", + "first_name": "First", + "last_name": "Last", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name", + "mail": "user.name@example.com" + }, + "flags": { + "federated_authentication": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34" + }, + "admin-invites": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/admin-invites" + }, + "admins": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/admins" + }, + "applications": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/applications" + }, + "identity-provider": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/identity-provider" + }, + "members": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/members" + }, + "roles": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/roles" + }, + "subscriptions": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/subscriptions" + }, + "team-invites": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/team-invites" + }, + "teams": { + "href": "https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/teams" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations" + } + }, + "_embedded": { + "owner": { + "uuid": "98d56f28-cff0-421d-9985-58f15cbd6907", + "first_name": "First", + "last_name": "Last", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name", + "mail": "user.name@example.com", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/users/98d56f28-cff0-421d-9985-58f15cbd6907" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "put": { + "tags": [ + "Organizations" + ], + "summary": "Renames an organization.", + "description": "Renames an organization.", + "operationId": "putOrganization", + "x-cli-name": "organizations:update", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The new name of the organization.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My renamed organization" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The new name of the organization.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My renamed organization" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Organization renamed": { + "value": { + "message": "Organization renamed." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Name unavailable": { + "value": { + "error": "conflict", + "message": { + "name": "The organization owner already has an organization with this name." + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found or Does Not Exist": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Organizations" + ], + "summary": "Deletes a specific organization by its UUID.", + "description": "Deletes a specific organization.", + "operationId": "deleteOrganization", + "x-cli-name": "organizations:delete", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Deleted organization": { + "value": { + "message": "Deleted organization." + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Associated subscriptions": { + "value": { + "error": "validation_error", + "message": { + "general": "This organization has associated subscriptions and cannot be deleted." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No Permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to delete this organization." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found or No Permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to delete does not exist, or you do not have permission to delete it." + } + }, + "Not Found": { + "value": { + "error": "not_found", + "message": "The organization with UUID bfafd31a-83a6-4257-b0ec-afdeff83117a does not exist." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/actions/change-owner": { + "post": { + "tags": [ + "Organizations" + ], + "summary": "Changes the organization owner.", + "description": "Changes the organization owner.", + "operationId": "postChangeOrganizationOwner", + "x-cli-name": "organizations:owner-change", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "user_uuid" + ], + "properties": { + "user_uuid": { + "type": "string", + "description": "The uuid of the user you want to make the owner for this organization.", + "format": "uuid" + } + } + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "user_uuid" + ], + "properties": { + "user_uuid": { + "type": "string", + "description": "The uuid of the user you want to make the owner for this organization.", + "format": "uuid" + } + } + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Changed owner": { + "value": { + "message": "Changed organization owner." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to change the organization owner." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No organization or permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No organization": { + "value": { + "error": "not_found", + "message": "The organization with UUID 07557159-264f-45eb-8f70-553b8ed21b16 does not exist." + } + }, + "No user": { + "value": { + "error": "not_found", + "message": "The user with UUID 3ba405e6-8621-4557-b78a-7d92baa79783 does not exist." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "New owner must be administrator": { + "value": { + "error": "conflict", + "message": "The new owner must be an existing administrator of the organization." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/actions/leave": { + "post": { + "tags": [ + "Organizations" + ], + "summary": "Removes your account from an organization.", + "description": "Removes your account from an organization.", + "operationId": "postLeaveOrganization", + "x-cli-name": "organizations:leave", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Left organization": { + "value": { + "message": "Left organization." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No organization or permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No organization": { + "value": { + "error": "not_found", + "message": "The organization with UUID 07557159-264f-45eb-8f70-553b8ed21b16 does not exist." + } + }, + "Not a member": { + "value": { + "error": "not_found", + "message": "You are not a member of this organization." + } + }, + "No user": { + "value": { + "error": "not_found", + "message": "The user with UUID 3ba405e6-8621-4557-b78a-7d92baa79783 does not exist." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Organization owner cannot be removed": { + "value": { + "error": "conflict", + "message": "The organization owner cannot be removed." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/admins": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of organization administrators.", + "description": "Returns a list of organization administrators.\n\nFilterable fields:\n* `first_name`\n* `last_name`\n* `mail`\n* `username`\n\nSortable fields:\n* `first_name`\n* `last_name`\n* `mail`\n* `username`\n", + "operationId": "getOrganizationAdmins", + "x-cli-name": "organizations:admin-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationAdminUserProfiles" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a" + } + }, + "_embedded": { + "items": [ + { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "last_login_at": "2017-03-28T13:07:54-0500", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar", + "username": "james.kirk", + "flags": { + "owner": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3" + } + } + }, + { + "uuid": "30dacb5e-4122-11e1-9eb5-12313928d3c2", + "first_name": "Christopher", + "last_name": "Pike", + "last_login_at": "2016-03-28T13:07:54-0500", + "mail": "chris.pike@example.com", + "picture_url": "https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar", + "username": "chris.pike", + "flags": { + "owner": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/30dacb5e-4122-11e1-9eb5-12313928d3c2" + } + } + }, + { + "uuid": "3bcddc3a-52ba-4cce-aaa3-9adf721c1b52", + "first_name": "Jonathan", + "last_name": "Archer", + "last_login_at": null, + "mail": "jonathan.archer@example.com", + "picture_url": "https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar", + "username": "jonathan.archer", + "flags": { + "owner": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/admins/{userUuid}": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns the user profile of this organization administrator.", + "description": "Returns the user profile of this organization administrator.", + "operationId": "getOrganizationAdmin", + "x-cli-name": "organizations:admin-find", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationAdminUserProfile" + }, + "example": { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "last_login_at": "2017-03-28T13:07:54-0500", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar", + "username": "james.kirk", + "flags": { + "owner": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/admins/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/admins" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view this administrator." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or no permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Organizations" + ], + "summary": "Removes the user from the list of administrators for the organization.", + "description": "Removes the user from the list of administrators for the organization.", + "operationId": "deleteOrganizationAdmin", + "x-cli-name": "organizations:admin-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Member removed": { + "value": { + "message": "Organization administrator removed." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No organization or permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to administer does not exist, or you do not have permission to administer it." + } + }, + "Organization not found": { + "value": { + "error": "not_found", + "message": "The organization with UUID 653077de-9349-4822-a104-5e5a8dd2ba05 does not exist." + } + }, + "User mismatch": { + "value": { + "error": "validation_failed", + "message": "The user is not an administrator for this organization." + } + }, + "User not found": { + "value": { + "error": "not_found", + "message": "The user with UUID 5404f30f-465c-4d94-80f1-61f1d35fde0b does not exist." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/admin-invites": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Gets a list of invitations of administrators for this organization.", + "description": "Gets a list of invitations of administrators for this organization.\n\nFilterable fields:\n* `first_name`\n* `last_name`\n* `permission`\n\nSortable fields:\n* `first_name`\n* `last_name`\n* `permission`\n", + "operationId": "getOrganizationAdminInvites", + "x-cli-name": "organizations:admin-invite-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Range" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationAdminInvites" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admin-invites" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a" + } + }, + "_embedded": { + "items": [ + { + "author": { + "uuid": "0f1915e8-cd84-4386-94b8-21926fc376f5", + "username": "jane.doe", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com" + }, + "organization": { + "name": "Organization Name", + "uuid": "a45a99ce-e1ae-47ac-a570-8189bc4d3347" + }, + "uuid": "f921fa88-47e3-49df-9dbb-75950aaca428", + "email": "invitee@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ec", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec" + } + } + }, + { + "organization": { + "name": "Organization Name", + "uuid": "a45a99ce-e1ae-47ac-a570-8189bc4d3347" + }, + "author": { + "uuid": "3f694d6e-3aec-4408-a04f-26ac026118d9", + "username": "john.doe", + "first_name": "John", + "last_name": "Doe", + "mail": "john.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com" + }, + "uuid": "857a8ec9-ac33-428d-8b1c-718d7f6f9aa4", + "email": "invitee2@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ed", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Organizations" + ], + "summary": "Invites a user to be an administrator in this organization.", + "description": "Invites a user to be an administrator in this organization.", + "operationId": "postOrganizationAdminInvite", + "x-cli-name": "organizations:admin-invite-create", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "email" + ], + "properties": { + "email": { + "type": "string", + "description": "The email address of the user to invite as an administrator for this organization.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "email": "invitee@example.com" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "email" + ], + "properties": { + "email": { + "type": "string", + "description": "The email address of the user to invite as an administrator for this organization.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "email": "invitee@example.com" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Role created": { + "value": { + "message": "Invited organization administrator." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to retrieve does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Missing team": { + "value": { + "error": "conflict", + "message": "An invitation to test@example.com has already been sent. It was sent on May 6, 2016 - 7:26pm." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/applications": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of applications that belong to the organization.", + "description": "Returns a list of applications that belong to the organization.\n\nFilterable fields:\n* `name`\n* `organization_name`\n\nSortable fields:\n* `name`\n* `organization_name`\n", + "operationId": "getOrganizationApplications", + "x-cli-name": "organizations:applications-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationApplications" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 10, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?offset}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481" + } + }, + "_embedded": { + "items": [ + { + "id": 241643, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample application 1", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "be3a7975-d62b-4e29-b24f-dfb2a43468e6", + "name": "Sample subscription" + }, + "organization": { + "uuid": "d4e44648-8780-4105-905c-43a1eb486481", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "status": "normal", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "tags": [ + { + "name": "tag-1", + "color": "blue", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + }, + { + "name": "tag-2", + "color": "green", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + } + ] + }, + { + "id": 954291, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d471", + "name": "Sample application 2", + "hosting": { + "type": "free", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "be3a7975-d62b-4e29-b24f-dfb2a43468e6", + "name": "Sample subscription" + }, + "organization": { + "uuid": "d4e44648-8780-4105-905c-43a1eb486481", + "name": "Sample organization" + }, + "flags": { + "remote_admin": false + }, + "status": "provisioning", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471" + } + }, + "tags": [ + { + "name": "tag-1", + "color": "blue", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + }, + { + "name": "tag-2", + "color": "green", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags" + } + } + } + ] + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/available-tags": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of all available application tags.", + "description": "Returns a list of all available application tags.", + "operationId": "getOrganizationAvailableTags", + "x-cli-name": "organizations:available-tags-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationAvailableTags" + }, + "example": { + "total": 1, + "pagination": { + "total": 1, + "limit": 1, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c" + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "name": "Dev", + "color": "orange", + "context": { + "organization": { + "uuids": [ + "2375e327-3fff-11e3-9170-12313920a02c" + ] + }, + "application": { + "uuids": [ + "185f07c7-9c4f-407b-8968-67892ebcb38a" + ] + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Organizations" + ], + "summary": "Adds bulk tags to organization resources.", + "description": "Adds bulk tags to organization resources.", + "operationId": "postOrganizationAvailableTags", + "x-cli-name": "organizations:available-tags-create", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "tags", + "context" + ], + "properties": { + "tags": { + "type": "array", + "description": "A list of tags to be added.", + "items": { + "type": "object", + "description": "Tag object.", + "required": [ + "name", + "color" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the tag.", + "minLength": 2, + "maxLength": 16 + }, + "color": { + "type": "string", + "description": "The color name of the tag found via the GET /api/options/colors endpoint." + } + } + } + }, + "context": { + "type": "object", + "description": "Context resources of tags. Currently supports `application` identifier and `uuids` type.", + "required": [ + "application" + ], + "properties": { + "application": { + "type": "object", + "description": "The resource identifier for applications.", + "required": [ + "uuids" + ], + "properties": { + "uuids": { + "type": "array", + "description": "A list of application uuids as a resource type.", + "items": { + "type": "string", + "description": "An application UUID.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + } + } + } + } + }, + "example": { + "tags": [ + { + "name": "tag-name-1", + "color": "green" + }, + { + "name": "tag-name-2", + "color": "blue" + } + ], + "context": { + "application": { + "uuids": [ + "96e10bfb-1e4f-41c3-9d07-fffe8aba50d5" + ] + } + } + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "tags", + "context" + ], + "properties": { + "tags": { + "type": "array", + "description": "A list of tags to be added.", + "items": { + "type": "object", + "description": "Tag object.", + "required": [ + "name", + "color" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the tag.", + "minLength": 2, + "maxLength": 16 + }, + "color": { + "type": "string", + "description": "The color name of the tag found via the GET /api/options/colors endpoint." + } + } + } + }, + "context": { + "type": "object", + "description": "Context resources of tags. Currently supports `application` identifier and `uuids` type.", + "required": [ + "application" + ], + "properties": { + "application": { + "type": "object", + "description": "The resource identifier for applications.", + "required": [ + "uuids" + ], + "properties": { + "uuids": { + "type": "array", + "description": "A list of application uuids as a resource type.", + "items": { + "type": "string", + "description": "An application UUID.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + } + } + } + } + }, + "example": { + "tags": [ + { + "name": "tag-name-1", + "color": "green" + }, + { + "name": "tag-name-2", + "color": "blue" + } + ], + "context": { + "application": { + "uuids": [ + "96e10bfb-1e4f-41c3-9d07-fffe8aba50d5" + ] + } + } + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "201": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Tags have been updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/87c7be4d-d65d-4a5c-b36b-d921ca86c590/available-tags" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/87c7be4d-d65d-4a5c-b36b-d921ca86c590" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Forbidden": { + "value": { + "error": "forbidden", + "message": "You do not have permission to add tags to one or more of the specified resources." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Organizations" + ], + "summary": "Deletes bulk tags from organization resources.", + "description": "Deletes bulk tags from organization resources.", + "operationId": "deleteOrganizationAvailableTags", + "x-cli-name": "organizations:available-tags-delete", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "tags", + "context" + ], + "properties": { + "tags": { + "type": "array", + "description": "A list of tags to be deleted.", + "items": { + "type": "object", + "description": "Tag name object.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the tag.", + "minLength": 2, + "maxLength": 16 + } + } + } + }, + "context": { + "type": "object", + "description": "Context resources of tags. Currently supports `application` identifier and `uuids` type.", + "required": [ + "application" + ], + "properties": { + "application": { + "type": "object", + "description": "The resource identifier for applications.", + "required": [ + "uuids" + ], + "properties": { + "uuids": { + "type": "array", + "description": "A list of application uuids as a resource type.", + "items": { + "type": "string", + "description": "An application UUID.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + } + } + } + } + }, + "example": { + "tags": [ + { + "name": "tag-name-1" + }, + { + "name": "tag-name-2" + } + ], + "context": { + "application": { + "uuids": [ + "96e10bfb-1e4f-41c3-9d07-fffe8aba50d5" + ] + } + } + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "tags", + "context" + ], + "properties": { + "tags": { + "type": "array", + "description": "A list of tags to be deleted.", + "items": { + "type": "object", + "description": "Tag object.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The label of the tag.", + "minLength": 2, + "maxLength": 16 + } + } + } + }, + "context": { + "type": "object", + "description": "Context resources of tags. Currently supports `application` identifier and `uuids` type.", + "required": [ + "application" + ], + "properties": { + "application": { + "type": "object", + "description": "The resource identifier for applications.", + "required": [ + "uuids" + ], + "properties": { + "uuids": { + "type": "array", + "description": "A list of application uuids as a resource type.", + "items": { + "type": "string", + "description": "An application UUID.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + } + } + } + } + }, + "example": { + "tags": [ + { + "name": "tag-name-1" + }, + { + "name": "tag-name-2" + } + ], + "context": { + "application": { + "uuids": [ + "96e10bfb-1e4f-41c3-9d07-fffe8aba50d5" + ] + } + } + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Tags have been updated.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/1be8dcdf-e4fd-4a89-9d64-9e4486272c7a/available-tags" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/1be8dcdf-e4fd-4a89-9d64-9e4486272c7a" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/154f88be-b9c0-47c4-b0cb-83eb6aebb7b7" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Forbidden": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove tags from one or more of the specified resources." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not Found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/identity-provider": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns an identity provider for an organization.", + "description": "Returns an identity provider for an organization.", + "operationId": "getOrganizationIdentityProvider", + "x-cli-name": "organizations:identity-provider-find", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/IdentityProvider" + }, + "example": { + "uuid": "1bc5dbb4-6d59-403b-afc7-777e520aaa40", + "label": "Test identity provider", + "idp_entity_id": "https://idp.example.com/saml", + "sp_entity_id": "https://sp.example.com/saml", + "sso_url": "https://example.com/sso", + "certificate": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----", + "status": "enabled", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/identity-providers/1bc5dbb4-6d59-403b-afc7-777e520aaa40" + }, + "parent": { + "href": "https://cloud.acquia.com/api/identity-providers" + }, + "acs": { + "href": "https://accounts.acquia.com/api/auth/saml/acs/1bc5dbb4-6d59-403b-afc7-777e520aaa40" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The identity provider you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/members": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of all organization members.", + "description": "Returns a list of all organization members, from all teams in this organization.\n\nFilterable fields:\n* `first_name`\n* `last_name`\n* `permission`\n\nSortable fields:\n* `first_name`\n* `last_name`\n* `permission`\n", + "operationId": "getOrganizationMembers", + "x-cli-name": "organizations:members-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationMembers" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a" + } + }, + "_embedded": { + "items": [ + { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "last_login_at": "2017-03-28T13:07:54-0500", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar", + "username": "james.kirk", + "teams": [ + { + "name": "Team Name 1", + "uuid": "26c4af83-545b-45cb-b165-d537adc9e0b4", + "roles": [ + { + "uuid": "5f7da0a9-9ff0-4db8-802e-9d2b9969efc2", + "name": "Senior Developer" + } + ] + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3" + } + } + }, + { + "uuid": "30dacb5e-4122-11e1-9eb5-12313928d3c2", + "first_name": "Christopher", + "last_name": "Pike", + "mail": "chris.pike@example.com", + "last_login_at": "2018-02-19T13:07:54-0500", + "picture_url": "https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar", + "username": "chris.pike", + "teams": [ + { + "name": "Team Name 2", + "uuid": "af55adc6-14d4-4f10-92d7-99c673549935", + "roles": [ + { + "uuid": "d33cd9ff-281d-4bcf-9f89-b10b249caa35", + "name": "Developer" + } + ] + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/30dacb5e-4122-11e1-9eb5-12313928d3c2" + } + } + }, + { + "uuid": "3bcddc3a-52ba-4cce-aaa3-9adf721c1b52", + "first_name": "Jonathan", + "last_name": "Archer", + "last_login_at": null, + "mail": "jonathan.archer@example.com", + "picture_url": "https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar", + "username": "jonathan.archer", + "teams": [ + { + "name": "Team Name 1", + "uuid": "26c4af83-545b-45cb-b165-d537adc9e0b4", + "roles": [ + { + "uuid": "312c0121-906b-4498-8402-7b479172768c", + "name": "Team Lead" + } + ] + }, + { + "name": "Team Name 2", + "uuid": "af55adc6-14d4-4f10-92d7-99c673549935", + "roles": [ + { + "uuid": "d33cd9ff-281d-4bcf-9f89-b10b249caa35", + "name": "Developer" + } + ] + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/members/{userUuid}": { + "get": { + "tags": [ + "Organizations" + ], + "description": "Returns the user profile of this organization member.", + "summary": "Returns the user profile of this organization member.", + "operationId": "getOrganizationMember", + "x-cli-name": "organizations:member-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationUserProfile" + }, + "example": { + "uuid": "3bcddc3a-52ba-4cce-aaa3-9adf721c1b52", + "first_name": "Jonathan", + "last_name": "Archer", + "last_login_at": "2017-03-28T13:07:54-0500", + "mail": "jonathan.archer@example.com", + "picture_url": "https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar", + "username": "jonathan.archer", + "teams": [ + { + "name": "Team Name 1", + "uuid": "7325ba1a-5bfd-4341-9b23-55ffada3c131", + "roles": [ + { + "uuid": "312c0121-906b-4498-8402-7b479172768c", + "name": "Team Lead" + } + ] + }, + { + "name": "Team Name 2", + "uuid": "bca134fb-55d4-41ec-9558-d14531fa9899", + "roles": [ + { + "uuid": "d33cd9ff-281d-4bcf-9f89-b10b249caa35", + "name": "Developer" + } + ] + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members" + }, + "applications": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/applications" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view this member." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No organization or permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Organizations" + ], + "summary": "Removes the member from the organization.", + "description": "Removes the member from the organization.", + "operationId": "postOrganizationMemberDelete", + "x-cli-name": "organizations:member-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Member removed": { + "value": { + "message": "Organization member removed." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No organization or permission": { + "value": { + "error": "not_found", + "message": "The organization you are trying to administer does not exist, or you do not have permission to administer it." + } + }, + "Organization not found": { + "value": { + "error": "not_found", + "message": "The organization with UUID 653077de-9349-4822-a104-5e5a8dd2ba05 does not exist." + } + }, + "User not found": { + "value": { + "error": "not_found", + "message": "The user with UUID 5404f30f-465c-4d94-80f1-61f1d35fde0b does not exist." + } + }, + "User mismatch": { + "value": { + "error": "not_found", + "message": "The user is not a member of this organization." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application mismatch": { + "value": { + "error": "conflict", + "message": "The organization owner cannot be removed." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/members/{userUuid}/applications": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of applications that an organization member has access to.", + "description": "Returns a list of applications that an organization member has access to.", + "operationId": "getOrganizationMemberApplications", + "x-cli-name": "organizations:member-application-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Applications" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de" + } + }, + "_embedded": { + "items": [ + { + "id": 241643, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample application 1", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "be3a7975-d62b-4e29-b24f-dfb2a43468e6", + "name": "Sample subscription" + }, + "organization": { + "uuid": "d4e44648-8780-4105-905c-43a1eb486481", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "status": "normal", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + { + "id": 954291, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d471", + "name": "Sample application 2", + "hosting": { + "type": "free", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "be3a7975-d62b-4e29-b24f-dfb2a43468e6", + "name": "Sample subscription" + }, + "organization": { + "uuid": "d4e44648-8780-4105-905c-43a1eb486481", + "name": "Sample organization" + }, + "flags": { + "remote_admin": false + }, + "status": "provisioning", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found or no permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view the applications this member has access to." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/notifications": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of notifications associated with this organization by its UUID.", + "description": "Returns a list of notifications associated with this organization. A notification represents an item of work to be done, initiated by someone (typically the current user) associated with the organization.\n\nFilterable fields:\n* `event`\n* `label`\n* `description`\n* `status`\n* `author`\n* `created_at`\n* `completed_at`\n\nSortable fields:\n* `event`\n* `label`\n* `description`\n* `status`\n* `author`\n* `created_at`\n* `completed_at`\n", + "operationId": "getOrganizationNotifications", + "x-cli-name": "organizations:notification-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "organization/json": { + "schema": { + "$ref": "#/components/schemas/OrganizationsNotifications" + }, + "example": { + "total": 1, + "pagination": { + "total": 1, + "limit": 1, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d" + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "uuid": "5c5e848b-296a-4c64-94aa-5a97d99da189", + "event": "TeamCreated", + "label": "Team created", + "description": "Created a new team project anomaly.", + "created_at": "2022-12-08T15:42:37.000Z", + "completed_at": "2022-12-08T15:42:37.000Z", + "status": "completed", + "progress": 100, + "context": { + "team": { + "new_name": "project anomaly", + "uuids": [ + "4002d7cb-9c89-42f8-8515-4cfc3eb03230" + ] + }, + "author": { + "uuid": "08a44409-568f-46f6-8038-4f30e19e3eb2", + "actual_uuid": "08a44409-568f-46f6-8038-4f30e19e3eb2" + }, + "user": { + "uuids": [ + "08a44409-568f-46f6-8038-4f30e19e3eb2" + ] + }, + "organization": { + "uuids": [ + "2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d" + ] + }, + "role": { + "uuids": [ + "8095f9db-5f02-4338-9e90-7772715b5345", + "b9f366a5-210f-41ad-b99f-feaa61e71394", + "ddd251c6-5095-4cdb-8902-b3839edfffb4", + "3c4b2884-60c8-4ca3-9be5-b01c0159658c", + "3cb1519a-20be-4f69-8a5f-4037dff0acd1", + "1dd0f44b-6118-4c95-a3a2-a9deea32b2b0" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/notifications/5c5e848b-296a-4c64-94aa-5a97d99da189" + }, + "parent": { + "href": "https://cloud.acquia.com/api/notifications" + } + }, + "_embedded": { + "author": { + "uuid": "08a44409-568f-46f6-8038-4f30e19e3eb2", + "first_name": "Thomas", + "last_name": "Anderson", + "last_login_at": "2022-11-30T16:22:48.000Z", + "created_at": "2019-10-15T20:22:19.000Z", + "email": "thomas.a.anderson@acquia.com", + "picture_url": "https://accounts.acquia.com/images/users/08a44409-568f-46f6-8038-4f30e19e3eb2/style/avatar", + "username": "thomas.a.anderson@acquia.com" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "organization/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/roles": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of all the canonical roles within the organization.", + "description": "Returns a list of all the canonical roles within the organization.\n\nFilterable fields:\n* `name`\n* `edited_at'\n\nSortable fields:\n* `name`\n* `edited_at`\n", + "operationId": "getOrganizationRoles", + "x-cli-name": "organizations:roles-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Range" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Roles" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede" + } + }, + "_embedded": { + "items": [ + { + "uuid": "312c0121-906b-4498-8402-7b479172768c", + "name": "Team Lead", + "description": "Some details about team lead.", + "permissions": [ + { + "name": "administer team", + "label": "Add or remove a user of a team", + "description": "Granting this permission will give any user with this role full permissions on this team.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + } + ], + "organization": { + "uuid": "065f4d9e-efbf-4b0e-8cf6-42fa432baede", + "name": "Example Organization" + }, + "last_edited": { + "edited_at": "2011-03-28T17:09:41.000Z", + "user": { + "uuid": "aaaa1234-11e2-c374-6954-6931d150b259", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com", + "username": "jane.doe" + } + }, + "flags": { + "default": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/312c0121-906b-4498-8402-7b479172768c" + } + } + }, + { + "uuid": "5f7da0a9-9ff0-4db8-802e-9d2b9969efc2", + "name": "Senior Developer", + "description": "Some details about senior developer.", + "permissions": [ + { + "name": "access cloud api", + "label": "Access the Cloud API", + "description": "Grants the ability to use the API and bypass all other permissions via command line tools.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "administer team", + "label": "Add or remove a user of a team", + "description": "Granting this permission will give any user with this role full permissions on this team.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + } + ], + "organization": { + "uuid": "065f4d9e-efbf-4b0e-8cf6-42fa432baede", + "name": "Example Organization" + }, + "last_edited": { + "edited_at": "2011-03-28T17:09:41.000Z", + "user": { + "uuid": "6661357e-f562-4b77-8de9-60b4bf83e01b", + "first_name": "Acquia", + "last_name": "Support", + "mail": "support@acquia.com", + "picture_url": null, + "username": "support.acquia" + } + }, + "flags": { + "default": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/5f7da0a9-9ff0-4db8-802e-9d2b9969efc2" + } + } + }, + { + "uuid": "d33cd9ff-281d-4bcf-9f89-b10b249caa35", + "name": "Developer", + "description": "Some details about developer.", + "permissions": [ + { + "name": "access cloud api", + "label": "Access the Cloud API", + "description": "Grants the ability to use the API and bypass all other permissions via command line tools.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + } + ], + "organization": { + "uuid": "065f4d9e-efbf-4b0e-8cf6-42fa432baede", + "name": "Example Organization" + }, + "last_edited": { + "edited_at": "2011-03-28T17:09:41.000Z", + "user": { + "uuid": "bbbb1234-11e2-c374-6954-6931d150b259", + "first_name": "John", + "last_name": "Doe", + "mail": "john.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com", + "username": "john.doe" + } + }, + "flags": { + "default": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/5f7da0a9-9ff0-4db8-802e-9d2b9969efc2" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Organizations" + ], + "summary": "Creates a role.", + "description": "Creates a role.", + "operationId": "postOrganizationRoles", + "x-cli-name": "organizations:role-create", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "name", + "permissions" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the new role to create.", + "minLength": 1, + "maxLength": 255 + }, + "description": { + "type": "string", + "description": "The description of the new role.", + "minLength": 1, + "maxLength": 255 + }, + "permissions": { + "type": "array", + "description": "An array of permissions to grant to this role.", + "items": { + "type": "string", + "description": "A permission." + } + } + } + }, + "example": { + "name": "My new role", + "description": "My role description", + "permissions": [ + "permission 1", + "permission 2" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "name", + "permissions" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the new role to create.", + "minLength": 1, + "maxLength": 255 + }, + "description": { + "type": "string", + "description": "The description of the new role.", + "minLength": 1, + "maxLength": 255 + }, + "permissions": { + "type": "array", + "description": "An array of permissions to grant to this role.", + "items": { + "type": "string", + "description": "A permission." + } + } + } + }, + "example": { + "name": "My new role", + "description": "My role description", + "permissions": [ + "permission 1", + "permission 2" + ] + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Role created": { + "value": { + "message": "Role created." + } + } + } + } + } + }, + "400": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Invalid permission": { + "value": { + "error": "validation_failed", + "message": { + "permissions": "The permission 'permission 1' is not a valid permission" + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to retrieve does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role already exists": { + "value": { + "error": "conflict", + "message": "The name for this role is already being used within this organization." + } + }, + "Missing team": { + "value": { + "error": "conflict", + "message": "An organization must have at least one team in order to create new roles." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/subscriptions": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of subscriptions that belong to the organization.", + "description": "Returns a list of subscriptions that belong to the organization.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getOrganizationSubscriptions", + "x-cli-name": "organizations:subscriptions-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Range" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Applications" + }, + "example": { + "$ref": "#/paths/~1organizations~1%7BorganizationUuid%7D~1applications/get/responses/200/content/application~1hal%2Bjson/example" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/team-invites": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Gets a list of member invitations for all teams in this organization.", + "description": "Gets a list of member invitations for all teams in this organization.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getOrganizationTeamInvites", + "x-cli-name": "organizations:team-invite-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/OrganizationTeamInvites" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96" + } + }, + "_embedded": { + "items": [ + { + "applications": [], + "author": { + "uuid": "879fc134-e8d9-49ab-a1a8-ffa33fddf8c9", + "first_name": "Joe", + "last_name": "Smith", + "last_login_at": "2019-01-30T13:58:07.000Z", + "created_at": "2014-08-14T21:37:23.000Z", + "mail": "joe.smith@example.com", + "picture_url": "https://accounts.acquia.com/images/users/879fc134-e8d9-49ab-a1a8-ffa33fddf8c9/style/avatar", + "username": "joe.smith" + }, + "organization": { + "uuid": "d72c0cf8-62e2-418d-8530-6e54f122cf96", + "name": "Organization Name" + }, + "roles": [ + { + "uuid": "f540b0ba-d32e-4f48-be78-e932ccb8c201", + "name": "Senior Developer" + } + ], + "team": { + "uuid": "c682c830-f67a-4c49-9444-9ef8cec46f43", + "name": "Team Name 1" + }, + "uuid": "fd745f4b-178f-4c09-87cc-4061a60eb1c9", + "email": "invitee@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ec", + "flags": { + "declined": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec" + } + } + }, + { + "applications": [], + "author": { + "uuid": "7e181890-bfb9-40d7-874b-ec78912c7525", + "first_name": "Jane", + "last_name": "Smith", + "last_login_at": "2018-01-30T13:58:07.000Z", + "created_at": "2017-08-14T21:37:23.000Z", + "mail": "jane.smith@example.com", + "picture_url": "https://accounts.acquia.com/images/users/7e181890-bfb9-40d7-874b-ec78912c7525/style/avatar", + "username": "joe.smith" + }, + "organization": { + "uuid": "d72c0cf8-62e2-418d-8530-6e54f122cf96", + "name": "Organization Name" + }, + "roles": [ + { + "uuid": "f540b0ba-d32e-4f48-be78-e932ccb8c201", + "name": "Senior Developer" + }, + { + "uuid": "84217d35-78df-4d1b-91b5-de165ce6c2e7", + "name": "Team Lead" + } + ], + "team": { + "uuid": "c682c830-f67a-4c49-9444-9ef8cec46f43", + "name": "Team Name 1" + }, + "uuid": "036612d0-8879-44a6-b2e2-93e0e30fc7fb", + "email": "invitee2@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ed", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed" + } + } + }, + { + "applications": [], + "author": { + "uuid": "36dd8434-8eda-4c75-9f80-4f8a76d622b2", + "first_name": "David", + "last_name": "Green", + "last_login_at": "2018-03-21T13:48:07.000Z", + "created_at": "2016-03-14T21:37:23.000Z", + "mail": "david.green@example.com", + "picture_url": "https://accounts.acquia.com/images/users/36dd8434-8eda-4c75-9f80-4f8a76d622b2/style/avatar", + "username": "joe.smith" + }, + "organization": { + "uuid": "d72c0cf8-62e2-418d-8530-6e54f122cf96", + "name": "Organization Name" + }, + "roles": [ + { + "uuid": "f540b0ba-d32e-4f48-be78-e932ccb8c201", + "name": "Senior Developer" + } + ], + "team": { + "uuid": "16fa24c5-ff65-4e21-902d-58af2aa11b4c", + "name": "Team Name 2" + }, + "uuid": "24f7baea-5d0c-4860-8838-23130f092c48", + "email": "invitee2@example.com", + "created_at": "2013-05-15T12:00:00.000Z", + "token": "aa1ea69fdcb6bee08b31a858b85535ee", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/aa1ea69fdcb6bee08b31a858b85535ee" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/organizations/{organizationUuid}/teams": { + "get": { + "tags": [ + "Organizations" + ], + "summary": "Returns a list of teams associated with the organization.", + "description": "Returns a list of teams associated with the organization.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getOrganizationTeams", + "x-cli-name": "organizations:team-list", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Teams" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams" + }, + "sort": { + "href": "https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc" + } + }, + "_embedded": { + "items": [ + { + "uuid": "e8a29774-8f46-4765-9529-d564c81ba05f", + "name": "Team Name 1", + "created_at": "2013-10-28T14:16:07-0700", + "updated_at": "2015-02-19T08:53:10-0800", + "organization": { + "uuid": "842da900-3488-4139-9f31-656665857267", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c" + } + } + }, + { + "uuid": "4b30d7e6-84af-4d80-931a-4172f57fe1b0", + "name": "Team Name 2", + "created_at": "2014-05-27T11:55:39-0700", + "updated_at": "2015-01-30T05:49:16-0800", + "organization": { + "uuid": "842da900-3488-4139-9f31-656665857267", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Organizations" + ], + "summary": "Creates a team.", + "description": "Creates a team.", + "operationId": "postOrganizationTeams", + "x-cli-name": "organizations:team-create", + "parameters": [ + { + "$ref": "#/components/parameters/OrganizationUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the new team to create.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My new team" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the new team to create.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My new team" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Invited": { + "value": { + "message": "Team created." + } + } + } + } + } + }, + "201": { + "description": "Created", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Team" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The organization you are trying to retrieve does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Team name already exists": { + "value": { + "error": "conflict", + "message": "A team with this name already exists in this organization." + } + } + } + } + } + } + } + } + }, + "/permissions": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Return a list of permissions.", + "description": "Displays a list of all available permissions currently in the system. This will include permissions that the user\nmay not have access to.\n", + "operationId": "getPermissions", + "x-cli-name": "permissions:list", + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Permissions" + }, + "example": { + "total": 49, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/permissions" + } + }, + "_embedded": { + "items": [ + { + "name": "deploy to non-prod", + "label": "Pull and deploy code, files, or databases to non-production environments", + "description": "Grants the ability to enable or disable live development and non-production work.", + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "deploy to prod", + "label": "Deploy code, files, or databases to the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "pull from prod", + "label": "Pull files or databases from the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file to non-prod", + "label": "Move files to non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file to prod", + "label": "Move files to the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file from prod", + "label": "Move files from production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "move file from non-prod", + "label": "Move files from non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "clear varnish on non-prod", + "label": "Clear Varnish cache for non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": true + } + }, + { + "name": "clear varnish on prod", + "label": "Clear Varnish cache for the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": true + } + }, + { + "name": "configure prod env", + "label": "Configure production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "configure non-prod env", + "label": "Configure non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "add an environment", + "label": "Add an environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "delete an environment", + "label": "Delete an environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "administer domain non-prod", + "label": "Add or remove domains for non-production environments", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer domain prod", + "label": "Add or remove domains for the production environment", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer ssl prod", + "label": "Add or remove SSL certificates for the production environment", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "administer ssl non-prod", + "label": "Add or remove SSL certificates for the non-production environments", + "description": null, + "group_label": "Domains", + "flags": { + "deprecated": false + } + }, + { + "name": "reboot server", + "label": "Reboot server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "resize server", + "label": "Resize server", + "description": "Increasing the size of your server costs money.", + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "suspend server", + "label": "Suspend server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "configure server", + "label": "Configure server", + "description": null, + "group_label": "Server administration", + "flags": { + "deprecated": false + } + }, + { + "name": "download logs non-prod", + "label": "Download logs for non-production environments", + "description": null, + "group_label": "Logs", + "flags": { + "deprecated": false + } + }, + { + "name": "download logs prod", + "label": "Download logs for the production environment", + "description": null, + "group_label": "Logs", + "flags": { + "deprecated": false + } + }, + { + "name": "add database", + "label": "Add a database", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "remove database", + "label": "Remove a database", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "view database connection", + "label": "View database connection details (username, password, or hostname)", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "download db backup non-prod", + "label": "Download database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "download db backup prod", + "label": "Download database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "create db backup non-prod", + "label": "Create database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "create db backup prod", + "label": "Create database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "restore db backup non-prod", + "label": "Restore database backups for non-production environments", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "restore db backup prod", + "label": "Restore database backups for the production environment", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + }, + { + "name": "administer team", + "label": "Add or remove a user of a team", + "description": "Granting this permission will give any user with this role full permissions on this team.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "access cloud api", + "label": "Access the Cloud API", + "description": "Grants the ability to use the API and bypass all other permissions via command line tools.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "administer cron non-prod", + "label": "Modify cron tasks for non-production environments", + "description": null, + "group_label": "Cron", + "flags": { + "deprecated": false + } + }, + { + "name": "administer cron prod", + "label": "Modify cron tasks for the production environment", + "description": null, + "group_label": "Cron", + "flags": { + "deprecated": false + } + }, + { + "name": "create support ticket", + "label": "Create a support ticket", + "description": null, + "group_label": "Support", + "flags": { + "deprecated": false + } + }, + { + "name": "edit any support ticket", + "label": "View and edit any support tickets for a subscription", + "description": null, + "group_label": "Support", + "flags": { + "deprecated": false + } + }, + { + "name": "view build plans", + "label": "View Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "edit build plans", + "label": "Edit Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "run build plans", + "label": "Run Build plans", + "description": null, + "group_label": "Build", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to git", + "label": "Add SSH key to git repository", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to non-prod", + "label": "Add SSH key to non-production environments", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "add ssh key to prod", + "label": "Add SSH key to the production environment", + "description": null, + "group_label": "SSH keys", + "flags": { + "deprecated": false + } + }, + { + "name": "view remote administration", + "label": "View Remote Administration", + "description": "This permission is only relevant if your subscription has remote administration.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "edit remote administration", + "label": "Edit Remote Administration", + "description": "This permission is only relevant if your subscription has remote administration.", + "group_label": "Administration", + "flags": { + "deprecated": false + } + }, + { + "name": "clear caches on prod", + "label": "Clear caches for the production environment", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "clear caches on non-prod", + "label": "Clear caches for non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + } + ] + } + } + } + } + } + } + } + }, + "/roles/{roleUuid}": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Return details about a specific role.", + "description": "Roles may be assigned to team members, and grant various permissions to the applications that the team is assigned\nto. Roles are unique within a organization.\n", + "operationId": "getRole", + "x-cli-name": "tps:role-find", + "parameters": [ + { + "$ref": "#/components/parameters/RoleUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Role" + }, + "example": { + "uuid": "c885728d-cbbe-4e54-bf09-19b751b6d0c7", + "name": "My Custom Role", + "description": "Some details about my custom role.", + "permissions": [ + { + "name": "deploy to non-prod", + "label": "Pull and deploy code, files, or databases to non-production environments", + "description": "Grants the ability to enable or disable live development and non-production work.", + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "configure non-prod env", + "label": "Configure non-production environments", + "description": null, + "group_label": "Workflow", + "flags": { + "deprecated": false + } + }, + { + "name": "download logs non-prod", + "label": "Download logs for non-production environments", + "description": null, + "group_label": "Logs", + "flags": { + "deprecated": false + } + }, + { + "name": "view database connection", + "label": "View database connection details (username, password, or hostname)", + "description": null, + "group_label": "Databases", + "flags": { + "deprecated": false + } + } + ], + "organization": { + "uuid": "d122cc06-35bd-41bf-9baa-5b770c8ca0f1", + "name": "My Organization" + }, + "last_edited": { + "edited_at": "2011-03-28T17:09:41.000Z", + "user": { + "uuid": "590909a0-e819-43e6-a8e3-212dc3e35852", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com", + "username": "jane.doe" + } + }, + "flags": { + "default": false + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role not found": { + "value": { + "error": "not_found", + "message": "The role you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Deletes a specific role by its UUID.", + "description": "Deletes a specific role.", + "operationId": "deleteRole", + "x-cli-name": "tps:roles-delete", + "parameters": [ + { + "$ref": "#/components/parameters/RoleUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "Deleted role." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role not found": { + "value": { + "error": "not_found", + "message": "The role you are trying to delete does not exist, or you do not have permission to delete it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Updates a role.", + "operationId": "putRoleByUuid", + "x-cli-name": "tps:role-update", + "security": [ + { + "OAuth2": [] + } + ], + "description": "Modifies a role.", + "parameters": [ + { + "$ref": "#/components/parameters/RoleUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new name of the role.", + "minLength": 1, + "maxLength": 255 + }, + "description": { + "type": "string", + "description": "The new description of the role.", + "minLength": 1, + "maxLength": 255 + }, + "permissions": { + "type": "array", + "description": "An array of the permissions associated with the role.", + "items": { + "type": "string" + } + } + } + }, + "example": { + "name": "My new role name", + "description": "My new role description.", + "permisions": [ + "permission 4", + "permission 5" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The updated name of the role.", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "description": { + "description": "The updated description of the role.", + "type": "string", + "minLength": 1, + "maxLength": 255 + }, + "permissions": { + "description": "A list of permissions to grant to this role.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "example": { + "name": "My new role name", + "description": "My new role description.", + "status": [ + "permission 4", + "permission 5" + ] + } + }, + "example": { + "name": "My new application name" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "example": { + "message": "Updating role." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role not found": { + "value": { + "error": "not_found", + "message": "The role you are trying to access does not exist, or you do not have permission to edit it." + } + } + } + } + } + } + } + } + }, + "/subscriptions": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Return a list of subscription.", + "description": "Filterable fields:\n* `from`\n* `to`\n* `sort`\n* `filter`\n* `limit`\n* `offset`\n\nSortable fields:\n* `from`\n* `to`\n* `sort`\n* `filter`\n* `limit`\n* `offset`\n", + "operationId": "getSubscriptions", + "x-cli-name": "subscriptions:list", + "parameters": [ + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Subscriptions" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions" + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/" + } + }, + "_embedded": { + "items": [ + { + "id": 123, + "uuid": "faa297f3-f59a-4abc-8d71-904f51bcb1c5", + "name": "Acquia Cloud Free Subscription", + "start_at": "2011-03-28T00:00:00.000Z", + "expire_at": "2015-11-11T00:00:00.000Z", + "product": { + "id": 1890149, + "name": "Acquia Cloud Free", + "type": "free" + }, + "applications_total": 3, + "applications_used": 1, + "organization": { + "uuid": "39f38840-c494-4622-80a5-fc40269cb42d", + "name": "Acquia Inc." + }, + "flags": { + "active": true, + "expired": true, + "zuora": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/faa297f3-f59a-4abc-8d71-904f51bcb1c5" + } + }, + "_embedded": { + "organization": { + "uuid": "39f38840-c494-4622-80a5-fc40269cb42d", + "name": "Acquia Inc.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/39f38840-c494-4622-80a5-fc40269cb42d" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations" + } + } + } + } + }, + { + "id": 222, + "uuid": "36496037-6eb5-482d-8549-e45e1718f2b7", + "name": "My Acquia Subscription", + "start_at": "2012-05-15T12:00:00.000Z", + "expire_at": "2015-05-15T12:00:00.000Z", + "product": { + "id": 8999, + "name": "Enterprise", + "type": "enterprise" + }, + "applications_total": 5, + "applications_used": 2, + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization" + }, + "flags": { + "active": true, + "expired": true, + "zuora": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/36496037-6eb5-482d-8549-e45e1718f2b7" + } + }, + "_embedded": { + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations" + } + } + } + } + }, + { + "id": 333, + "uuid": "2d92f652-882c-458a-8183-4d9cef7c2fde", + "name": "My Acquia Subscription 2", + "start_at": "2012-05-15T12:00:00.000Z", + "expire_at": "2015-05-15T12:00:00.000Z", + "product": { + "id": 8999, + "name": "Enterprise", + "type": "enterprise" + }, + "applications_total": 5, + "applications_used": 2, + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization" + }, + "flags": { + "active": true, + "expired": true, + "zuora": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/2d92f652-882c-458a-8183-4d9cef7c2fde" + } + }, + "_embedded": { + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations" + } + } + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "You do not have permission to view subscriptions." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Return details about a specific subscription.", + "description": "Return details about a specific subscription.", + "operationId": "getSubscription", + "x-cli-name": "subscriptions:find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + }, + "example": { + "id": 329876, + "uuid": "8533debb-ae4e-427b-aa34-731719b4201a", + "name": "My Subscription", + "start_at": "2015-05-13T00:00:00.000Z", + "expire_at": "2018-05-12T00:00:00.000Z", + "product": { + "id": 8999, + "name": "Enterprise", + "type": "enterprise" + }, + "applications_total": 10, + "applications_used": 0, + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization" + }, + "flags": { + "active": true, + "expired": true, + "zuora": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a" + }, + "applications": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications" + }, + "entitlements": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/entitlements" + }, + "ides": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/ides" + }, + "shield-acl": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/shield-acl" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions" + } + }, + "_embedded": { + "organization": { + "uuid": "93c97126-2870-47f0-9ffd-9a92033c443e", + "name": "My Organization", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e" + }, + "parent": { + "href": "https://cloud.acquia.com/api/organizations" + } + } + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Subscriptions" + ], + "summary": "Modifies a subscription.", + "description": "Modifies a subscription.", + "operationId": "putSubscription", + "x-cli-name": "subscriptions:update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new subscription name.", + "maxLength": 255 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Subscription updated": { + "value": { + "message": "Subscription updated." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/apm": { + "get": { + "tags": [ + "Application Performance Monitoring Services" + ], + "summary": "Returns a list of Application Performance Monitoring services associated with the subscription.", + "description": "Returns a list of Application Performance Monitoring services associated with the subscription.", + "operationId": "getSubscriptionApmTypes", + "x-cli-name": "subscriptions:apm-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApmTypes" + }, + "example": { + "total": 1, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions" + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "type": "newrelic", + "flags": { + "opted-in": true + }, + "key": "2d1dfa83d5e1494793957e7ce572942b", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to access APM summaries for this subscription." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/apm/{apmType}": { + "get": { + "tags": [ + "Application Performance Monitoring Services" + ], + "summary": "Returns the Application Performance Monitoring service type associated with the subscription.", + "description": "Returns the Application Performance Monitoring service type associated with the subscription.", + "operationId": "getSubscriptionApmType", + "x-cli-name": "subscriptions:apm-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/ApmType" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ApmType" + }, + "example": { + "type": "newrelic", + "flags": { + "opted-in": true + }, + "key": "2d1dfa83d5e1494793957e7ce572942b", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "forbidden", + "message": "You do not have permission to access this APM summary type." + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/apm/{apmType}/actions/opt-in": { + "post": { + "tags": [ + "Application Performance Monitoring Services" + ], + "summary": "Enables New Relic Pro APM license for all applications on a subscription.", + "description": "Enables New Relic Pro APM license for all applications on a subscription. This authorizes Acquia to create a new user account on the third-party New Relic platform using the name and e-mail address of the organization owner.", + "operationId": "postSubscriptionApmOptIn", + "x-cli-name": "subscriptions:apm-opt-in", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/ApmType" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "examples": { + "APM Type Enabled": { + "value": { + "message": "APM type newrelic has been enabled on the example subscription.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic/actions/opt-in" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic/actions" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/7b37b885-8ae4-454b-b8fa-ffaeff54f6a4" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "APM type unavailable": { + "value": { + "error": "validation_failed", + "message": { + "name": "New Relic is not available for this subscription." + } + } + }, + "Must be organization owner": { + "value": { + "error": "validation_failed", + "message": { + "name": "Only the organization owner may opt into data sharing." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to opt-in to APM settings for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/applications": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Provides a list of applications that are a part of the subscription.", + "description": "Filterable fields:\n* `from`\n* `to`\n* `sort`\n* `filter`\n* `limit`\n* `offset`\n\nSortable fields:\n* `from`\n* `to`\n* `sort`\n* `filter`\n* `limit`\n* `offset`\n", + "operationId": "getSubscriptionApplications", + "x-cli-name": "subscriptions:application-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionApplications" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 10, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a" + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?limit}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "id": 241643, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample application 1", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription" + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "status": "normal", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + }, + { + "id": 954291, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d471", + "name": "Sample application 2", + "hosting": { + "type": "free", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d470", + "name": "Sample subscription" + }, + "organization": { + "uuid": "6a907396-abfd-4d01-9da6-64c8efc04519", + "name": "Sample organization" + }, + "flags": { + "remote_admin": false + }, + "status": "provisioning", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "not_found", + "message": "You do not have permission to view applications." + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/code-studio": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves Code Studio metadata for a subscription.", + "description": "Retrieves Code Studio metadata for a subscription.", + "operationId": "getCodeStudioSubscriptionMetadata", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioSubscriptionMetadata" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio" + }, + "subscription": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + }, + "users": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "applications": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications" + }, + "code-studio": { + "href": "https://code.acquia.com" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4" + } + }, + "_embedded": { + "subscription": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + } + }, + "uuid": "e5bfb18f-2c6c-4534-bb9b-15ba73e17342", + "name": "My Subscription" + } + }, + "status": "active" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "options": { + "tags": [ + "Subscriptions" + ], + "summary": "Displays Code Studio options for a subscription.", + "description": "Displays Code Studio options for a subscription.", + "operationId": "optionsCodeStudio", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioOptions" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + } + }, + "roles": { + "a9bdb481-63f4-4770-93ee-bf6c630238cf": "Guest", + "c6c76597-dd30-4149-8a76-3c58d764bc66": "Reporter", + "4a996644-5a6e-4403-9306-6c08cb212ee1": "Developer", + "90abb6cc-f609-41db-a92d-1900b1c7d93f": "Maintainer", + "e62722c0-64dc-4d87-88ac-9f7bef645572": "Owner" + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/code-studio/actions/enable": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Enables Code Studio for a subscription.", + "description": "Enables and provisions Code Studio at the subscription level.", + "operationId": "postEnableCodeStudio", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/actions/enable" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/34c7ed7e-2db8-433f-b6a8-96bc1080e3c9" + } + }, + "notification_id": "34c7ed7e-2db8-433f-b6a8-96bc1080e3c9", + "message": "Code Studio has been enabled for the Subscription." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to enable Code Studio for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/code-studio/applications": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves a list of Code Studio enabled applications for a subscription.", + "description": "Retrieves a list of Code Studio enabled applications for a subscription.", + "operationId": "getCodeStudioApplications", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioApplications" + }, + "example": { + "total": 1, + "pagination": { + "limit": 10, + "total": 1, + "offset": 0 + }, + "_links": { + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + }, + "code-studio": { + "href": "https://code.acquia.com" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4" + }, + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1" + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1{&filter}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1{&sort}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343" + }, + "project": { + "href": "https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343/code-studio" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342" + } + }, + "_embedded": { + "project": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343/code-studio" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343" + }, + "code-studio": { + "href": "https://code.acquia.com/path/to/project" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4/path/to/project" + } + }, + "application_id": "b91be25b-8eba-4ff7-94c8-d51637da2343", + "status": "active" + } + }, + "uuid": "b91be25b-8eba-4ff7-94c8-d51637da2343", + "name": "My Application" + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/code-studio/users": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves a list of users assigned to Code Studio for a subscription.", + "description": "Retrieves a list of users assigned to Code Studio for a subscription.", + "operationId": "getCodeStudioUsers", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioUsers" + }, + "example": { + "total": 1, + "pagination": { + "limit": 10, + "total": 1, + "offset": 0 + }, + "_links": { + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio" + }, + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "code-studio": { + "href": "https://code.acquia.com" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4" + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users{?filter}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users{?sort}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users/cc27c5b6-d641-4e72-8897-75874ecf82e6" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "code-studio": { + "href": "https://code.acquia.com" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4" + } + }, + "uuid": "cc27c5b6-d641-4e72-8897-75874ecf82e6", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@test.com", + "role": "b3d8e9f1-8cb6-43c0-b579-0c465f5fdf49" + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Assigns a user to a Code Studio seat for a subscription.", + "description": "Assigns a user to Code Studio seat for a subscription.", + "operationId": "postCodeStudioUsers", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "user_id": { + "type": "string", + "description": "The ID of the user to assign." + }, + "role": { + "type": "string", + "description": "The ID of the Code Studio role to assign to the user." + } + } + }, + "example": { + "user_id": "0b9bea4e-f469-44dd-a4b6-965aad734198", + "role": "ba8e9a8b-5e98-43b0-a0ec-40b2a813879a" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/4e3cae56-5547-4ac7-b552-5dc87b50a8d3" + } + }, + "message": "A Code Studio user has been added to the Subscription." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to add a Code Studio user to this Subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/code-studio/users/{userUuid}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves details about a specific Code Studio user.", + "description": "Retrieves details about a specific Code Studio user.", + "operationId": "getCodeStudioUser", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/CodeStudioUser" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users/bd06a2fe-a103-400e-b397-b4d27538e1b3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "code-studio": { + "href": "https://code.acquia.com" + }, + "code-studio-api": { + "href": "https://code.acquia.com/api/v4" + } + }, + "uuid": "bd06a2fe-a103-400e-b397-b4d27538e1b3", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@test.com", + "role": "90ad1576-84d9-43e5-b9db-0aad54dd5ade" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "forbidden", + "message": "Code Studio is not available for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Code Studio user not found": { + "value": { + "error": "not_found", + "message": "The Code Studio user you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "summary": "Unassigns a user from a Code Studio seat.", + "description": "Unassigns a user from a Code Studio seat.", + "operationId": "deleteCodeStudioUser", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/4e3cae56-5547-4ac7-b552-5dc87b50a8d3" + } + }, + "message": "The Code Studio user is being removed from the Subscription." + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove the Code Studio user from this Subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/domains": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Returns a list of Domains registered with this subscription.", + "description": "Returns a list of Domains registered with this subscription.", + "operationId": "getSubscriptionDomainRegistrations", + "x-cli-name": "subscriptions:domain-registrations-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/DomainRegistrations" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000" + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?offset}", + "templated": true + }, + "sort": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "domain_name": "example.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record.", + "summary": "Missing DNS record" + }, + "dns_records": [ + { + "type": "TXT", + "name": "_amazonses.example.com", + "value": "AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "TXT", + "name": "_acquiaplatform.example.com", + "value": "aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "MX", + "name": "mail.example.com", + "value": "10 feedback-smtp.us-east-1.amazonses.com", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "TXT", + "name": "mail.example.com", + "value": "v=spf1 include:amazonses.com ~all", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + } + } + }, + { + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "domain_name": "example2.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record.", + "summary": "Missing DNS record" + }, + "dns_records": [ + { + "type": "TXT", + "name": "_amazonses.example2.com", + "value": "AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "TXT", + "name": "_acquiaplatform.example2.com", + "value": "aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "MX", + "name": "mail.example2.com", + "value": "10 feedback-smtp.us-east-1.amazonses.com", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "TXT", + "name": "mail.example2.com", + "value": "v=spf1 include:amazonses.com ~all", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage domain registrations for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Registers a Domain with this subscription.", + "description": "Registers a Domain with this subscription.", + "operationId": "postSubscriptionDomainRegistration", + "x-cli-name": "subscriptions:post-domain-registration", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "format": "hostname", + "description": "The domain name to add.", + "minLength": 3, + "maxLength": 253 + } + } + }, + "example": { + "domain": "example.com" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "The domain name to add.", + "minLength": 3, + "maxLength": 253 + } + } + }, + "example": { + "domain": "example.com" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The domain has been registered.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to manage domain registrations for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No domain or permission": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Domain limit": { + "value": { + "error": "conflict", + "message": "The maximum number of domains for Platform Email have been registered." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/domains/{domainRegistrationUuid}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Returns a speicific Domain registered with this subscription.", + "description": "Returns a speicific Domain registered with this subscription.", + "operationId": "getSubscriptionDomainRegistration", + "x-cli-name": "subscriptions:get-domain-registration", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/DomainRegistrationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/DomainRegistration" + }, + "example": { + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "domain_name": "example.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record.", + "summary": "Missing DNS record" + }, + "dns_records": [ + { + "type": "TXT", + "name": "_amazonses.example.com", + "value": "AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "TXT", + "name": "_acquiaplatform.example.com", + "value": "aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43=", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required TXT DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "MX", + "name": "mail.example.com", + "value": "10 feedback-smtp.us-east-1.amazonses.com", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "TXT", + "name": "mail.example.com", + "value": "v=spf1 include:amazonses.com ~all", + "health": { + "code": "202", + "details": "Acquia is in the process of verifying SPF DNS records.", + "summary": "Verification pending" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + }, + { + "type": "CNAME", + "name": "abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com", + "value": "abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com", + "health": { + "code": "404", + "details": "Acquia could not verify the presence of the required DKIM DNS record", + "summary": "Missing DNS record" + } + } + ], + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No domain or permission": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "summary": "Unregisters a Domain registered with this subscription.", + "description": "Unregisters a Domain registered with this subscription.", + "operationId": "deleteSubscriptionDomainRegistration", + "x-cli-name": "subscriptions:delete-domain-registration", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/DomainRegistrationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The domain has been unregistered from the subscription.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove domains from this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No domain or permission": { + "value": { + "error": "not_found", + "message": "The domain you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Domain not registered": { + "value": { + "error": "conflict", + "message": "example.com is not registered with this subscription." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/domains/{domainRegistrationUuid}/actions/verify": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Triggers re-verification and update to the domain verification status.", + "description": "Triggers re-verification and update to the domain verification status.", + "operationId": "postSubscriptionVerifyDomainRegistration", + "x-cli-name": "subscriptions:post-verify-domain-registration", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/DomainRegistrationUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "The domain status is being verified.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000/actions/verify" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No domain or permission": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription with UUID 123e4567-e89b-12d3-a456-426614174000 does not exist." + } + }, + "No domain or permission": { + "value": { + "error": "not_found", + "message": "The domain registration you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No entitlement": { + "value": { + "error": "conflict", + "message": "Platform Email is not available for this subscription." + } + }, + "Verification already pending": { + "value": { + "error": "conflict", + "message": "This domain cannot be reverified at this time." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/entitlements": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Provides a list of entitlements that are a part of the subscription.", + "description": "Provides a list of entitlements that are a part of the subscription.", + "operationId": "getSubscriptionEntitlements", + "x-cli-name": "subscriptions:entitlements-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Entitlements" + }, + "example": { + "_embedded": { + "items": [ + { + "name": "cde", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": { + "databases_total": 3, + "total": 10, + "used": 1 + } + }, + { + "name": "pipelines", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": [] + }, + { + "name": "newrelic", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": { + "id": "03816870a4724c900292bc9f0955a315", + "level": "pro" + } + }, + { + "name": "log-forwarding", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": [] + }, + { + "name": "shield", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": [] + }, + { + "name": "consumption-based-pricing", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": { + "visits": 10000000, + "views": 500000000 + } + }, + { + "name": "migrate-accelerator", + "offering_ids": [ + "b2a188df-00b7-47bf-a664-66835cde53b0" + ], + "expires_at": "2023-05-16T11:15:05.000Z", + "flags": { + "trial": true + }, + "properties": [] + } + ] + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/entitlements" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/ides": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Returns a list of Cloud IDEs associated with this subscription.", + "description": "Returns a list of Cloud IDEs associated with this subscription.", + "operationId": "getSubscriptionIdes", + "x-cli-name": "subscriptions:ide-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Ides" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/5d278c52-4876-4c70-a666-d671f77a602d/ides" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/5d278c52-4876-4c70-a666-d671f77a602d" + } + }, + "_embedded": { + "items": [ + { + "uuid": "9a83c081-ef78-4dbd-8852-11cc3eb248f7", + "label": "IDE Label 1", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7" + }, + "web": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud" + }, + "ide": { + "href": "https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ides.acquia.com" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + } + }, + "_embedded": { + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "last_login_at": "2019-01-31T15:53:11.000Z", + "created_at": "2016-08-14T21:38:59.000Z", + "email": "user.name@example.com", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name" + } + } + }, + { + "uuid": "feea197a-9503-4441-9f49-b4d420b0ecf8", + "label": "IDE Label 2", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8" + }, + "web": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud" + }, + "ide": { + "href": "https://feea197a-9503-4441-9f49-b4d420b0ecf8.ides.acquia.com" + }, + "application": { + "href": "https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199" + } + }, + "_embedded": { + "owner": { + "uuid": "10be1d3e-f2b4-4d34-855d-321df3938ffd", + "first_name": "First", + "last_name": "Last", + "last_login_at": "2019-01-31T15:53:11.000Z", + "created_at": "2016-08-14T21:38:59.000Z", + "email": "user.name@example.com", + "picture_url": "https://accounts.acquia.com/path/to/image.png", + "username": "user.name" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves traversal links for a subscription's usage data.", + "description": "Retrieves traversal links for a subscription's usage data.", + "operationId": "getSubscriptionsUsageLinks", + "x-cli-name": "subscriptions:usage-links", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Usage" + }, + "example": { + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics" + }, + "data": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data" + }, + "data-by-application": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application" + }, + "views": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views" + }, + "views-by-application": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application" + }, + "visits": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits" + }, + "visits-by-application": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Subscription not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage/data": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves aggregate usage data for a subscription.", + "description": "Filterable fields:\n* `metric` - One of: {`views`, `visits`}\n* `application`\n* `from`\n* `to`\n", + "operationId": "getSubscriptionsUsageData", + "x-cli-name": "subscriptions:usage-data", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUsageMetrics" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this subscription." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage/data-by-application": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves usage data for a subscription, broken down by application.", + "description": "Filterable fields:\n* `metric` - One of: {`views`, `visits`}\n* `application`\n", + "operationId": "getSubscriptionsUsageDataByApplication", + "x-cli-name": "subscriptions:usage-data-by-application", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUsageMetrics" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + }, + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage/{usageMetric}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves aggregate usage metric data for a subscription.", + "description": "Filterable fields:\n* `application`\n", + "operationId": "getSubscriptionsUsageMetricData", + "x-cli-name": "subscriptions:usage-metric-data", + "parameters": [ + { + "$ref": "#/components/parameters/UsageMetric" + }, + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUsageMetric" + }, + "example": { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage/views-by-application": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves views data for a subscription, broken down by application.", + "description": "Filterable fields:\n* `application`\n", + "operationId": "getSubscriptionsUsageViewsDataByApplication", + "x-cli-name": "subscriptions:usage-views-data-by-application", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUsageMetrics" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "views", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "9" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/metrics/usage/visits-by-application": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Retrieves visits data for a subscription, broken down by application.", + "description": "Filterable fields:\n* `application`\n", + "operationId": "getSubscriptionsUsageVisitsDataByApplication", + "x-cli-name": "subscriptions:usage-visits-data-by-application", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/From" + }, + { + "$ref": "#/components/parameters/To" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Resolution" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUsageMetrics" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 2, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage" + }, + "limit": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?limit}", + "templated": true + }, + "offset": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?offset}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?filter}", + "templated": true + } + }, + "_embedded": { + "items": [ + { + "metric": "visits", + "datapoints": [ + [ + "2019-03-13T00:00:00.000Z", + "3" + ], + [ + "2019-03-14T00:00:00.000Z", + "1" + ] + ], + "last_data_at": "2019-03-14T00:00:00.000Z", + "metadata": { + "subscription": { + "uuids": [ + "9567a611-4cdd-4586-8b3f-f3980a87e471" + ] + }, + "application": { + "uuids": [ + "1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + }, + "environment": { + "ids": [ + "123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8", + "125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8" + ] + } + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits" + }, + "parent": { + "href": "https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view usage metrics for this application." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application not found": { + "value": { + "error": "not_found", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/shield-acl": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Provides a list of Shield ACL rules.", + "description": "Provides a list of Shield ACL rules.", + "operationId": "getShieldAcl", + "x-cli-name": "subscriptions:shield-acl-list", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ShieldAclCollection" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/abcd1234-58cc-4372-a567-0e02b2c3d470/shield-acl" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/abcd1234-58cc-4372-a567-0e02b2c3d470" + } + }, + "_embedded": { + "items": [ + { + "uuid": "d5afa695-92a0-401b-b973-1f09992d6ba2", + "subscription": { + "uuid": "720d4df4-7469-47f2-9e42-a6a5152761bf", + "name": "Example Subscription" + }, + "description": "My rule 1", + "service": "ssh", + "addresses": [ + "127.0.0.82/32", + "127.0.0.83/32" + ], + "action": "allow", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl" + } + } + }, + { + "uuid": "d5afa695-92a0-401b-b973-1f09992d6ba3", + "subscription": { + "uuid": "720d4df4-7469-47f2-9e42-a6a5152761bf", + "name": "Example Subscription" + }, + "description": "My rule 2", + "service": "ssh", + "addresses": [ + "192.168.2.2/24" + ], + "action": "allow", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba3" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "not_found", + "message": "You do not have permission to view the Shield ACL rules for subscription d17b25bb-28dd-4a24-8f89-bfe8b1e151e9." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Creates a Shield ACL rule.", + "description": "Creates a Shield ACL rule.", + "operationId": "postShieldAcl", + "x-cli-name": "subscriptions:shield-acl-create", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the new Shield ACL rule.", + "minLength": 1, + "maxLength": 255 + }, + "addresses": { + "type": "array", + "description": "A list of IP addresses and/or CIDRs for this Shield ACL rule.", + "items": { + "type": "string", + "description": "An IP address and/or CIDRs for this Shield ACL rule." + } + } + } + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Shield ACL rule for subscription has been created.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl/bf8b6858-1e36-4b8e-bb05-35bdd986f5d2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/fbd0581d-7606-43d0-9d2e-4d9fa6570a0d" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Acquia Shield not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Shield rules can only be added to subscriptions that have Acquia Shield." + } + } + }, + "Maximum Shield ACL rules": { + "value": { + "error": "validation_failed", + "message": { + "general": "You have already used the maximum number of Shield rules for this subscription." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "You do not have permission to create a new Shield ACL rule." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Shield ACL updates in progress": { + "value": { + "error": "conflict", + "message": { + "general": "Shield ACL rules cannot be created while ACL rule updates are in progress." + } + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/shield-acl/{shieldAclUuid}": { + "get": { + "tags": [ + "Subscriptions" + ], + "summary": "Returns the specified Shield ACL rule.", + "operationId": "getShieldAclRuleByUuid", + "x-cli-name": "subscriptions:shield-acl-find", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/ShieldAclUuid" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ShieldAcl" + }, + "example": { + "uuid": "d5afa695-92a0-401b-b973-1f09992d6ba2", + "subscription": { + "uuid": "720d4df4-7469-47f2-9e42-a6a5152761bf", + "name": "Example Subscription" + }, + "description": "My rule 1", + "service": "ssh", + "addresses": [ + "127.0.0.82/32", + "127.0.0.83/32" + ], + "action": "allow", + "status": "active", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba2" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view the Shield ACL rules for subscription 720d4df4-7469-47f2-9e42-a6a5152761bf" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No Shield Acl": { + "value": { + "error": "not_found", + "message": "The Shield ACL rule you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No subscription": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Subscriptions" + ], + "summary": "Updates a Shield ACL rule.", + "description": "Updates a Shield ACL rule.", + "operationId": "putShieldAcl", + "x-cli-name": "subscriptions:shield-acl-update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/ShieldAclUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the new Shield ACL rule.", + "minLength": 1, + "maxLength": 255 + }, + "addresses": { + "type": "array", + "description": "A list of IP addresses and/or CIDRs for this Shield ACL rule.", + "items": { + "type": "string", + "description": "An IP address and/or CIDRs for this Shield ACL rule." + } + } + } + } + } + } + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Updated ACL rule for subscription.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl/b23588f8-dbfa-4fb8-92a1-60e0dd08eee9" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/87ae4d57-24d6-4b4b-8552-d9658b4e2dea" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to edit a Shield ACL rule." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Validation failed": { + "value": { + "error": "conflict", + "message": "The Shield ACL rule is not active." + } + }, + "Same values": { + "value": { + "error": "conflict", + "message": "The Shield ACL rule already contains the same values." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "summary": "Deletes a Shield ACL rule.", + "description": "Deletes a Shield ACL rule.", + "operationId": "deleteShieldAcl", + "x-cli-name": "subscriptions:shield-acl-delete", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + }, + { + "$ref": "#/components/parameters/ShieldAclUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Deleted ACL rule (UUID: 93136254-7d65-465c-82e9-5e92d74ae6b4) for subscription (UUID: 720d4df4-7469-47f2-9e42-a6a5152761bf).", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/93136254-7d65-465c-82e9-5e92d74ae6b4" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/98c1c68d-d33d-4340-8cd2-f32bdbf035f3" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Acquia Shield not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Shield rules can only be deleted from subscriptions that have Acquia Shield." + } + } + }, + "Shield ACL rule not associated": { + "value": { + "error": "validation_failed", + "message": { + "general": "The Shield ACL Rule with UUID 638c13e7-0455-45de-ab63-def9d348d50f does not belong to the subscription with UUID e3959c8a-f53d-49a1-adb7-acdc8e717940." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "unauthorized", + "message": "You do not have permission to delete a Shield ACL rule." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No subscription": { + "value": { + "error": "not_found", + "message": "The subscription with UUID 720d4df4-7469-47f2-9e42-a6a5152761bf does not exist." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Shield ACL updates in progress": { + "value": { + "error": "conflict", + "message": { + "general": "Shield ACL rules cannot be deleted while ACL rule updates are in progress." + } + } + } + } + } + } + } + } + } + }, + "/subscriptions/{subscriptionUuid}/shield-acl/actions/reset": { + "post": { + "tags": [ + "Subscriptions" + ], + "summary": "Resets Shield ACL rules to default settings.", + "operationId": "postResetShieldAcl", + "x-cli-name": "subscriptions:shield-acl-reset", + "parameters": [ + { + "$ref": "#/components/parameters/SubscriptionUuid" + } + ], + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/MessageWithLinks" + }, + "example": { + "message": "Shield ACL rules reset for subscription with UUID 94afc849-3b5a-49cd-bcae-464333994019.", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl" + }, + "parent": { + "href": "https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019" + }, + "notification": { + "href": "https://cloud.acquia.com/api/notifications/a894467e-8ea2-4b0d-9b03-27909098ee3a" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Acquia Shield not available": { + "value": { + "error": "validation_failed", + "message": { + "general": "Shield rules can only be reset on subscriptions that have Acquia Shield." + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to reset Shield ACL rules." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No subscription or permission": { + "value": { + "error": "not_found", + "message": "The subscription you are trying to access does not exist, or you do not have permission to access it." + } + }, + "No subscription": { + "value": { + "error": "not_found", + "message": "A subscription with UUID 720d4df4-7469-47f2-9e42-a6a5152761bf cannot be found." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Shield ACL updates in progress": { + "value": { + "error": "conflict", + "message": { + "general": "Shield ACL rules cannot be reset while ACL rule updates are in progress." + } + } + } + } + } + } + } + } + } + }, + "/teams": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Return teams the current user has access to.", + "description": "Returns a list of teams the current user has access to.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getTeams", + "x-cli-name": "tps:teams-list", + "parameters": [ + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Range" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Teams" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams" + } + }, + "_embedded": { + "items": [ + { + "uuid": "abcd1234-82b5-11e3-9170-12313920a02c", + "name": "Team Name 1", + "created_at": "2013-10-28T14:16:07-0700", + "updated_at": "2015-02-19T08:53:10-0800", + "organization": { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c" + } + } + }, + { + "uuid": "1234abcd-82b5-11e3-9170-12313920a02c", + "name": "Team Name 2", + "created_at": "2014-05-27T11:55:39-0700", + "updated_at": "2015-01-30T05:49:16-0800", + "organization": { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view teams." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Return details about a specific team.", + "description": "Return details about a specific team.", + "operationId": "getTeam", + "x-cli-name": "tps:team-find", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Team" + }, + "example": { + "uuid": "2c9ea556-4016-11e3-9170-12313920a02c", + "name": "Sample Team", + "created_at": "2013-10-28T14:16:07-0700", + "updated_at": "2015-02-19T08:53:10-0800", + "organization": { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization" + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c" + }, + "members": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/members" + }, + "applications": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/applications" + }, + "invites": { + "href": "https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/invites" + }, + "parent": { + "href": "https://cloud.acquia.com/api/teams" + } + }, + "_embedded": { + "organization": [ + { + "uuid": "2375e327-3fff-11e3-9170-12313920a02c", + "name": "Sample Organization", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Change the name of a team.", + "description": "Change the name of a team.", + "operationId": "putTeamsName", + "x-cli-name": "tps:team-update", + "security": [ + { + "OAuth2": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new name of the team.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My new team name" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The new name of the team.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "example": { + "name": "My new team name" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Team renamed": { + "value": { + "message": "Team renamed." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Role not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to rename it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Deletes a specific team by its UUID.", + "description": "Deletes a specific team by its UUID.", + "operationId": "deleteTeam", + "x-cli-name": "tps:team-delete", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Removed team": { + "value": { + "message": "Removed team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Team not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to remove it." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/actions/leave": { + "post": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Removes the current user from a team.", + "description": "Removes the current user from a team.", + "operationId": "postLeaveTeam", + "x-cli-name": "tps:user-leave", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Left team": { + "value": { + "message": "You have left the team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Invalid team": { + "value": { + "error": "not_found", + "message": "Invalid team supplied. No action performed." + } + }, + "Invalid user": { + "value": { + "error": "not_found", + "message": "Invalid user supplied. No action performed." + } + }, + "User not on team": { + "value": { + "error": "not_found", + "message": "The user is not a member of this team." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/applications": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Returns a list of applications this team has access to.", + "description": "Returns a list of applications this team has access to.\n\nFilterable fields:\n* `name`\n\nSortable fields:\n* `name`\n", + "operationId": "getTeamApplications", + "x-cli-name": "tps:team-application-list", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/TeamApplications" + }, + "example": { + "total": 2, + "pagination": { + "total": 2, + "limit": 10, + "offset": 0 + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications" + }, + "sort": { + "href": "https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5" + } + }, + "_embedded": { + "items": [ + { + "id": 241643, + "uuid": "50cf9819-6f99-4ef2-be10-1a85dc354ca1", + "name": "Sample application 1", + "hosting": { + "type": "acp", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "fc04cc3e-8d91-4fb4-a8dd-15dc81df7458", + "name": "Sample subscription" + }, + "organization": { + "uuid": "434aac3d-bb5f-44d1-bea4-398addbf5a04", + "name": "Sample organization" + }, + "flags": { + "remote_admin": true + }, + "status": "normal", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/applications/50cf9819-6f99-4ef2-be10-1a85dc354ca1" + } + } + }, + { + "id": 954291, + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d471", + "name": "Sample application 2", + "hosting": { + "type": "free", + "id": "devcloud:devcloud2" + }, + "subscription": { + "uuid": "fc04cc3e-8d91-4fb4-a8dd-15dc81df7458", + "name": "Sample subscription" + }, + "organization": { + "uuid": "434aac3d-bb5f-44d1-bea4-398addbf5a04", + "name": "Sample organization" + }, + "flags": { + "remote_admin": false + }, + "status": "provisioning", + "type": "drupal", + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/a47ac10b-58cc-4372-a567-0e02b2c3d471/applications" + } + } + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Adds an application to this team.", + "description": "Adds an application to this team.", + "operationId": "postTeamAddApplication", + "x-cli-name": "tps:team-application-add", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "uuid" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The uuid of the application to add to this team.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + }, + "example": { + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "uuid" + ], + "properties": { + "uuid": { + "type": "string", + "description": "The uuid of the application to add to this team.", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + }, + "example": { + "uuid": "a47ac10b-58cc-4372-a567-0e02b2c3d470" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Added application": { + "value": { + "message": "Added application to team." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "forbidden", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Application mismatch": { + "value": { + "error": "not_found", + "message": "The application must belong to the same organization as this team." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Application already on team": { + "value": { + "error": "conflict", + "message": "The application is already on this team." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/applications/{applicationUuid}": { + "delete": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Removes the application from this team.", + "description": "Removes the application from this team. Team members will immediately lose access to this application.", + "operationId": "deleteTeamsRemoveApplication", + "x-cli-name": "tps:team-application-remove", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/ApplicationUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Removed application": { + "value": { + "message": "Removed application from team." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "forbidden", + "message": "The application you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Team not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + }, + "Application mismatch": { + "value": { + "error": "not_found", + "message": "The application is not associated with this team." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/invites": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Returns a list of invitations to this team.", + "description": "Returns a list of invitations to this team.\n\nFilterable fields:\n* `mail`\n* `token`\n* `author`\n\nSortable fields:\n* `mail`\n* `token`\n* `author`\n", + "operationId": "getTeamInvites", + "x-cli-name": "tps:team-invite-list", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + }, + { + "$ref": "#/components/parameters/Range" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/TeamInvites" + }, + "example": { + "total": 2, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites" + }, + "sort": { + "href": "https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?sort}", + "templated": true + }, + "filter": { + "href": "https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?filter}", + "templated": true + }, + "limit": { + "href": "https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?limit}", + "templated": true + }, + "parent": { + "href": "https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625" + } + }, + "_embedded": { + "items": [ + { + "applications": [ + { + "uuid": "88dc87db-1169-4908-9384-2328a7bd5cc1", + "name": "Main Application" + } + ], + "author": { + "uuid": "ff4d12d9-1aba-472a-b0d1-ba19342922fa", + "username": "jane.doe", + "first_name": "Jane", + "last_name": "Doe", + "mail": "jane.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com" + }, + "roles": [ + { + "uuid": "aba649d1-795e-4472-87c8-7b32536c71b3", + "name": "Senior Developer" + }, + { + "uuid": "a70a0192-c962-421a-b534-393c245ba142", + "name": "Team Lead" + } + ], + "organization": { + "uuid": "3f3fc2da-bb2b-473c-aa5c-8b9d8fa6c7b8", + "name": "Organization Name" + }, + "team": { + "uuid": "9ab05712-29b7-4171-8168-2ed085ea32b2", + "name": "Team Name" + }, + "uuid": "f4347e76-bcd7-41f6-91aa-ac6691755f0c", + "email": "invitee@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ec", + "flags": { + "declined": true + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec" + } + } + }, + { + "applications": [ + { + "uuid": "88dc87db-1169-4908-9384-2328a7bd5cc1", + "name": "Main Application" + }, + { + "uuid": "a2345672-58cc-4372-a567-0e02b2c3d470", + "name": "Secondary Application" + } + ], + "author": { + "uuid": "80363753-76dc-486c-b942-57ff9fc131ee", + "username": "john.doe", + "first_name": "John", + "last_name": "Doe", + "mail": "john.doe@example.com", + "picture_url": "https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com" + }, + "roles": [ + { + "uuid": "aba649d1-795e-4472-87c8-7b32536c71b3", + "name": "Senior Developer" + } + ], + "organization": { + "uuid": "3f3fc2da-bb2b-473c-aa5c-8b9d8fa6c7b8", + "name": "Organization Name" + }, + "team": { + "uuid": "9ab05712-29b7-4171-8168-2ed085ea32b2", + "name": "Team Name" + }, + "uuid": "6bf96944-bb9b-4629-b593-d658e44d8054", + "email": "invitee2@example.com", + "created_at": "2012-05-15T12:00:00.000Z", + "token": "dd9ea69fdcb6bee08b31a858b85535ed", + "flags": { + "declined": false + }, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed" + } + } + } + ] + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to view invites for this team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Invites a user to join a team.", + "description": "Invites a user to join a team.", + "operationId": "postTeamsInviteUser", + "x-cli-name": "tps:team-user-invite", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/PostInvite" + }, + "example": { + "email": "person@example.com", + "roles": [ + "489efe35-7bb7-48b7-9aa2-f6f8f457c926", + "8025e9a7-781a-4ad1-b7ea-1f1b732944c2" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/PostInvite" + }, + "example": { + "$ref": "#/paths/~1teams~1%7BteamUuid%7D~1invites/post/requestBody/content/application~1hal%2Bjson/example" + } + } + } + }, + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Invited": { + "value": { + "message": "Invited team member." + } + } + } + } + } + }, + "201": { + "description": "Created", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Invite" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + }, + "examples": { + "Missing parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Missing required parameter(s): example_param" + } + } + }, + "Invalid parameter": { + "value": { + "error": "validation_failed", + "message": { + "name": "Invalid values for parameter(s): example_param" + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Insufficient permissions": { + "value": { + "error": "forbidden", + "message": "You do not have permission to invite users to this team." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Team not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to modify does not exist, or you do not have permission to access it." + } + }, + "Role not found": { + "value": { + "error": "not_found", + "message": "One or more of the chosen roles do not belong to this organization." + } + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Invitation already sent": { + "value": { + "error": "conflict", + "message": "An invitation to person@example.com has already been sent. It was sent on May 6, 2016 - 7:26pm." + } + }, + "User already on team": { + "value": { + "error": "conflict", + "message": "The user you are trying to invite already belongs to the team." + } + }, + "Must have at least one role": { + "value": { + "error": "conflict", + "message": "A team member must be invited with at least one role." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/members": { + "get": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Returns a list of team members.", + "description": "Returns a list of team members.\n\nFilterable fields:\n* `permission`\n* `first_name`\n* `last_name`\n* `user`\n\nSortable fields:\n* `permission`\n* `first_name`\n* `last_name`\n", + "operationId": "getTeamMembers", + "x-cli-name": "tps:team-member-list", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/Sort" + }, + { + "$ref": "#/components/parameters/Filter" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Offset" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/TeamMembers" + }, + "example": { + "total": 3, + "_links": { + "self": { + "href": "https://cloud.acquia.com/api/teams/3c9ea553-3216-11e3-9170-12313920a23a/members" + }, + "parent": { + "href": "https://cloud.acquia.com/api/teams/3c9ea553-3216-11e3-9170-12313920a23a" + } + }, + "_embedded": { + "items": [ + { + "uuid": "5aa902c5-f1c1-6c94-edfa-86bc58d0dce3", + "first_name": "James", + "last_name": "Kirk", + "last_login_at": "2017-03-28T13:07:54-0500", + "mail": "james.kirk@example.com", + "picture_url": "https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar", + "username": "james.kirk", + "roles": [ + { + "uuid": "2d988ad3-4016-11e3-9170-12313920a02e", + "name": "Senior Developer" + } + ] + }, + { + "uuid": "30dacb5e-4122-11e1-9eb5-12313928d3c2", + "first_name": "Christopher", + "last_name": "Pike", + "last_login_at": "2016-03-28T13:07:54-0500", + "mail": "chris.pike@example.com", + "picture_url": "https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar", + "username": "chris.pike", + "roles": [ + { + "uuid": "3c9a1174-4016-11e3-9170-12313920a02d", + "name": "Developer" + } + ] + }, + { + "uuid": "3bcddc3a-52ba-4cce-aaa3-9adf721c1b52", + "first_name": "Jonathan", + "last_name": "Archer", + "last_login_at": null, + "mail": "jonathan.archer@example.com", + "picture_url": "https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar", + "username": "jonathan.archer", + "roles": [ + { + "uuid": "2d988ad3-4016-11e3-9170-12313920a02e", + "name": "Senior Developer" + }, + { + "uuid": "3c9a1174-4016-11e3-9170-12313920a02d", + "name": "Developer" + } + ] + } + ] + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + } + }, + "/teams/{teamUuid}/members/{userUuid}": { + "put": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Grant team roles to a member.", + "description": "Grant team roles to a member.", + "operationId": "putTeamsMember", + "x-cli-name": "tps:team-member-add", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/hal+json": { + "schema": { + "type": "object", + "required": [ + "roles" + ], + "properties": { + "roles": { + "type": "array", + "description": "The role UUIDs to grant to the user.", + "items": { + "type": "string", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + }, + "example": { + "roles": [ + "489efe35-7bb7-48b7-9aa2-f6f8f457c926", + "8025e9a7-781a-4ad1-b7ea-1f1b732944c2" + ] + } + }, + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "required": [ + "roles" + ], + "properties": { + "roles": { + "type": "array", + "description": "The role UUIDs to grant to the user.", + "items": { + "type": "string", + "format": "uuid", + "minLength": 36, + "maxLength": 36 + } + } + } + }, + "example": { + "roles": [ + "489efe35-7bb7-48b7-9aa2-f6f8f457c926", + "8025e9a7-781a-4ad1-b7ea-1f1b732944c2" + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Modified member roles": { + "value": { + "message": "Modified member roles." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to modify team member roles." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team you are trying to access does not exist, or you do not have permission to access it." + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Teams and Permissions" + ], + "summary": "Remove a user from a team.", + "description": "Remove a user from a team.", + "operationId": "deleteTeamsRemoveMember", + "x-cli-name": "tps:team-member-remove", + "parameters": [ + { + "$ref": "#/components/parameters/TeamUuid" + }, + { + "$ref": "#/components/parameters/UserUuid" + } + ], + "security": [ + { + "OAuth2": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Message" + }, + "examples": { + "Team member removed": { + "value": { + "message": "Team member removed." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "No permission": { + "value": { + "error": "forbidden", + "message": "You do not have permission to remove team members." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/hal+json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "examples": { + "Not found": { + "value": { + "error": "not_found", + "message": "The team member you are trying to remove does not exist, or you do not have permission to remove them." + } + }, + "Invalid team": { + "value": { + "error": "not_found", + "message": "Invalid team supplied. No action performed." + } + }, + "Invalid user": { + "value": { + "error": "not_found", + "message": "Invalid user supplied. No action performed." + } + }, + "User not team member": { + "value": { + "error": "not_found", + "message": "The user is not a member of this team." + } + } + } + } + } + } + } + } + } + } +} diff --git a/assets/acquia-spec.yaml b/assets/acquia-spec.yaml deleted file mode 100644 index c13d3a092..000000000 --- a/assets/acquia-spec.yaml +++ /dev/null @@ -1,30146 +0,0 @@ -openapi: 3.0.0 -info: - title: Acquia Cloud API Documentation - x-logo: - url: assets/cloud-platform.svg - backgroundColor: "#FFFFFF" - altText: Acquia Cloud - description: | - Acquia Cloud API - - # Compatibility - - ## Stability - - The response for all resource endpoints includes an `X-CloudAPI-Stability` header that indicates what changes, if any, Acquia will make to the resource and how changes will be communicated. - - There are three levels of stability: - - * `prototype`: A prototype resource is experimental and major changes are likely. A prototype resource may not reach production. - * Compatible and emergency changes may be made with no advance notice - * Disruptive changes may be made with one week notice - * Deprecated resources will remain available for at least one month after deprecation - * `development`: A resource that is unlikely to change, but is still being worked on, will be marked as in development. These resources are very likely to reach production. - * Compatible and emergency changes may be made with no advance notice - * Disruptive changes may be made with one month notice - * Deprecated resources will remain available for at least six months after deprecation - * `production`: A production resource will not introduce breaking changes within a version, and any breaking changes between versions will be communicated ahead of time. - - ## Deprecation - - Over time, endpoints may become obsolete and will be removed in the future. These endpoints will be marked with an `X-CloudAPI-Deprecated` header indicating the version in which they were deprecated and the reason for the deprecation. Deprecated endpoints may be removed in the next version of the resource. - - ## Versioning - - All resource endpoints are versioned within the API. Endpoints that have reached production will not introduce breaking changes between versions. Non-production endpoints will not version for changes. - - A specific version of an endpoint can be requested via the `Accept` header: - - Accept: application/hal+json, version=2 - - If the version is not specified, the latest version of the endpoint will be used. - - Starting with version 3, we will support the current version of an endpoint and the previous version. Version 1 of the API is [provided elsewhere](https://cloudapi.acquia.com/). - - ## Errors - - Some endpoints will return a 503 status when dependent services are unavailable: - - application/hal+json - { - "error": "system", - "message": "This action is currently unavailable. Please try again later." - } - - ## Authentication - - All Acquia Cloud API calls require authentication to work properly. - - Learn more: https://docs.acquia.com/acquia-cloud/develop/api/auth/ - - ### Example implementation - - An example PHP script for making authenticated API requests can be found here. This script uses the League/oauth2-client library, installed via Composer. - version: 2.0.0 - contact: - name: Customer Experience Engineering (CXE) - url: https://www.acquia.com -servers: - - url: https://cloud.acquia.com/api - description: Cloud API -components: - parameters: - ApmType: - name: apmType - in: path - required: true - description: The APM type. - schema: - type: string - example: newrelic - ArtifactId: - name: artifactId - in: path - required: true - description: An ID that uniquely identifies an artifact. - schema: - type: string - example: drupal8 - BackupId: - name: backupId - in: path - required: true - description: The database backup identifier. - schema: - type: integer - example: 1 - CertificateId: - name: certificateId - in: path - required: true - description: An ID that uniquely identifies a certificate. - schema: - type: integer - example: 7 - ConfigurationSetId: - name: configurationSetId - in: path - required: true - description: An ID that uniquely identifies a configuration set. - schema: - type: string - example: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - CronId: - name: cronId - in: path - required: true - description: An ID that uniquely identifies a cron job. - schema: - type: string - example: e10a665c-c9ec-4422-a82b-b32c82329f9d - DatabaseName: - name: databaseName - in: path - required: true - description: The database name, typically lower snake case. - schema: - type: string - example: my_db - Domain: - name: domain - in: path - description: A domain name. - required: true - schema: - type: string - example: example.com - DomainRegistrationUuid: - name: domainRegistrationUuid - in: path - description: The Domain Registration universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - DrushVersion: - name: version - in: query - description: Specifies the drush aliases formatting, either 8 (example.aliases.drushrc.php) or 9 (example.site.yaml) - required: true - schema: - type: integer - enum: - - 8 - - 9 - example: 8 - EnvironmentId: - name: environmentId - in: path - description: The environment identifier. The identifier is a compound key consisting of the internal database ID of the environment and the application UUID. - required: true - schema: - type: string - example: 12-d314739e-296f-11e9-b210-d663bd873d93 - EnvironmentVariableName: - name: environmentVariableName - in: path - description: The environment variable name. - required: true - schema: - type: string - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - example: EXAMPLE_VARIABLE_NAME - IndexId: - name: indexId - in: path - required: true - description: An ID that uniquely identifies an index. - schema: - type: string - example: ABCDE-1234.test.example - LogType: - name: logType - in: path - required: true - description: An ID that uniquely identifies a log type. - schema: - type: string - enum: - - apache-access - - apache-error - - drupal-request - - drupal-watchdog - - php-error - - mysql-slow-query - example: php-error - Name: - name: name - in: path - description: A name that uniquely identifies an entity. - required: true - schema: - type: string - example: drupal8 - Permission: - name: permission - in: query - description: Specifies the permission you wish to check access for. - required: true - schema: - type: string - example: deploy to prod - ServerId: - name: serverId - in: path - required: true - description: The internal database identifier of the server. - schema: - type: string - example: "42" - ServerType: - name: serverType - in: query - description: Specifies the type of server metric to retrieve. - required: true - schema: - type: string - enum: - - web - - bal - - db - example: web - SiteId: - name: siteId - in: path - description: The site id - required: true - schema: - type: string - example: 1938d81b-4b14-462d-9871-5f8a32eb59b3 - StackMetricsMetricType: - name: stackMetricsMetricType - in: path - description: Specifies the type of StackMetrics metric to retrieve. - required: true - schema: - type: array - items: - type: string - enum: - - apache-requests - - bal-cpu - - bal-memory - - cron-memory - - db-cpu - - db-disk-size - - db-disk-usage - - db-memory - - file-disk-size - - file-cpu - - file-disk-usage - - file-memory - - http-2xx - - http-3xx - - http-4xx - - http-5xx - - mysql-slow-query-count - - nginx-requests - - out-of-memory - - php-proc-max-reached-site - - php-proc-max-reached-total - - php-proc-site - - php-proc-total - - varnish-cache-hit-rate - - varnish-requests - - web-cpu - - web-memory - example: - - web-cpu - - web-memory - TagName: - name: tagName - in: path - description: The name of the application tag. - required: true - schema: - type: string - example: green - TokenDeleteReason: - name: tokenDeleteReason - in: query - description: Specifies the reason for the token revocation for future reference. - schema: - type: string - example: The quick brown fox jumped over the lazy dog. - UsageMetric: - name: usageMetric - in: path - description: A usage data metric type. - required: true - schema: - type: string - example: views - UserSearch: - name: userSearch - in: query - description: The user's username, email, name, or token. This can be a partial match. - required: true - schema: - type: string - example: john doe - AgreementUuid: - name: agreementUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - AlertUuid: - name: alertUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - ApplicationUuid: - name: applicationUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - IdentityProviderUuid: - name: identityProviderUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - IdeUuid: - name: ideUuid - in: path - description: The Cloud IDE universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - LogForwardingDestinationUuid: - name: logForwardingDestinationUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: dbd8a966-2b25-11e9-b210-d663bd873d93 - MessageUuid: - name: messageUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - NotificationUuid: - name: notificationUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - format: uuid - example: 2343b683-b194-4217-982a-6a95c72ad9a8 - OrganizationUuid: - name: organizationUuid - in: path - description: The organization entity's universally unique identifier. - required: true - schema: - type: string - minLength: 36 - maxLength: 36 - format: uuid - example: 1e7efab9-0fac-4a2c-ad94-61efc78623ba - RoleUuid: - name: roleUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - ShieldAclUuid: - name: shieldAclUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: a1234567-1234-123a-abc1-12ab345cd678 - SshKeyUuid: - name: sshKeyUuid - in: path - description: The SSH key entity's universally unique identifier. - required: true - schema: - type: string - example: 981b7910-2fe9-11e9-b210-d663bd873d93 - SubscriptionUuid: - name: subscriptionUuid - in: path - description: The subscription entity's universally unique identifier. - required: true - schema: - type: string - example: 0f3ad33e-2fe4-11e9-b210-d663bd873d93 - TeamUuid: - name: teamUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: 3eef5d81-62f4-429c-aa94-e17d05ab4740 - TokenUuid: - name: tokenUuid - in: path - description: The token entity's universally unique identifier. - required: true - schema: - type: string - example: 882f3258-2fe9-11e9-b210-d663bd873d93 - UserUuid: - name: userUuid - in: path - description: The entity's universally unique identifier. - required: true - schema: - type: string - example: f2daa9cc-e5a0-4036-a5c8-f96e336c62b5 - DeprecatedFrom: - name: from - in: query - description: (Use filter `from` instead.) Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date. Used in conjunction with `to` query. - deprecated: true - required: false - schema: - type: string - example: 2019-10-01T00:00:00.000Z - DeprecatedTo: - name: to - in: query - description: (Use filter `to` instead.) Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date. Used in conjunction with `from` query. - deprecated: true - required: false - schema: - type: string - example: '2020-01-01T00:00:00.000Z' - From: - name: from - in: query - description: Specifies relative or absolute time period to retrieve results from. (Default value -7d) - required: false - schema: - type: string - example: -7d - FromNoDefault: - name: from - in: query - description: An ISO-8601 formatted date retrieve results from. - required: false - schema: - type: string - example: '2021-01-29T22:45:21+00:00' - FromStackMetrics: - name: from - in: query - description: An ISO-8601 formatted date retrieve metrics from. - required: true - schema: - type: string - example: '2021-01-29T22:45:21+00:00' - To: - name: to - in: query - description: Optionally specifies relative or absolute time period to retrieve results until. - required: false - schema: - type: string - example: -1d - ToNoDefault: - name: to - in: query - description: An ISO-8601 formatted date retrieve results to. - required: false - schema: - type: string - example: '2021-01-29T23:55:21+00:00' - Sort: - name: sort - in: query - description: | - A comma-delimited string with fields used for sorting. The order of the fields is significant. A leading - in the field indicates the field should be sorted in a descending order. Not all fields are sortable. - required: false - schema: - type: string - minimum: 1 - example: field1,-field2 - Filter: - name: filter - in: query - description: | - The filters query string parameter restricts the data returned from your request. Filtered queries restrict the rows that do (or do not) get included in the result by testing each row in the result against the filters. Not all fields are filterable. - - There are eight filter operators that can be used and they must be URL encoded in order to be included. The operators are: - - * Equals: `= (%3D)` - * Does not equal: `!= (!%3D)` - * Greater than: `> (%3E)` - * Less than: `< (%3C)` - * Greater than or equal to: `>= (%3E%3D)` - * Less than or equal to: `<= (%3C%3D)` - * Contains substring: `=@ (%3D@)` - * Does not contain substring: `!@ (!@)` - - Filters can be combined using `OR` and `AND` boolean logic. The `OR` operator is defined using a comma (`,`) and the `AND` operator is defined using a semi-colon (`;`). - - Some examples: - * `filter=field%3Dvalue` (`field` equals `'value'`) - * `filter=field%3D@*partialmatch` (`field` ends with `'partialmatch'`) - * `filter=field%3D@*partialmatch,field%3Dvalue` (`field` ends with `'partialmatch'` OR `field` equals `'value'`) - * `filter=field%3D@*partialmatch,field%3Dvalue;field2%3C5` (`field` ends with `'partialmatch'` OR `field` equals `'value'` AND `field2` > `5`) - required: false - schema: - type: string - minimum: 1 - FilterStackMetrics: - name: filter - in: query - description: | - The filters query string parameter restricts the data returned from your request. Filtered queries restrict the rows that do (or do not) get included in the result by testing each row in the result against the filters. Not all fields are filterable. - - There are eight filter operators that can be used and they must be URL encoded in order to be included. The operators are: - - * Equals: `= (%3D)` - * Does not equal: `!= (!%3D)` - * Greater than: `> (%3E)` - * Less than: `< (%3C)` - * Greater than or equal to: `>= (%3E%3D)` - * Less than or equal to: `<= (%3C%3D)` - * Contains substring: `=@ (%3D@)` - * Does not contain substring: `!@ (!@)` - - Filters can be combined using `OR` and `AND` boolean logic. The `OR` operator is defined using a comma (`,`) and the `AND` operator is defined using a semi-colon (`;`). - - Some examples: - * `filter=field%3Dvalue` (`field` equals `'value'`) - * `filter=field%3D@*partialmatch` (`field` ends with `'partialmatch'`) - * `filter=field%3D@*partialmatch,field%3Dvalue` (`field` ends with `'partialmatch'` OR `field` equals `'value'`) - * `filter=field%3D@*partialmatch,field%3Dvalue;field2%3C5` (`field` ends with `'partialmatch'` OR `field` equals `'value'` AND `field2` > `5`) - - **For this endpoint, the "metric" filter is required. Multiple metrics can be returned in one request. The following metrics are available:** - - * apache-requests, bal-cpu, bal-memory, cron-memory, db-cpu, db-disk-size, db-disk-usage, db-memory, file-disk-size, file-cpu, file-disk-usage, file-memory, http-2xx, http-3xx, http-4xx, http-5xx, mysql-slow-query-count, nginx-requests, out-of-memory, php-proc-max-reached-site, php-proc-max-reached-total, php-proc-site, php-proc-total, varnish-cache-hit-rate, varnish-requests, web-cpu, web-memory - required: true - schema: - type: string - minimum: 1 - Limit: - name: limit - in: query - description: The maximum number of items to return. - required: false - schema: - type: integer - example: 10 - Offset: - name: offset - in: query - description: An integer to signify the offset to paginate from. - required: false - schema: - type: integer - example: 10 - Range: - name: range - in: query - description: ISO-8601 date/time of invite create date/time. - required: false - schema: - type: string - format: date-time - Token: - name: token - in: path - description: The token identifier. - required: true - schema: - type: string - Resolution: - name: resolution - in: query - description: | - Specifies the data granularity of the request. Available resolutions: minute, hour, day, week or month. - - Limits: - - 3 hour limit for “minute” resolution - - 1 week limit for “hour” resolution - - 6 month limit for “day” resolution - - 1 year limit for "week" resolution - - 3 year limit for “month” resolution - required: false - schema: - type: string - enum: - - minute - - hour - - day - - week - - month - schemas: - Error: - type: object - required: - - error - - message - properties: - error: - type: string - description: The error summary. - message: - type: string - description: The long description for the returned error. - File: - type: string - description: A binary file response. - format: binary - Health: - type: object - description: The current health for this resource. - properties: - code: - type: string - description: The status code for the current health. - details: - type: string - description: Full details about the current health code. - summary: - type: string - description: A brief summary that explains why the health code is present. - Links: - type: object - required: - - self - description: HAL links about the current resource. - properties: - self: - type: object - description: A link to this page. - required: - - href - properties: - href: - type: string - format: uri - description: The URI for this page. - Message: - type: object - required: - - message - properties: - message: - type: string - description: A simple message returned from the response. - MessageWithLinks: - type: object - required: - - message - - _links - properties: - message: - type: string - description: The human-friendly confirmation of the creation of the resource. - _links: - $ref: "#/components/schemas/Links" - Pagination: - type: object - description: A collection of pagination properties. - properties: - total: - type: integer - description: The total number of objects in the collection. - limit: - type: integer - description: The limit on the number of objects in the collection. - offset: - type: integer - description: The offset on the retrieved objects in the collection. - Root: - type: object - required: - - status - - _links - properties: - status: - type: object - description: The current status of various systems. - properties: - configuration: - type: boolean - description: The current configuration system status. - registry: - type: boolean - description: The current registry system status. - acp_provisioning_enabled: - type: boolean - description: Whether Acquia Cloud Professional provisioning is currently enabled. - acf_provisioning_enabled: - type: boolean - description: Whether Acquia Cloud Free provisioning is currently enabled. - _links: - $ref: "#/components/schemas/Links" - ValidationError: - type: object - required: - - error - - message - description: A validation error. - properties: - error: - type: string - description: The error summary. - message: - type: object - description: The validation error message keyed by its field or group name. - additionalProperties: - type: string - AccountInvites: - type: object - description: A collection of invites. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of invites matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Invite" - Agreement: - type: object - required: - - uuid - - document_uuid - - title - - body - - status - - created_at - - updated_at - - actioned_by - - reference - - _links - properties: - uuid: - type: string - format: uuid - description: The agreement UUID. - document_uuid: - type: string - format: uuid - description: The agreement document UUID. - title: - type: string - description: The name of the agreement. - body: - type: string - description: The formatted agreement content. - status: - type: string - description: The status of the agreement. - enum: - - pending - - accepted - - declined - created_at: - type: string - format: date-time - description: The date the agreement was created. - updated_at: - type: string - format: date-time - description: The date the agreement was last updated. - nullable: true - actioned_by: - $ref: "#/components/schemas/UserStubNullable" - reference: - type: object - description: A reference to the entity for this agreement. - properties: - uuid: - type: string - format: uuid - description: The entity UUID. - name: - type: string - description: The entity name. - type: - type: string - description: The entity type. - _links: - $ref: "#/components/schemas/Links" - Agreements: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of agreements matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Agreement" - Invitees: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of invitees matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/UserStub" - Application: - type: object - required: - - id - - uuid - - name - - hosting - - subscription - - organization - - flags - - type - - status - - _links - - _embedded - properties: - id: - type: integer - description: The unique internal ID of the application. - uuid: - type: string - format: uuid - description: The UUID of the application. - name: - type: string - description: The name of the application. - hosting: - type: object - description: Hosting details for this application. - properties: - type: - type: string - enum: - - ace - - acp - - acsf - - free - - network - - search - - unknown - description: The hosting type. - id: - type: string - description: The hosting ID. - subscription: - $ref: "#/components/schemas/SubscriptionStub" - organization: - $ref: "#/components/schemas/OrganizationStub" - flags: - $ref: "#/components/schemas/ApplicationFlags" - type: - type: string - enum: - - drupal - - node - - static - - node-ssr - description: The type of application supported. - status: - type: string - enum: - - normal - - provisioning - description: The current application status. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: Entities related to the application. - properties: - subscription: - $ref: "#/components/schemas/SubscriptionStubEmbedded" - organization: - $ref: "#/components/schemas/OrganizationStubEmbedded" - tags: - type: array - items: - $ref: "#/components/schemas/ResourceTagEmbedded" - ApplicationFlags: - type: object - description: An array of various flags that indicate functionality associated with applications. - properties: - remote_admin: - type: boolean - description: Whether this application has remote administration enabled. - Applications: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of applications. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationNoEmbedded" - ApplicationFeature: - type: object - required: - - name - - label - - description - properties: - name: - type: string - description: The feature flag machine name. - label: - type: string - description: The feature flag friendly name. - description: - type: string - description: A description of the feature flag. - ApplicationFeatures: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of application feature flags. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationFeature" - ApplicationMetadata: - type: object - description: Application metadata. - properties: - uuids: - type: array - description: Collection of application UUIDs. - items: - type: string - format: uuid - description: The application UUID. - ApplicationNoEmbedded: - type: object - required: - - id - - uuid - - name - - hosting - - subscription - - organization - - flags - - type - - status - - _links - properties: - id: - type: integer - description: The unique internal ID of the application. - uuid: - type: string - format: uuid - description: The UUID of the application. - name: - type: string - description: The name of the application. - hosting: - type: object - description: Hosting details for this application. - properties: - type: - type: string - enum: - - ace - - acp - - acsf - - free - - network - - search - - unknown - description: The hosting type. - id: - type: string - description: The hosting ID. - subscription: - $ref: "#/components/schemas/SubscriptionStub" - organization: - $ref: "#/components/schemas/OrganizationStub" - flags: - $ref: "#/components/schemas/ApplicationFlags" - type: - type: string - enum: - - drupal - - node - - static - - node-ssr - description: The type of application supported. - status: - type: string - enum: - - normal - - provisioning - description: The current application status. - _links: - $ref: "#/components/schemas/Links" - ApplicationsNotifications: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of notifications matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Notification" - ApplicationsPermissions: - type: object - required: - - total - - flags - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - flags: - type: object - description: Additional information about the permissions. - required: - - administrator - properties: - administrator: - type: boolean - description: Whether the current user is able to administrate the application. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of permissions matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Permission" - ApplicationStub: - type: object - required: - - name - - uuid - properties: - name: - type: string - description: The name of the application. - uuid: - type: string - format: uuid - description: The application UUID. - ApplicationsTasks: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of tasks matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Task" - ApplicationsTeams: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of teams matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Team" - ApplicationDatabases: - type: object - description: Collection of application databases. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of database names matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationDatabaseName" - ApplicationDatabaseName: - type: object - description: Application database name. - required: - - name - properties: - name: - type: string - description: The database name. - minLength: 1 - maxLength: 63 - Artifact: - type: object - required: - - id - - name - - state - - created_at - - _links - properties: - id: - type: integer - description: The unique ID of the artifact. - name: - type: string - description: The name of the artifact. - state: - type: string - enum: - - delete-failed - - deleted - - pending-delete - - pending-upload - - ready - - upload-failed - description: The state of the artifact. - created_at: - type: string - format: date-time - description: The time at which the artifact was created. - _links: - $ref: "#/components/schemas/Links" - Artifacts: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of artifacts. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Artifact" - Code: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of branch and tag information. - properties: - items: - type: array - items: - type: object - required: - - name - - flags - properties: - name: - type: string - description: The name of the branch or tag. - flags: - $ref: "#/components/schemas/CodeFlags" - CodeFlags: - type: object - description: An array of various flags that indicate functionality associated with code branches and tags on applications. - properties: - tag: - type: boolean - ResourceTag: - type: object - required: - - name - - color - - context - - _links - properties: - name: - type: string - description: The name of the tag. - color: - type: string - description: The color of the tag. - context: - type: object - description: Metadata related to the tag. - properties: - organization: - type: object - description: A collection of organization metadata for the tag. - properties: - uuids: - type: array - description: An array of organization UUIDs. - items: - type: string - format: uuid - description: The organization UUID. - application: - type: object - description: A collection of application metadata for the tag. - properties: - uuids: - type: array - description: An array of application UUIDs. - items: - type: string - format: uuid - description: The application UUID. - _links: - $ref: "#/components/schemas/Links" - ResourceTagEmbedded: - type: object - description: An associated tag. - required: - - name - - color - - _links - properties: - name: - type: string - description: The name of the tag. - color: - type: string - description: The color of the tag. - _links: - $ref: "#/components/schemas/Links" - ResourceTagOrganization: - type: object - required: - - name - - color - - context - properties: - name: - type: string - description: The name of the tag. - color: - type: string - description: The color of the tag. - context: - type: object - description: Metadata related to the tag. - properties: - organization: - type: object - description: A collection of organization metadata for the tag. - properties: - uuids: - type: array - description: An array of organization UUIDs. - items: - type: string - format: uuid - description: The organization UUID. - application: - type: object - description: A collection of application metadata for the tag. - properties: - uuids: - type: array - description: An array of application UUIDs. - items: - type: string - format: uuid - description: The application UUID. - ResourceTags: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of tags matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ResourceTag" - CodeStudioApplication: - type: object - description: The model for a Code Studio application. - required: - - uuid - - name - - _links - - _embedded - properties: - uuid: - type: string - format: uuid - description: The unique identifier of the application. - name: - type: string - description: The application name. - _links: - type: object - description: Links to Code Studio project and API. - properties: - self: - type: object - description: A link to this page. - required: - - href - properties: - href: - type: string - format: uri - description: The URI for this page. - project: - type: object - description: A link to code studio project. - required: - - href - properties: - href: - type: string - format: uri - description: The URI for the code studio project. - parent: - type: object - description: A link to the parent page. - required: - - href - properties: - href: - type: string - format: uri - description: The URI for the parent page. - _embedded: - type: object - description: An associated code studio project. - properties: - project: - $ref: "#/components/schemas/CodeStudioProjectNoEmbedded" - CodeStudioApplications: - type: object - description: A collection of applications with associated Code Studio projects for a subscription. - required: - - total - - pagination - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Code Studio enabled applications. - properties: - items: - type: array - items: - $ref: "#/components/schemas/CodeStudioApplication" - CodeStudioOptions: - type: object - description: Code Studio options. - properties: - _links: - $ref: "#/components/schemas/Links" - roles: - type: object - additionalProperties: - type: string - CodeStudioProject: - type: object - description: The model for a Code Studio project. - required: - - application_id - - status - - _embedded - - _links - properties: - application_id: - type: string - format: uuid - description: The associated application id. - status: - type: string - description: The status of the GitLab project - enum: - - active - - inactive - - installing - - install-failed - - deleted - - deleting - - delete-failed - _embedded: - type: object - description: Contains the embedded Acquia Cloud user. - properties: - application: - $ref: "#/components/schemas/ApplicationStub" - _links: - $ref: "#/components/schemas/Links" - CodeStudioProjectNoEmbedded: - type: object - description: The model for a Code Studio project. - required: - - application_id - - status - - _links - properties: - application_id: - type: string - format: uuid - description: The associated application id. - status: - type: string - description: The status of the GitLab project - enum: - - active - - inactive - - installing - - install-failed - - deleted - - deleting - - delete-failed - _links: - $ref: "#/components/schemas/Links" - CodeStudioSubscriptionMetadata: - type: object - description: The Code Studio status for a subscription. - required: - - status - properties: - status: - type: string - description: A status indicating whether Code Studio has been enabled for the subscription. - enum: - - active - - installing - - install-failed - - deleted - - deleting - - delete-failed - CodeStudioUser: - type: object - description: The model for a Code Studio user. - required: - - uuid - - first_name - - last_name - - mail - - role - - _links - properties: - uuid: - type: string - format: uuid - description: The Acquia Cloud user UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - role: - type: string - format: uuid - description: The GitLab role for the user. - _links: - $ref: "#/components/schemas/Links" - CodeStudioUsers: - type: object - description: A collection of users for a subscription with assigned seats for Code Studio. - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Code Studio enabled users. - properties: - items: - type: array - items: - $ref: "#/components/schemas/CodeStudioUser" - DomainRegistration: - type: object - required: - - uuid - - domain_name - - health - - dns_records - - _links - description: The Domain Registration. - properties: - uuid: - type: string - format: uuid - description: The UUID of the domain registration. - domain_name: - type: string - format: hostname - description: The domain name. - health: - $ref: "#/components/schemas/Health" - dns_records: - type: array - items: - $ref: "#/components/schemas/DomainRegistrationDnsRecords" - _links: - $ref: "#/components/schemas/Links" - DomainRegistrations: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of domain registrations. - properties: - items: - type: array - items: - $ref: "#/components/schemas/DomainRegistration" - DomainRegistrationDnsRecord: - type: object - description: A DNS record. - required: - - type - - value - properties: - type: - type: string - description: The type of DNS record. - enum: - - TXT - - MX - - CNAME - name: - type: string - description: The name of the DNS record - value: - type: string - description: The DNS record value. - health: - $ref: "#/components/schemas/Health" - DomainRegistrationDnsRecords: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of DNS records - properties: - items: - type: array - items: - $ref: "#/components/schemas/DomainRegistrationDnsRecord" - Distribution: - type: object - required: - - name - - urls - - update_urls - - title - - version - - drupal_version - - description - - image_url - - flags - - _links - properties: - name: - type: string - description: The name of the distribution. - urls: - type: object - description: The URLs for the distribution. - properties: - gz: - type: string - description: The URI for the gzip compressed distribution. - format: uri - zip: - type: string - description: The URI for the zip compressed distribution. - format: uri - update_urls: - type: object - description: The update URLs for the distribution. - properties: - gz: - type: string - description: The URI for the gzip compressed update. - format: uri - zip: - type: string - description: The URI for the zip compressed update. - format: uri - title: - type: string - description: The title of the distribution. - version: - type: string - description: The full version string of the distribution. - drupal_version: - type: string - description: The Drupal version string of the distribution. - description: - type: string - description: The verbose description of the distribution. - image_url: - type: string - description: The URI for the logo image for this distribution. - format: uri - flags: - type: object - description: Flags for this distribution. - properties: - default: - type: boolean - description: Whether this distribution is the default. - _links: - $ref: "#/components/schemas/Links" - Distributions: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of distributions. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Distribution" - Email: - type: object - required: - - status - - _links - description: The Email status. - properties: - status: - type: string - description: The status of Platform Email for the environment - enum: - - active - - inactive - _links: - $ref: "#/components/schemas/Links" - EmailDomain: - type: object - required: - - uuid - - domain_name - - flags - - health - description: The Email Domain - properties: - uuid: - type: string - format: uuid - description: The UUID of the email domain. - domain_name: - type: string - format: hostname - description: The domain name. - flags: - type: object - description: Additional Email Domain information. - properties: - associated: - type: boolean - description: Whether or not Platform Email has been associated with the application. - health: - $ref: "#/components/schemas/Health" - EmailDomains: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of email domains. - properties: - items: - type: array - items: - $ref: "#/components/schemas/EmailDomain" - Entitlements: - type: object - description: Entitlements collection. - properties: - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of entitlements. - properties: - items: - type: array - items: - anyOf: - - $ref: "#/components/schemas/EntitlementPipelines" - - $ref: "#/components/schemas/EntitlementCde" - - $ref: "#/components/schemas/EntitlementConsumptionBasedPricing" - - $ref: "#/components/schemas/EntitlementLogForwarding" - - $ref: "#/components/schemas/EntitlementShield" - - $ref: "#/components/schemas/EntitlementDefaultNewRelic" - - $ref: "#/components/schemas/EntitlementMigrate" - EntitlementPipelines: - type: object - description: Pipelines entitlement. - required: - - name - - offering_ids - - expires_at - - flags - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - EntitlementCde: - type: object - description: Continuous delivery environment entitlement. - required: - - name - - offering_ids - - expires_at - - flags - - properties - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - properties: - type: object - description: Entitlement data. - properties: - databases_total: - type: integer - description: The number of on-demand environment databases granted. - total: - type: integer - description: The number of on-demand environments granted. - used: - type: integer - description: The number of on-demand environments used. - EntitlementConsumptionBasedPricing: - type: object - description: Consumption based pricing entitlement. - required: - - name - - offering_ids - - expires_at - - flags - - properties - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - properties: - type: object - description: Entitlement data. - properties: - visits: - type: integer - description: The maximum number of allowed unique visits. - views: - type: integer - description: The maximum number of allowed views. - EntitlementLogForwarding: - type: object - description: Log forwarding entitlement. - required: - - name - - offering_ids - - expires_at - - flags - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - EntitlementMigrate: - type: object - description: Acquia Migrate Accelerator entitlement. - required: - - name - - offering_ids - - expires_at - - flags - - properties - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - properties: - type: object - description: Entitlement data. - EntitlementDefaultNewRelic: - type: object - description: Represents the default New Relic account. The default New Relic account is created when a subscription is provisioned. - required: - - name - - offering_ids - - expires_at - - flags - - properties - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - properties: - type: object - description: Entitlement data. - properties: - id: - type: string - description: The New Relic account identifier. - level: - type: string - description: The New Relic account level. - enum: - - pro - EntitlementShield: - type: object - description: Shield entitlement. - required: - - name - - offering_ids - - expires_at - - flags - properties: - name: - type: string - description: The name of the entitlement. - offering_ids: - type: array - description: The offering IDs associated with the entitlement. - expires_at: - type: string - description: The furthest expiration date. - flags: - type: object - description: The flags associated with the entitlement. - properties: - trial: - type: boolean - description: Determines if the entitlement is a trial. - Apm: - type: object - description: Details application performance monitor settings. - required: - - type - - key - - name - - flags - - _links - - _embedded - properties: - type: - type: string - description: Indicates the APM type. - key: - type: string - description: The APM license key. - name: - type: string - description: The APM application name. New Relic only. - flags: - type: object - description: An array of flags for an APM. - properties: - enabled: - type: boolean - description: Whether or not the APM is enabled. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: Entities related to the APM settings. - properties: - environment: - type: array - description: An array of links to related environments. - items: - type: object - properties: - _links: - $ref: "#/components/schemas/Links" - ArtifactStub: - type: object - nullable: true - required: - - name - - id - properties: - name: - type: string - description: The name of the artifact. - id: - type: integer - format: id - description: The artifact identifier. - AvailableRuntimes: - type: object - required: - - runtime - - versions - - _links - properties: - runtime: - type: string - description: The runtime. - enum: - - php - - node - versions: - type: array - description: The available versions for this runtime. - items: - type: string - _links: - $ref: "#/components/schemas/Links" - Backup: - type: object - description: Response schema for a database backup. - required: - - id - - database - - type - - started_at - - completed_at - - flags - - environment - - _links - - _embedded - properties: - id: - type: integer - description: The ID of the database backup. - database: - $ref: "#/components/schemas/DatabaseStub" - type: - type: string - description: The type of backup this is. - started_at: - type: string - format: date-time - description: The ISO-8601 formatted date/time of when the backup process was started. - completed_at: - type: string - format: date-time - description: The ISO-8601 formatted date/time of when the backup process was completed. - flags: - $ref: "#/components/schemas/BackupFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: Related entities. - properties: - environment: - type: object - description: The related environment. - properties: - id: - type: string - description: The environment ID. - name: - type: string - description: The environment name. - _links: - $ref: "#/components/schemas/Links" - database: - type: object - description: The related database. - properties: - id: - type: integer - description: The database ID. - name: - type: string - description: The database name. - _links: - $ref: "#/components/schemas/Links" - BackupNoEmbedded: - type: object - description: Response schema for a database backup. - required: - - id - - database - - type - - started_at - - completed_at - - flags - - environment - - _links - properties: - id: - type: integer - description: The ID of the database backup. - database: - $ref: "#/components/schemas/DatabaseStub" - type: - type: string - description: The type of backup this is. - started_at: - type: string - format: date-time - description: The ISO-8601 formatted date/time of when the backup process was started. - completed_at: - type: string - format: date-time - description: The ISO-8601 formatted date/time of when the backup process was completed. - flags: - $ref: "#/components/schemas/BackupFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - Backups: - type: object - description: A collection of database backups. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of database backups matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/BackupNoEmbedded" - BackupFlags: - type: object - description: Response schema for database backup flags. - properties: - deleted: - type: boolean - description: Whether this database is deleted. - Cdn: - type: object - required: - - status - description: CDN status information. - properties: - status: - type: string - description: The CDN status. - enum: - - active - - delete-failed - - deleting - - disable-failed - - disabling - - install-failed - - installing - _links: - $ref: "#/components/schemas/Links" - CdnInformation: - type: object - nullable: true - description: Domain-specific CDN information, if CDN is enabled. - properties: - status: - type: string - enum: - - active - - installing - - install-failed - - deleting - - delete-failed - - unknown - description: The current provisioning status of CDN for this domain. - Certificate: - type: object - description: An SSL certificate. - required: - - id - - certificate - - private_key - - ca - - flags - - expires_at - - domains - - environment - - _links - properties: - id: - type: integer - description: The ID of the certificate. - label: - type: string - description: The certificate label (SNI only). - nullable: true - certificate: - type: string - description: Returns the PEM encoded certificate. - private_key: - type: string - description: The PEM encoded private key. - ca: - type: string - description: The CA intermediary chain. - flags: - $ref: "#/components/schemas/CertificateFlags" - expires_at: - type: string - format: date-time - description: The ISO-8601 formatted date/time of the certificates expiration date. - domains: - type: array - description: The domain names that this certificate is covering. - items: - type: string - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - CertificateFlags: - type: object - description: An array of various flags that indicate functionality associated with the certificate. - properties: - active: - type: boolean - description: Whether this certificate is installed/deployed. - csr: - type: boolean - description: Whether this certificate has an associated CSR. - legacy: - type: boolean - description: Whether this is a legacy certificate (ELB). - Certificates: - type: object - description: A collection of certificates. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of certificates. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Certificate" - CertificateSigningRequest: - type: object - description: A certificate signing request. - required: - - id - - csr - - private_key - - country - - state - - locality - - organization - - organizational_unit - - common_name - - alternate_names - - flags - - environment - - _links - properties: - id: - type: integer - description: The hosting ID of the CSR/SSL Certificate (0 for 'elb' type). - csr: - type: string - description: The PEM encoded string containing the entire CSR. - private_key: - type: string - description: The PEM encoded private key. - country: - type: string - description: The ISO-3166 country code. - state: - type: string - description: The state/province. - locality: - type: string - description: The locality (city/town/township). - organization: - type: string - description: The organization name. - organizational_unit: - type: string - description: The organizational unit (department). - common_name: - type: string - description: The common name (host and domain name). - alternate_names: - type: array - description: The subject alternate names (sni only). - items: - type: string - format: hostname - flags: - $ref: "#/components/schemas/CertificateSigningRequestFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - CertificateSigningRequestFlags: - type: object - description: An array of various flags that indicate functionality associated with the CSR. - properties: - used: - type: boolean - description: Whether this CSR has already been used for a certificate. - legacy: - type: boolean - description: Whether this is a legacy CSR (meant for use with ELB certificates). - CertificateSigningRequests: - type: object - description: A collection of csrs. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of CSRs. - properties: - items: - type: array - items: - $ref: "#/components/schemas/CertificateSigningRequest" - CloudAction: - type: object - required: - - id - - label - - description - - type - - flags - - _links - properties: - id: - type: string - format: uuid - description: The Cloud Action ID. - label: - type: string - description: The human-readable Cloud Action label. - description: - type: string - description: The description of a Cloud Action. - type: - type: string - description: The type of Cloud Action. - flags: - $ref: "#/components/schemas/CloudActionsFlags" - _links: - $ref: "#/components/schemas/Links" - CloudActions: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Cloud Actions. - properties: - items: - type: array - items: - $ref: "#/components/schemas/CloudAction" - CloudActionsFlags: - type: object - description: Various flags for the Cloud Action. - properties: - enabled: - type: boolean - description: Indicates whether the Cloud Action is enabled. - default: - type: boolean - description: Indicates whether the Cloud Action is a default action. - CloudActionId: - type: string - format: uuid - description: A Cloud Action ID. - Cron: - type: object - required: - - id - - server - - command - - minute - - hour - - day_month - - month - - day_week - - label - - flags - - environment - - _links - properties: - id: - type: string - format: uuid - description: The ID of the cron job. - server: - $ref: "#/components/schemas/ServerStub" - command: - type: string - description: The cron command. - minute: - type: string - description: The cron expression minute. - hour: - type: string - description: The cron expression hour. - day_month: - type: string - description: The cron expression day of the month. - month: - type: string - description: The cron expression month. - day_week: - type: string - description: The cron expression day of the week. - label: - type: string - description: The label for the cron. - flags: - $ref: "#/components/schemas/CronFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - CronFlags: - type: object - description: An array of various flags that indicate functionality associated with cron jobs. - properties: - enabled: - type: boolean - description: Whether this this cron is enabled. - system: - type: boolean - description: Whether this is a system cron, which cannot be modified. - on_any_web: - type: boolean - description: Whether this cron will run on the lowest numbered web. - Crons: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of cron jobs. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Cron" - Database: - type: object - description: Response schema for a database. - required: - - id - - name - - user_name - - password - - url - - db_host - - ssh_host - - flags - - environment - - _links - properties: - id: - type: integer - description: The ID of the database. - name: - type: string - description: The database name. - user_name: - type: string - description: The database user name. - password: - type: string - description: The password for the database user. - url: - type: string - format: uri - description: The connection URL. - db_host: - type: string - format: hostname - description: The server the database lives on, relative to the SSH host. - ssh_host: - type: string - format: hostname - description: The server to SSH to, in order to access the database on the CLI. - flags: - $ref: "#/components/schemas/DatabaseFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - Databases: - type: object - description: A collection of databases. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of databases matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Database" - DatabaseFlags: - type: object - description: Response schema for database flags. - properties: - default: - type: boolean - description: Whether this is the default database. - perform_backup: - type: boolean - description: Whether this database is backed up. - DatabasePhpConfig: - type: object - description: Response schema for a database PHP configuration. - required: - - drupal - - _links - properties: - drupal: - type: string - description: The Drupal PHP configuration settings file content. - _links: - $ref: "#/components/schemas/Links" - DatabaseStub: - type: object - description: Schema for a stub of information regarding a database. - required: - - id - - name - properties: - id: - type: integer - description: The ID of the database. - name: - type: string - description: The database name. - Dns: - type: object - description: Response schema for environment DNS configuration. - required: - - apex_domain - - subdomains - - regional_configuration - - global_configuration - - _links - properties: - apex_domain: - deprecated: true - type: array - description: Environment apex domain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - subdomains: - deprecated: true - type: array - description: Environment subdomain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - regional_configuration: - type: object - description: List of regional apex and subdomain DNS records. - properties: - apex_domain: - type: array - description: Environment regional apex domain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - subdomains: - type: array - description: Environment regional subdomain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - global_configuration: - type: object - description: List of global apex and subdomain DNS records. - properties: - apex_domain: - type: array - description: Environment global apex domain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - subdomains: - type: array - description: Environment global subdomain DNS records. - items: - $ref: "#/components/schemas/DnsRecord" - _links: - $ref: "#/components/schemas/Links" - DnsRecord: - type: object - description: A DNS record. - required: - - type - - value - properties: - type: - type: string - description: The type of DNS record. - enum: - - A - - AAAA - - CNAME - value: - type: string - description: The DNS record value. - Domain: - type: object - description: Response schema for a domain. - required: - - hostname - - cdn - - flags - - environment - - _links - properties: - hostname: - type: string - description: The domain's hostname. - cdn: - $ref: "#/components/schemas/CdnInformation" - flags: - $ref: "#/components/schemas/DomainFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - Domains: - type: object - description: A collection of domains. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of domains matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Domain" - DomainFlags: - type: object - required: - - default - - active - - wildcard - description: An array of flags representing features of the domain. - properties: - default: - type: boolean - description: If the domain is the default domain of the environment. - active: - type: boolean - description: If the domain is considered to be the main or active domain in this environment. - wildcard: - type: boolean - description: If this is a wildcard domain. - DomainStatus: - type: object - required: - - hostname - - flags - - ip_addresses - - cnames - - environment - - _links - description: Domain status information. - properties: - hostname: - type: string - description: The domain hostname. - flags: - $ref: "#/components/schemas/DomainStatusFlags" - ip_addresses: - type: array - description: An array of this domain's IP addresses. - items: - type: string - format: ipv4 - cnames: - type: array - description: An array of this domain's cnames. - items: - type: string - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - DomainStatusFlags: - type: object - description: An array of hosting flags for the domain. - properties: - default: - type: boolean - description: Whether or not this is the default domain. - active: - type: boolean - description: Whether or not this domain is active. - dns_resolves: - type: boolean - description: Whether or not this domain resolves in DNS. - acquia_hosted: - type: boolean - description: Whether or not this domain is Acquia-hosted. - EIP: - type: object - required: - - id - - status - - ipv4 - properties: - id: - type: string - format: uuid - description: The Web EIP ID. - status: - type: string - description: The provisioning status of the Web EIP. - ipv4: - type: string - description: The IPv4 address. - ipv6: - type: string - description: The IPv6 address. - flags: - $ref: "#/components/schemas/EIPFlags" - EIPFlags: - type: object - description: Various flags for the Web EIP. - required: - - active - properties: - active: - type: boolean - description: A flag indicating whether the Web EIP is configured to actively receive traffic. - deprecated: - type: boolean - description: A flag indicating whether the Web EIP is flagged for deprecation. - legacy: - type: boolean - description: A flag indicating whether the Web EIP is associated with ACC infrastructure. - EIPs: - type: object - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Web EIPs. - properties: - items: - type: array - items: - $ref: "#/components/schemas/EIP" - Environment: - type: object - required: - - id - - label - - name - - application - - domains - - active_domain - - default_domain - - image_url - - ssh_url - - ips - - region - - balancer - - platform - - status - - type - - size - - weight - - vcs - - flags - - configuration - - artifact - - _links - properties: - id: - type: string - description: The ID of the environment. The ID is a compound key consisting of the internal database ID of the environment and the application UUID. - label: - type: string - description: The human-readable name of the environment. - name: - type: string - description: The stage name of the environment. - application: - $ref: "#/components/schemas/ApplicationStub" - domains: - type: array - description: An array of domain names attached to this environment. - items: - type: string - format: hostname - active_domain: - type: string - format: hostname - description: The active domain name for this environment. - default_domain: - type: string - format: hostname - description: The default domain name for this environment. - image_url: - type: string - format: uri - description: The URL to the image for this environment. - nullable: true - ssh_url: - type: string - description: The URL used to SSH into the environment. - ips: - type: array - description: An array of IP addresses attached to this environment. - deprecated: true - items: - type: string - format: ipv4 - region: - type: string - description: The region the environment resides in. - balancer: - type: string - description: | - The balancer type. - - balancers: The environment is behind a Legacy balancer. - - elb: The environment is behind an ELB balancer. - - cluster: The environment is behind an Edge Cluster balancer. - enum: - - balancers - - elb - - cluster - platform: - type: string - description: | - The platform type. - - cloud: The environment is hosted on a Cloud Classic Platform. - - cloud-next: The environment is hosted on a Cloud Next Platform. - - unknown: The host information is not available for the environment. - enum: - - cloud - - cloud-next - - unknown - status: - type: string - description: The status of this environment. - type: - type: string - description: | - The type of environment. - - node: A NodeJS environment. - - drupal: A Drupal environment. - - unknown: We were unable to determine the environment type. - enum: - - node - - drupal - - unknown - size: - type: string - description: The size of the environment. Will be null if the environment type does not support sizes. - nullable: true - enum: - - small - - medium - - large - - unknown - weight: - type: integer - nullable: true - description: The environment weight for display purposes. - vcs: - $ref: "#/components/schemas/Vcs" - flags: - $ref: "#/components/schemas/EnvironmentFlags" - configuration: - type: object - description: A collection of environment configuration information. - nullable: true - properties: - operation_system: - type: string - description: The environment operation system. - php: - $ref: "#/components/schemas/EnvironmentConfigurations" - artifact: - $ref: "#/components/schemas/ArtifactStub" - _links: - $ref: "#/components/schemas/Links" - EnvironmentConfigurations: - type: object - description: An array of configuration details for the environment. - properties: - version: - type: string - description: The PHP or Node version. - memory_limit: - type: integer - description: Limits PHP request memory usage in megabytes. - default: 128 - minimum: 128 - maximum: 1024 - nullable: true - opcache: - type: integer - description: This is the total amount of memory available for caching precompiled script bytecode per PHP/FPM process. - default: 96 - minimum: 96 - maximum: 512 - nullable: true - apcu: - type: integer - description: APCu shared memory size per web server. - default: 32 - minimum: 32 - maximum: 512 - nullable: true - interned_strings_buffer: - type: integer - description: Sets PHP Opcache key count per server. - default: 8 - minimum: 8 - maximum: 32 - nullable: true - max_execution_time: - type: integer - description: Limits PHP request time in seconds. - default: 300 - minimum: 1 - maximum: 300 - nullable: true - max_post_size: - type: integer - description: Sets the PHP limit on POST body size. - default: 256 - minimum: 64 - maximum: 1024 - nullable: true - max_input_vars: - type: integer - description: Limits the number of various request items in PHP. - default: 1000 - minimum: 500 - maximum: 20000 - nullable: true - memcached_limit: - type: integer - description: Sets the maximum amount of memory in MB that can be allocated to memcached. Only available on Acquia Cloud Next. - default: 64 - minimum: 0 - maximum: 12288 - nullable: true - EnvironmentFlags: - type: object - description: An array of various flags that indicate functionality associated with the environment. - properties: - cde: - type: boolean - description: Determines if the environment is on-demand. - cdn: - type: boolean - description: Determines if the environment has Platform CDN enabled. - cloud-actions: - type: boolean - description: Determines if the environment has Cloud Actions enabled. - eips: - type: boolean - description: Determines if the environment has Web EIPs enabled. - email: - type: boolean - description: Determines if the environment has Platform Email enabled. - hsd: - type: boolean - description: Determines if the environment is under high-site density. - livedev: - type: boolean - description: Determines if the environment has live development enabled. - migration: - type: boolean - description: Determines if the environment is a Migrate Environment. - multicert: - type: boolean - description: Determines if the environment has multicert enabled. - multi_region: - type: boolean - description: Whether or not the environment is multi-regioned. - production: - type: boolean - description: Determines if the environment is production. - production_mode: - type: boolean - description: Determines if the environment has production mode enabled. - remote_admin: - type: boolean - description: Determines if the environment is a remote administration environment. - varnish: - type: boolean - description: Determines if the environment has Varnish. - varnish_over_ssl: - type: boolean - description: Determines if the environment is configured for varnish over SSL. - EnvironmentMetadata: - type: object - description: Environment metadata. - properties: - ids: - type: array - description: An array of environment identifiers. - items: - type: string - Environments: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of environments matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Environment" - EnvironmentSettings: - type: object - description: A collection of links to environment settings. - required: - - _links - properties: - _links: - $ref: "#/components/schemas/Links" - EnvironmentStub: - type: object - description: Schema for a stub of information regarding an environment. - required: - - id - - name - properties: - id: - type: string - description: The ID of the environment. The ID is a compound key consisting of the internal database ID of the environment and the application UUID. - name: - type: string - description: The stage name of the environment. - EnvironmentVariable: - type: object - required: - - name - - value - - _links - description: An environment variable key and value. - properties: - name: - type: string - description: The name of the variable. - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - value: - type: string - description: The value of the variable. - minLength: 0 - maxLength: 5000 - _links: - $ref: "#/components/schemas/Links" - EnvironmentVariables: - type: object - required: - - total - - _links - - _embedded - description: A collection of environment variables. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of variables matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/EnvironmentVariable" - FileDownload: - type: object - description: A JSON response containing the url and url expiration. - required: - - url - - expires_at - properties: - url: - type: string - description: The url for the download. - expires_at: - type: string - description: The expiration for the url. - Log: - type: object - description: Details for a log file. - required: - - type - - label - - flags - - _links - properties: - type: - type: string - description: The machine name for the type of logfile. - label: - type: string - description: The human readable label of the logfile. - flags: - type: object - description: An array of various flags that indicate functionality associated with the log. - properties: - available: - type: boolean - description: Whether or not this log file is available. - _links: - type: object - description: Links associated with the logfile. - properties: - download: - type: object - description: Download data for the logfile. - properties: - href: - type: string - format: uri - description: The download link for the logfile. - Logs: - type: object - description: A collection of logs. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of logs matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Log" - Logstream: - type: object - description: Connection details for Logstream backend. - required: - - logstream - - _links - properties: - logstream: - type: object - required: - - url - - params - - commands - description: Connection details for Logstream backend. - properties: - url: - type: string - format: uri - description: WebSocket URL. - params: - type: object - description: Connection details such as a timestamp, hmac, site name and environment. - commands: - type: array - description: Commands for the logstream backend. - items: - type: string - _links: - $ref: "#/components/schemas/Links" - LogForwardingDestination: - type: object - required: - - uuid - - label - - sources - - consumer - - credentials - - address - - status - - flags - - health - - environment - - _links - description: The Log Forwarding destination. - properties: - uuid: - type: string - format: uuid - description: The string representation of the unique identifier of the destination. - label: - type: string - description: The human-friendly identifier of the destination. - sources: - type: array - description: The list of log sources to forward. - items: - type: string - description: A log source. - enum: - - apache-access - - apache-error - - varnish-access - - drupal-request - - drupal-watchdog - - php-error - - stdout - - stderr - consumer: - type: string - description: The application or provider consuming the logs. - enum: - - loggly - - splunk - - sumologic - - syslog - credentials: - $ref: "#/components/schemas/LogForwardingDestinationCredentials" - address: - type: string - description: The URL or host name and port of the destination. - status: - type: string - description: The current status of the destination. - enum: - - active - - pending - - installing - - install-failed - - deleting - - delete-failed - - disabling - - disable-failed - - inactive - - failing - flags: - $ref: "#/components/schemas/LogForwardingDestinationFlags" - health: - $ref: "#/components/schemas/Health" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - LogForwardingDestinations: - type: object - required: - - total - - _links - - _embedded - description: A collection of Log Forwarding destinations. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of log forwarding destinations matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/LogForwardingDestination" - LogForwardingDestinationCredentials: - type: object - required: - - certificate - description: The Log Forwarding destination credentials. - properties: - certificate: - type: object - description: A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly. - properties: - certificate: - type: string - description: A public X.509 certificate in PEM format. - expires_at: - type: string - format: date-time - description: The ISO-8601 date the certificate will expire at. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk. - key: - type: string - description: The certificate private key, in PEM format, used to encrypt the log traffic. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly. - nullable: true - token: - type: string - description: An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk. - nullable: true - LogForwardingDestinationFlags: - type: object - description: Various flags for this log forwarding destination. - properties: - enabled: - type: boolean - description: Destination enabled status. - certificate_expiring: - type: boolean - description: Whether the destination certificate is in danger of expiring soon (within 30 days). - PostCertificate: - type: object - description: Certificate POST schema. - required: - - certificate - - private_key - properties: - legacy: - type: boolean - description: Must be set to true for legacy certificates. - certificate: - type: string - description: The SSL certificate being installed. - private_key: - type: string - description: The SSL private key. - ca_certificates: - type: string - description: The CA intermediary certificates. - csr_id: - type: integer - description: The CSR (certificate signing request) to associate with this certificate. Optional. - label: - type: string - description: The label for this certificate. Required for standard certificates. Optional for legacy certificates. - PostCron: - type: object - required: - - command - - frequency - - label - properties: - command: - type: string - description: The command to run. - frequency: - type: string - description: The cron string that describes the frequency the cron will be run at. - label: - type: string - description: The label for this cron. - PostCsr: - type: object - description: Certificate signing request POST schema. - required: - - country - - state - - locality - - organization - - organizational_unit - - common_name - properties: - country: - type: string - description: The ISO-3166 country code for CSR generation. - state: - type: string - description: The state/province for CSR generation. - locality: - type: string - description: The locality (city/town/township) for CSR generation. - organization: - type: string - description: The organization name for CSR generation. - organizational_unit: - type: string - description: The organizational unit (department) for CSR generation. - common_name: - type: string - description: The common name (domain) for CSR generation. - alternate_names: - description: The Subject Alternate Names (SNI only) for CSR generation. - type: array - items: - type: string - format: hostname - PutCloudActions: - type: object - description: A Cloud Action or a series of Cloud Actions paired with enable or disable boolean value. - required: - - cloud-actions - properties: - cloud-actions: - type: object - additionalProperties: - type: boolean - description: Whether this Cloud Action is enabled. - PutCron: - type: object - properties: - command: - type: string - description: The command to run. - frequency: - type: string - description: The cron string that describes the frequency the cron will be run at. - label: - type: string - description: The label for this cron. - RemoteAdministration: - type: object - required: - - update_mode - properties: - update_mode: - type: string - description: The update mode to select. - enum: - - update - - inform - - none - update_type: - type: string - description: What components to update (core only or core and contrib modules). - enum: - - core - - core_contrib - pause_until: - type: string - description: What date/time to pause RA updates until (if applicable). - deploy_at: - type: string - description: What date/time to deploy RA updates at (if applicable). - deploy_environment: - type: string - description: The environment id of the environment to deploy to. - source_environment: - type: string - description: The environment id of the environment to use as a starting point for testing. - copy_files: - type: boolean - description: Whether to copy files from production to testing environment. - copy_database: - type: boolean - description: Whether to copy database from production to testing environment. - merge_tag: - type: boolean - description: Whether to automatically merge the approved code into your development branch. - merge_branch: - type: string - description: The development branch into which to merge the update tag. - Ssl: - type: object - description: The SSL settings for an environment. - required: - - balancer - - ips - - _links - properties: - balancer: - type: object - description: SSL configuration for the load balancer associated with this environment. - properties: - hostname: - type: string - description: The balancer CNAME. - format: hostname - ips: - type: array - description: The IP addresses for the environment. - items: - type: string - format: ipv4 - _links: - $ref: "#/components/schemas/Links" - Vcs: - type: object - required: - - type - - path - - url - properties: - type: - type: string - description: The type of VCS. - enum: - - git - - svn - path: - type: string - description: The path or branch name. - nullable: true - url: - type: string - description: The VCS url. - DeployCodeRequest: - type: object - required: - - source - properties: - source: - type: string - description: The ID of the environment to deploy code from. - message: - type: string - description: An optional commit message to include when creating a new tag. - cloud-actions: - type: array - description: An optional array of Cloud Actions. - items: - $ref: "#/components/schemas/CloudActionId" - ImportSiteRequest: - type: object - required: - - url - properties: - url: - type: string - format: uri - description: The URL of the make file or tarball containing the site to import. - name: - type: string - description: The name of the distribution being installed. - SwitchCodeRequest: - type: object - required: - - branch - properties: - branch: - type: string - description: The name of the branch or tag to switch to. Tags should be prefixed with "tags/". - cloud-actions: - type: array - description: An optional array of Cloud Actions. - items: - $ref: "#/components/schemas/CloudActionId" - Ides: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Cloud IDEs matching the request parameters. - required: - - items - properties: - items: - type: array - items: - $ref: "#/components/schemas/Ide" - Ide: - type: object - required: - - uuid - - label - - status - - _links - properties: - uuid: - type: string - format: uuid - description: The unique identifier of the Cloud IDE. - label: - type: string - description: The human-friendly label of the Cloud IDE. - status: - type: string - description: The current provisioning status of the Cloud IDE. - enum: - - active - - provisioning - - deleting - - updating - - provision-failed - - update-failed - - delete-failed - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - properties: - owner: - $ref: "#/components/schemas/UserProfile" - IdentityProvider: - type: object - required: - - uuid - - label - - idp_entity_id - - sp_entity_id - - sso_url - - certificate - - status - - _links - properties: - uuid: - type: string - format: uuid - description: The unique identifier of the identity provider. - label: - type: string - description: The human-friendly label of the identity provider. - idp_entity_id: - type: string - description: The SAML entity ID of the identity provider. - sp_entity_id: - type: string - description: The SAML entity ID of the service provider. - sso_url: - type: string - format: uri - description: The URL of the SAML POST Binding / SP-initiated SSO. - certificate: - type: string - description: The PEM-encoded X.509 certificate used to sign assertions. - status: - type: string - description: The current state of the identity provider. - enum: - - enabled - - incomplete - - disabled - _links: - $ref: "#/components/schemas/Links" - IdentityProviders: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of identity providers matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/IdentityProvider" - ApplicationUsageMetric: - type: object - description: Provides details about views and visits for an application. - required: - - metric - - datapoints - - metadata - - last_data_at - properties: - metric: - type: string - description: The type of metric requested. - enum: - - views - - visits - datapoints: - type: array - description: The data points for the pricing metrics request. - items: - type: array - description: Each element includes the value for the requested metric and the sampling time. - items: - type: string - description: The first element is the metric value and the second is the sampling time. - metadata: - type: object - description: The metadata for the data points being returned. - properties: - environment: - $ref: "#/components/schemas/EnvironmentMetadata" - application: - $ref: "#/components/schemas/ApplicationMetadata" - subscription: - $ref: "#/components/schemas/SubscriptionMetadata" - last_data_at: - type: string - description: The last time data was polled for the requested metric. - format: date-time - nullable: true - _links: - $ref: "#/components/schemas/Links" - ApplicationUsageMetrics: - type: object - description: A collection of application usage metrics. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of application metric items matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationUsageMetric" - EnvironmentUsageMetric: - type: object - description: Provides details about views and visits for an environment. - required: - - metric - - datapoints - - metadata - - last_data_at - properties: - metric: - type: string - description: The type of metric requested. - enum: - - views - - visits - datapoints: - type: array - description: The data points for the pricing metrics request. - items: - type: array - description: Each element includes the value for the requested metric and the sampling time. - items: - type: string - description: The first element is the metric value and the second is the sampling time. - metadata: - type: object - description: The metadata for the data points being returned. - properties: - environment: - $ref: "#/components/schemas/EnvironmentMetadata" - application: - $ref: "#/components/schemas/ApplicationMetadata" - subscription: - $ref: "#/components/schemas/SubscriptionMetadata" - last_data_at: - type: string - description: The last time data was polled for the requested metric. - format: date-time - _links: - $ref: "#/components/schemas/Links" - EnvironmentUsageMetrics: - type: object - description: A collection of usage metrics for an environment. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of environment metric items matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/EnvironmentUsageMetric" - Metrics: - type: object - description: A collection of links that provides traversal of metrics endpoints. - required: - - _links - properties: - _links: - $ref: "#/components/schemas/Links" - StackMetricsData: - type: object - description: An object containing StackMetrics metrics. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of StackMetrics items matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/StackMetricsMetric" - StackMetricsMetric: - type: object - description: An object containing StackMetrics datapoints. - required: - - metric - - datapoints - - last_data_at - - metadata - properties: - metric: - type: string - description: The name of the type of StackMetrics metric. - enum: - - apache-requests - - bal-cpu - - bal-memory - - cron-memory - - db-cpu - - db-disk-size - - db-disk-usage - - db-memory - - file-disk-size - - file-cpu - - file-disk-usage - - file-memory - - http-2xx - - http-3xx - - http-4xx - - http-5xx - - mysql-slow-query-count - - nginx-requests - - out-of-memory - - php-proc-max-reached-site - - php-proc-max-reached-total - - php-proc-site - - php-proc-total - - varnish-cache-hit-rate - - varnish-requests - - web-cpu - - web-memory - datapoints: - type: array - description: The data points for the StackMetrics request. - items: - type: array - description: Each element includes the value and the sampling time for the requested metric. - items: - type: string - description: Each datapoint is a tuple consisting of two elements - a value and a Unix timestamp. - last_data_at: - type: string - description: The ISO-8601 date time when the last datapoint was sampled. - format: date-time - metadata: - type: object - description: The metadata describing the context for the metric. - properties: - host: - type: string - description: The corresponding hostname for the StackMetrics datapoints. - SubscriptionUsageMetric: - type: object - description: Provides details about views and visits for a subscription. - required: - - metric - - datapoints - - metadata - - last_data_at - properties: - metric: - type: string - description: The type of metric requested. - enum: - - views - - visits - datapoints: - type: array - description: The data points for the pricing metrics request. - items: - type: array - description: Each element includes the value for the requested metric and the sampling time. - items: - type: string - description: The first element is the metric value and the second is the sampling time. - metadata: - type: object - description: The metadata for the data points being returned. - properties: - environment: - $ref: "#/components/schemas/EnvironmentMetadata" - application: - $ref: "#/components/schemas/ApplicationMetadata" - subscription: - $ref: "#/components/schemas/SubscriptionMetadata" - last_data_at: - type: string - description: The last time data was polled for the requested metric. - format: date-time - _links: - $ref: "#/components/schemas/Links" - SubscriptionUsageMetrics: - type: object - description: A collection of usage metrics for a subscription. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of subscription metric items matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/SubscriptionUsageMetric" - Usage: - type: object - description: A collection of traversal links for an entity. - required: - - _links - properties: - _links: - $ref: "#/components/schemas/Links" - ModProxy: - type: object - required: - - status - properties: - status: - type: string - description: The enablement state of Mod Proxy. - enum: - - active - - inactive - _links: - $ref: "#/components/schemas/Links" - Notification: - type: object - description: A notification about an event or a task. - required: - - uuid - - event - - label - - description - - created_at - - completed_at - - status - - progress - - context - - _links - properties: - uuid: - type: string - description: The notification unique identifier. - format: uuid - event: - type: string - description: The notification event. - label: - type: string - description: The human readable notification label. - description: - type: string - description: The notification description. - created_at: - type: string - format: date-time - description: The time that this notification was created. - completed_at: - type: string - format: date-time - description: The time that the task or event this notification is tracking was completed at. - status: - type: string - description: The status of the notification. - enum: - - completed - - in-progress - - failed - progress: - type: integer - description: The notification progress. - minimum: 0 - maximum: 100 - context: - type: object - description: Contextual data related to the notification. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: Data related to the notification, such as the author. - NotificationDeprecated: - type: object - description: A notification about an event or a task. - required: - - progress - - user - - uuid - - name - - title - - description - - created_at - - started_at - - completed_at - - status - - type - - metadata - - labels - - _links - properties: - progress: - type: integer - description: The notification progress. - minimum: 0 - maximum: 100 - user: - $ref: "#/components/schemas/UserStub" - uuid: - type: string - description: The notification unique identifier. - format: uuid - name: - type: string - description: The notification name. - title: - type: string - description: The operation title. - description: - type: string - description: The notification description. - created_at: - type: string - format: date-time - description: The time that this notification was created. - started_at: - type: string - format: date-time - description: The time that the task or event this notification is tracking was started at. - completed_at: - type: string - format: date-time - description: The time that the task or event this notification is tracking was completed at. - status: - type: string - description: The status of the notification. - enum: - - completed - - in-progress - - failed - type: - type: string - description: The notification type. - enum: - - task - - event - metadata: - type: object - description: A collection of metadata related to the notification. - properties: - environments: - $ref: "#/components/schemas/EnvironmentMetadata" - labels: - $ref: "#/components/schemas/NotificationLabels" - _links: - $ref: "#/components/schemas/Links" - NotificationLabels: - type: array - description: An array of various labels associated with a notification. - items: - type: string - description: Contextual information regarding the notification. - NotificationTasks: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of tasks matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Task" - Organization: - type: object - description: Organization information. - required: - - id - - uuid - - name - - subscriptions_total - - admins_total - - users_total - - teams_total - - roles_total - - owner - - flags - - _links - - _embedded - properties: - id: - type: string - description: The internal ID of the organization. - uuid: - type: string - description: The UUID of the organization. - name: - type: string - description: The name of the organization. - subscriptions_total: - type: integer - description: The number of subscriptions this organization has. - admins_total: - type: integer - description: The number of administrators this organization has. - users_total: - type: integer - description: The number of users this organization has. - teams_total: - type: integer - description: The number of teams this organization has. - roles_total: - type: integer - description: The number of roles this organization has. - owner: - $ref: "#/components/schemas/UserStub" - flags: - type: object - description: An array of various flags that indicate functionality for the organization. - properties: - federated_authentication: - type: boolean - description: Indicates whether the organization supports federated authentication. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: Entities related to the organization. - properties: - owner: - $ref: "#/components/schemas/UserStubEmbedded" - OrganizationAdminInvite: - type: object - description: An invitation to become an organization administrator. - required: - - uuid - - email - - created_at - - token - - flags - - author - - organization - - _links - properties: - uuid: - type: string - description: The unique identifier of the Invite. - format: uuid - email: - type: string - description: The invitee email address. - format: email - created_at: - type: string - description: The invite creation time. - format: date-time - token: - type: string - description: The invite token. - flags: - $ref: "#/components/schemas/InviteFlags" - author: - $ref: "#/components/schemas/UserStub" - organization: - $ref: "#/components/schemas/OrganizationStub" - _links: - $ref: "#/components/schemas/Links" - OrganizationAdminInvites: - type: object - description: A collection of invitations to become an organization administrator. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of organization admin invites. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationAdminInvite" - OrganizationAdminUserProfile: - type: object - description: An organization admin user profile. - required: - - uuid - - first_name - - last_name - - last_login_at - - mail - - picture_url - - username - - flags - - _links - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - minLength: 36 - maxLength: 36 - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - last_login_at: - type: string - description: The ISO-8601 formatted date/time of when the user last logged in. - nullable: true - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URI for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - flags: - type: object - description: An array of flags for a user profile. - properties: - owner: - type: boolean - description: Whether or not this user is the organization owner. - _links: - $ref: "#/components/schemas/Links" - OrganizationAdminUserProfiles: - type: object - description: A collection of organization administrator user profiles. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of organization admin user profiles. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationAdminUserProfile" - OrganizationApplications: - type: object - description: A collection of applications associated with an organization. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of applications. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationNoEmbedded" - OrganizationAvailableTags: - type: object - description: A collection of organization members. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of tags associated with the organization. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ResourceTagOrganization" - OrganizationMembers: - type: object - description: A collection of organization members. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of organization member profiles. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationUserProfile" - OrganizationNoEmbedded: - type: object - description: Organization information. - required: - - id - - uuid - - name - - subscriptions_total - - admins_total - - users_total - - teams_total - - roles_total - - owner - - flags - - _links - properties: - id: - type: string - description: The internal ID of the organization. - uuid: - type: string - description: The UUID of the organization. - name: - type: string - description: The name of the organization. - subscriptions_total: - type: integer - description: The number of subscriptions this organization has. - admins_total: - type: integer - description: The number of administrators this organization has. - users_total: - type: integer - description: The number of users this organization has. - teams_total: - type: integer - description: The number of teams this organization has. - roles_total: - type: integer - description: The number of roles this organization has. - owner: - $ref: "#/components/schemas/UserStub" - flags: - type: object - description: An array of various flags that indicate functionality for the organization. - properties: - federated_authentication: - type: boolean - description: Indicates whether the organization supports federated authentication. - _links: - $ref: "#/components/schemas/Links" - Organizations: - type: object - description: A collection of all organizations the current user has access to. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of organizations. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationNoEmbedded" - OrganizationsNotifications: - type: object - description: A collection of notifications matching the request parameters. - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of notifications matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Notification" - OrganizationStub: - type: object - required: - - uuid - - name - properties: - uuid: - type: string - format: uuid - description: The organization's UUID. - name: - type: string - description: The human-readable organization name. - OrganizationStubEmbedded: - type: object - description: A related organization. - required: - - uuid - - name - properties: - uuid: - type: string - format: uuid - description: The organization's UUID. - name: - type: string - description: The human-readable organization name. - _links: - $ref: "#/components/schemas/Links" - OrganizationTeamInvite: - type: object - required: - - applications - - author - - organization - - uuid - - email - - created_at - - token - - flags - - team - - roles - - _links - properties: - applications: - type: array - description: A array of applications this invite is granting access to. - items: - $ref: "#/components/schemas/ApplicationStub" - author: - $ref: "#/components/schemas/UserStub" - organization: - $ref: "#/components/schemas/OrganizationStub" - uuid: - type: string - description: The unique identifier of the Invite. - format: uuid - email: - type: string - description: The invitee email address. - format: email - created_at: - type: string - description: The invite creation time. - format: date-time - token: - type: string - description: The invite token. - flags: - $ref: "#/components/schemas/InviteFlags" - team: - $ref: "#/components/schemas/TeamStub" - roles: - type: array - description: List of roles the invite will grant the invitee. - items: - $ref: "#/components/schemas/RoleStub" - _links: - $ref: "#/components/schemas/Links" - OrganizationTeamInvites: - type: object - description: A collection of invitations to join a team. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of organization team invites. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationTeamInvite" - OrganizationTeamStub: - type: object - description: A team within an organization. - required: - - uuid - - name - - roles - properties: - uuid: - type: string - description: The team unique identifier. - format: uuid - name: - type: string - description: The team name. - roles: - type: array - description: An array of roles that the user has on this team. - items: - $ref: "#/components/schemas/RoleStub" - OrganizationUserProfile: - type: object - description: A user profile for an organization member. - required: - - uuid - - first_name - - last_name - - mail - - picture_url - - username - - teams - - _links - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URL for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - teams: - type: array - description: A collection of teams this user has access to in an organization, and the roles they have on those teams. - items: - $ref: "#/components/schemas/OrganizationTeamStub" - _links: - $ref: "#/components/schemas/Links" - CdeSize: - type: object - description: Response schema for a CDE size. - required: - - name - - size - - memory - - storage - - databases - - slots - properties: - name: - type: string - description: The CDE size name. - size: - type: string - description: The CDE size. - memory: - type: integer - description: The CDE memory in MB. - storage: - type: integer - description: The CDE storage in GB. - databases: - type: integer - description: Number of databases available. - slots: - type: integer - description: Number of slots available. - CdeSizes: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of CDE sizes. - properties: - items: - type: array - items: - $ref: "#/components/schemas/CdeSize" - LogForwardingSource: - type: object - description: Response schema for a Log forwarding source. - required: - - name - - label - - platforms - properties: - name: - type: string - description: The source name. - label: - type: string - description: The source label. - platforms: - type: array - description: List of platforms for which the source is available. - items: - type: string - description: The platform name. - LogForwardingSources: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of Log forwarding sources. - properties: - items: - type: array - items: - $ref: "#/components/schemas/LogForwardingSource" - LogForwardingConsumer: - type: object - description: Response schema for a Log forwarding consumer. - required: - - name - - label - properties: - name: - type: string - description: The consumer name. - label: - type: string - description: The consumer label. - LogForwardingConsumers: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of Log forwarding consumers. - properties: - items: - type: array - items: - $ref: "#/components/schemas/LogForwardingConsumer" - Color: - type: object - description: Response schema for a color. - required: - - color - properties: - color: - type: string - description: The color name. - Colors: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The collection of colors. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Color" - ConfigurationSet: - type: object - description: An Acquia Search configuration set. - required: - - id - - application_uuid - - label - - flags - - status - - _links - properties: - id: - type: string - description: The search configuration set ID. - application_uuid: - type: string - description: The UUID for the application the search configuration belongs to. - label: - type: string - description: The human-readable search configuration set label. - flags: - type: object - description: The collection of flags for the search configuration set. - properties: - custom: - type: boolean - description: Indicates whether the search configuration set is a custom configuration set. - status: - type: string - description: The provisioning status of the search configuration set. - enum: - - active - - pending - - failed - - inactive - health: - $ref: "#/components/schemas/Health" - _links: - $ref: "#/components/schemas/Links" - ConfigurationSets: - type: object - description: A collection of configuration sets. - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of configuration sets. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ConfigurationSet" - Index: - type: object - description: An Acquia Search index. - required: - - id - - environment_id - - config_set_id - - database_role - - status - - solr_version - - url - - _links - - _embedded - properties: - id: - type: string - description: The index ID. - environment_id: - type: string - description: The ID for the environment the search index belongs to. - config_set_id: - type: string - description: The search configuration set ID. - database_role: - type: string - description: The database role. - status: - type: string - description: The state for the index. - enum: - - active - - pending - - failed - - inactive - health: - $ref: "#/components/schemas/Health" - solr_version: - type: string - description: The Solr version the index is currently running on. - url: - type: string - description: The index URL. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: The configuration set associated with the index. - properties: - configuration_set: - $ref: "#/components/schemas/ConfigurationSet" - Indexes: - type: object - description: A collection of indexes. - properties: - total: - type: integer - description: The number of items returned in the collection. - pagination: - $ref: "#/components/schemas/Pagination" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of indexes. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Index" - Search: - type: object - description: A collection of links that provides traversal of search endpoints. - required: - - _links - properties: - _links: - $ref: "#/components/schemas/Links" - Server: - type: object - description: Server information. - required: - - id - - name - - hostname - - ssh_user - - ip - - status - - region - - roles - - ami_type - - operating_system - - configuration - - flags - - environment - - _links - properties: - id: - type: integer - description: The ID of the server. - name: - type: string - description: The machine name of the server. - hostname: - type: string - description: The hostname for the server. - ssh_user: - type: string - description: The name of the SSH user for this environment. - ip: - type: string - format: ipv4 - description: The IP address of the server. - status: - type: string - description: The status of the server. - enum: - - normal - - stopped - - launching - - cancelled - - unknown - region: - type: string - description: The Amazon region the server is in. - roles: - type: array - description: The roles the server has, for its environment. - items: - type: string - enum: - - web - - db - - bal - ami_type: - type: string - description: The Amazon AMI type. - operating_system: - type: string - description: The operating system running on the server. - configuration: - $ref: "#/components/schemas/ServerConfiguration" - flags: - $ref: "#/components/schemas/ServerFlags" - environment: - $ref: "#/components/schemas/EnvironmentStub" - _links: - $ref: "#/components/schemas/Links" - Servers: - type: object - required: - - total - - _links - - _embedded - description: A collection of servers. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of servers matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Server" - ServerConfiguration: - type: object - description: An array of various configuration settings for the server. - properties: - ecu: - type: integer - description: The number of EC2 Compute Units (ECU) for this server type. - nullable: true - memory: - type: number - description: Returns the memory size (in GB) for this server type. - nullable: true - memcache: - type: integer - description: Returns the memcache size (in MB) for this server (if it is a memcache server). - nullable: true - ServerFlags: - type: object - description: An array of various flags that indicate functionality for the server. - properties: - elastic_ip: - type: boolean - description: Determines if the server has an elastic (static) IP or not. - active_web: - type: boolean - description: Determines if the server is an active balancer or not. - active_bal: - type: boolean - description: Determines if the server is an active web server or not. - primary_db: - type: boolean - description: | - Determines if the server is the primary database. - - Note that "false" does not imply that this is the secondary database. The server must be a database, and not primary in order to be the secondary database. - web: - type: boolean - description: Determines if the server is a web server. - database: - type: boolean - description: Determines if the server is a database server. - balancer: - type: boolean - description: Determines if the server is a balancer. - fs: - type: boolean - description: Determines if the server is a file server. - memcache: - type: boolean - description: Determines if the server is a memcache server. - dedicated: - type: boolean - description: Determines if the server is dedicated or shared. - self_service: - type: boolean - description: Determines if the server is self-service. - ServerStub: - type: object - required: - - id - - name - description: Information about the server this cron job is attached to. - properties: - id: - type: string - description: The server ID. - name: - type: string - description: The server name. - Settings: - type: object - properties: - _links: - $ref: "#/components/schemas/Links" - HostingSettings: - type: object - properties: - uuid: - type: string - format: uuid - description: The application UUID. - hosting_id: - type: string - description: The application's hosting identifier. - type: - type: string - description: The application's hosting type. - _links: - $ref: "#/components/schemas/Links" - LegacyProductKeysSettings: - type: object - properties: - acquia_connector: - type: object - description: Acquia Connector legacy credentials. - properties: - identifier: - type: string - description: The Acquia Connector site identifier. - key: - type: string - description: The Acquia Connector key. - cloud_api: - type: object - description: Cloud API legacy credentials. - properties: - username: - type: string - format: uuid - description: The Cloud API username (Subscription UUID). - key: - type: string - description: The Cloud API key. - _links: - $ref: "#/components/schemas/Links" - RemoteAdministrationSettings: - type: object - properties: - application_uuid: - type: string - format: uuid - description: The application UUID. - update_mode: - type: string - description: The remote administration update setting. - enum: - - full - - inform - - none - update_type: - type: string - description: The remote administration update type (i.e. what to update). - enum: - - core - - core_contrib - pause_until: - type: string - description: The ISO-8601 formatted date/time to pause RA until. Only applicable for 'full' and 'inform' update modes and when it is in future. - deploy_at: - type: string - description: The ISO-8601 formatted date/time to deploy RA at. Only applicable for 'full' and 'inform' update modes and when it is in future. - deploy_environment: - type: string - description: The environment to deploy the code and production database to for testing. - source_environment: - type: string - description: The update source environment. Only applicable for 'full' mode. - merge_branch: - type: string - description: The development branch into which the update tag will be merged. - nullable: true - flags: - type: object - description: Remote administration settings flags. - properties: - copy_files: - type: boolean - copy_database: - type: boolean - merge_tag: - type: boolean - _links: - $ref: "#/components/schemas/Links" - SecuritySettings: - type: object - properties: - uuid: - type: string - format: uuid - description: The application UUID. - allowed_ips: - type: array - description: A list of IPs and CIDR values allowed to access an application. Set to null to disable whitelisting. - items: - type: string - tfa_required: - type: boolean - description: Whether TFA is required for an application. - _links: - $ref: "#/components/schemas/Links" - ShieldAclCollection: - type: object - description: Collection of Shield ACL rules. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of Shield ACL rules. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ShieldAcl" - ShieldAcl: - type: object - description: Shield ACL rule. - required: - - uuid - - subscription - - description - - service - - addresses - - action - - status - - _links - properties: - uuid: - type: string - description: The unique identifier of the rule. - format: uuid - subscription: - $ref: "#/components/schemas/SubscriptionStub" - description: - type: string - description: The rule description. - service: - type: string - description: The service associated with the rule. - enum: - - ssh - addresses: - type: array - description: The cidrs of the rule. - items: - type: string - format: cidr | ipv4 - description: The address in cidr or ipv4 format. - action: - type: string - description: The action of the rule. - enum: - - allow - - deny - status: - type: string - description: The status of the rule. - enum: - - active - - inactive - _links: - $ref: "#/components/schemas/Links" - ApmType: - type: object - required: - - type - - flags - - key - - _links - properties: - type: - type: string - description: The APM type. - enum: - - newrelic - flags: - type: object - description: Additional APM information. - properties: - opted-in: - type: boolean - description: Whether the organization owner has opted into the APM type. - key: - type: string - description: The APM license key. - _links: - $ref: "#/components/schemas/Links" - ApmTypes: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of APM types matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApmType" - Subscription: - type: object - description: | - A subscription is the product that allows for applications to be hosted with Acquia. - In addition, a subscription grants access to various additional services. - required: - - id - - uuid - - name - - start_at - - expire_at - - product - - applications_total - - applications_used - - organization - - flags - - _links - - _embedded - properties: - id: - type: integer - description: The subscription ID. - uuid: - type: string - description: The subscription UUID. - format: uuid - name: - type: string - description: The subscription name. - start_at: - type: string - description: The time when the service defined by the subscription becomes available. - expire_at: - type: string - description: The time when the service expires. - product: - type: object - description: Defines the type of service this subscription is entitled to. - properties: - id: - type: integer - description: The product ID. - name: - type: string - description: The product name. - type: - type: string - description: The product type. - applications_total: - type: integer - description: The number of applications this subscription is entitled to. - applications_used: - type: integer - description: The number of applications used. - organization: - type: object - deprecated: true - required: - - uuid - - name - properties: - uuid: - type: string - format: uuid - description: The organization's UUID. - name: - type: string - description: The human-readable organization name. - flags: - $ref: "#/components/schemas/SubscriptionFlags" - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of resources related to the subscription. - properties: - items: - type: array - items: - $ref: "#/components/schemas/OrganizationStub" - SubscriptionApplications: - type: object - description: A collection of applications associated with a subscription. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of applications. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationNoEmbedded" - SubscriptionFlags: - type: object - description: An array of various flags that indicate functionality associated with subscription. - properties: - active: - type: boolean - description: If the subscription is active. - expired: - type: boolean - description: If the subscription is expired. - zuora: - type: boolean - description: If the subscription is online paid. - SubscriptionMetadata: - type: object - description: Subscription metadata. - properties: - uuids: - type: array - description: An array of subscription unique identifiers. - items: - type: string - format: uuid - Subscriptions: - type: object - description: Collection of subscriptions. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of subscriptions. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Subscription" - SubscriptionStub: - type: object - description: The subscription this application belongs to. - required: - - uuid - - name - properties: - uuid: - type: string - format: uuid - description: The UUID of the subscription. - name: - type: string - description: The name of the subscription. - SubscriptionStubEmbedded: - type: object - description: A related subscription. - required: - - uuid - - name - - _links - properties: - uuid: - type: string - format: uuid - description: The UUID of the subscription. - name: - type: string - description: The name of the subscription. - _links: - $ref: "#/components/schemas/Links" - Task: - type: object - required: - - progress - - user - - uuid - - name - - title - - description - - created_at - - started_at - - status - - type - - metadata - - labels - - reference_uuid - - _links - properties: - progress: - type: integer - description: The progress of the event, from 0 to 100. - minimum: 0 - maximum: 100 - user: - $ref: "#/components/schemas/UserStub" - uuid: - type: string - format: uuid - description: The UUID of the task. - name: - type: string - description: The machine name of the task. - title: - type: string - description: The title of the task. - description: - type: string - description: The description of the task. - nullable: true - created_at: - type: string - format: date-time - description: The date that this task was created. - started_at: - type: string - format: date-time - description: The date that the task was started. - completed_at: - type: string - format: date-time - description: The date that the task was completed. - status: - type: string - description: The status of the task. - type: - type: string - description: The type of task. - metadata: - type: object - properties: - created: - type: integer - description: When the task was created. - author: - type: object - description: The task author. - properties: - uuid: - type: string - description: The task author UUID. - format: uuid - labels: - type: array - description: Categorization labels associated with the task - items: - type: string - reference_uuid: - type: string - format: uuid - description: The UUID of the parent task. If there is no parent, this will be the task UUID. - _links: - $ref: "#/components/schemas/Links" - Invite: - type: object - required: - - uuid - - email - - created_at - - token - - flags - - author - - _links - description: Details an invite. - properties: - uuid: - type: string - description: The unique identifier of the Invite. - format: uuid - email: - type: string - description: The invitee email address. - format: email - created_at: - type: string - description: The invite creation time. - format: date-time - token: - type: string - description: The invite token. - flags: - $ref: "#/components/schemas/InviteFlags" - author: - $ref: "#/components/schemas/UserStub" - organization: - $ref: "#/components/schemas/OrganizationStub" - team: - $ref: "#/components/schemas/TeamStub" - applications: - type: array - description: List of applications the invite will grant the invitee. - items: - $ref: "#/components/schemas/ApplicationStub" - roles: - type: array - description: List of roles the invite will grant the invitee. - items: - $ref: "#/components/schemas/RoleStub" - _links: - $ref: "#/components/schemas/Links" - InviteFlags: - type: object - description: An array of various flags providing more context for the Invite response object. - properties: - declined: - type: boolean - Permission: - type: object - required: - - name - - label - - description - - group_label - - flags - properties: - name: - type: string - description: The name of the permission. - label: - type: string - description: The human readable label for the permission. - description: - type: string - description: The description of the permission. - nullable: true - group_label: - type: string - description: The human readable label for the group. - flags: - $ref: "#/components/schemas/PermissionFlags" - PermissionFlags: - type: object - description: An array of various flags regarding the status of the permission. - properties: - deprecated: - type: boolean - description: Whether the permission is deprecated or not. - Permissions: - type: object - description: A collection of all permissions that may be granted. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of permissions. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Permission" - PostInvite: - type: object - required: - - email - - roles - properties: - email: - type: string - description: The email address of the user to invite to this team. - format: email - roles: - type: array - description: The role UUIDs to grant to the invitee. - items: - type: string - format: uuid - Role: - type: object - properties: - uuid: - type: string - description: The role unique identifier. - format: uuid - name: - type: string - description: The role name. - description: - type: string - description: A description of the role. - permissions: - type: array - description: A collection of permissions a user with this role is granted. - items: - $ref: "#/components/schemas/Permission" - organization: - $ref: "#/components/schemas/OrganizationStub" - last_edited: - type: object - description: When the role was last edited, and who edited it. - properties: - edited_at: - type: string - format: date-time - description: The date the role was edited. - user: - $ref: "#/components/schemas/UserStub" - flags: - type: object - description: Additional role status information. - properties: - default: - type: boolean - description: True if this is a default role, false if it was user created. - Roles: - type: object - description: Collection of roles. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of roles. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Role" - RoleStub: - type: object - required: - - uuid - - name - properties: - uuid: - type: string - description: The role unique identifier. - format: uuid - name: - type: string - description: The role name. - Team: - type: object - required: - - uuid - - name - - created_at - - updated_at - - organization - - _links - properties: - uuid: - type: string - format: uuid - description: The UUID of the team. - name: - type: string - description: The name of the team. - created_at: - type: string - format: date-time - description: The date the team was created. - updated_at: - type: string - format: date-time - description: The date the team was last updated. - organization: - $ref: "#/components/schemas/OrganizationStub" - _links: - $ref: "#/components/schemas/Links" - TeamInvites: - type: object - description: A collection of invites. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of invites matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Invite" - Teams: - type: object - description: A collection of teams. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of teams matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Team" - TeamApplications: - type: object - description: A collection of applications associated with a team. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of applications. - properties: - items: - type: array - items: - $ref: "#/components/schemas/ApplicationNoEmbedded" - TeamMembers: - type: object - description: A collection of team members. - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of team member profiles. - properties: - items: - type: array - items: - $ref: "#/components/schemas/TeamUserProfile" - TeamStub: - type: object - required: - - uuid - - name - properties: - uuid: - type: string - description: The team unique identifier. - format: uuid - name: - type: string - description: The team name. - TeamUserProfile: - type: object - description: A user profile for a team member. - required: - - uuid - - first_name - - last_name - - mail - - picture_url - - username - - roles - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URI for the user's picture. - username: - type: string - description: The user's internal user name. - roles: - type: array - description: A collection of roles this user has access to on a team. - items: - $ref: "#/components/schemas/RoleStub" - HasPermission: - type: object - description: Determines if a user account has a specific permission. - required: - - access - - _links - properties: - access: - type: boolean - description: Whether or not the user account has the specific permission. - _links: - $ref: "#/components/schemas/Links" - IsAdministrator: - type: object - required: - - admin - - _links - description: Determines if a user account is an administrator. - properties: - admin: - type: boolean - description: Whether or not the user account is an administrator. - _links: - $ref: "#/components/schemas/Links" - IsOwner: - type: object - required: - - owner - - _links - description: Determines if a user account is an owner. - properties: - owner: - type: boolean - description: Whether or not the user account is an owner. - _links: - $ref: "#/components/schemas/Links" - PasswordValidation: - type: object - description: The password validation response. - properties: - valid: - type: boolean - description: Whether or not the password is valid. - SshKey: - type: object - required: - - uuid - - label - - public_key - - fingerprint - - created_at - - _links - description: Details an SSH key. - properties: - uuid: - type: string - description: The unique identifier of the SSH key. - format: uuid - label: - type: string - description: The human-readable key label. - public_key: - type: string - description: The public key. - minLength: 64 - fingerprint: - type: string - description: The public key fingerprint. - created_at: - type: string - format: date-time - description: The key creation date. - _links: - $ref: "#/components/schemas/Links" - SshKeys: - type: object - required: - - total - - _links - - _embedded - description: A collection of SSH keys. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of SSH keys matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/SshKey" - Token: - type: object - required: - - uuid - - active - - label - - revocation - - flags - - created_at - - _links - description: Details a token. - properties: - uuid: - type: string - format: uuid - description: The token UUID. - active: - type: boolean - description: Whether or not this token is active. - label: - type: string - description: The human-readable name for this token. - revocation: - type: string - description: If set, the reason why this token was revoked. - nullable: true - flags: - type: object - description: Flags detailing the token's status. - properties: - active: - type: boolean - description: Whether or not this token is active. - created_at: - type: string - format: date-time - description: The creation date and time. - _links: - $ref: "#/components/schemas/Links" - TokenCreation: - type: object - required: - - api_key - - api_secret - - _links - description: Details about a created user access token. - properties: - api_key: - type: string - description: The API key. - api_secret: - type: string - description: The API key secret. - _links: - $ref: "#/components/schemas/Links" - Tokens: - type: object - required: - - total - - _links - - _embedded - description: A collection of tokens. - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of tokens matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/Token" - User: - type: object - required: - - id - - uuid - - name - - first_name - - last_name - - last_login_at - - created_at - - mail - - phone - - job_title - - job_function - - company - - country - - timezone - - picture_url - - features - - flags - - metadata - - _links - description: The response for a user object. - properties: - id: - type: integer - description: The internal database ID (uid) of the user. - uuid: - type: string - format: uuid - description: The UUID for the user. - name: - type: string - description: The user name. - first_name: - type: string - description: The first name of the user. - last_name: - type: string - description: The last name of the user. - last_login_at: - type: string - format: date-time - description: The date/time of the last login for the user. - nullable: true - created_at: - type: string - format: date-time - description: The date/time when the user was created. - mail: - type: string - format: email - description: The e-mail address of the user. - phone: - type: object - description: The telephone numbers for the user. - properties: - office: - type: string - description: The office telephone number for the user. - nullable: true - tfa: - type: string - description: The tfa backup telephone number for the user. - nullable: true - job_title: - type: string - description: The job title of the user. - job_function: - type: string - description: The job function of the user. - enum: - - -- - - Business Executive - - IT Executive - - IT Architect or IT Operations - - Product or Digital Marketing - - Website Design or Development - company: - type: string - description: The company of the user. - country: - type: string - description: The country of the user. - enum: - - -- - - United States - - Afghanistan - - Albania - - Algeria - - American Samoa - - Andorra - - Angola - - Anguilla - - Antigua and Barbuda - - Argentina - - Armenia - - Ascension Island - - Australia - - Austria - - Azerbaijan - - Bahamas - - Bahrain - - Bangladesh - - Barbados - - Belarus - - Belgium - - Belize - - Benin - - Bermuda - - Bhutan - - Bolivia - - Bosnia and Herzegovina - - Botswana - - Brazil - - British Indian Ocean Territory - - Brunei Darussalam - - Bulgaria - - Burkina Faso - - Burundi - - Cambodia - - Cameroon - - Canada - - Cape Verde - - Cayman Islands - - Central African Republic - - Chad - - Chile - - China - - Colombia - - Comoros - - Congo - - Cook Islands - - Costa Rica - - Cote D Ivoire - - Croatia - - Cuba - - Cyprus - - Czech Republic - - Denmark - - Djibouti - - Dominica - - Dominican Republic - - Ecuador - - Egypt - - El Salvador - - Equatorial Guinea - - Eritrea - - Estonia - - Ethiopia - - Falkland Islands - - Faroe Islands - - Federated States of Micronesia - - Fiji - - Finland - - France - - French Guiana - - French Polynesia - - Gabon - - Georgia - - Germany - - Ghana - - Greece - - Greenland - - Grenada - - Guadeloupe - - Guatemala - - Guam - - Guinea - - Guinea Bissau - - Guyana - - Haiti - - Holy See (Vatican City) - - Honduras - - Hong Kong - - Hungary - - Iceland - - India - - Indonesia - - Iran - - Ireland - - Isle of Man - - Israel - - Italy - - Jamaica - - Japan - - Jordan - - Kazakhstan - - Kenya - - Kiribati - - Korea - - Kuwait - - Kyrgyzstan - - Laos - - Latvia - - Lebanon - - Lesotho - - Liberia - - Libya - - Liechtenstein - - Lithuania - - Luxembourg - - Macau - - Macedonia - - Madagascar - - Malawi - - Malaysia - - Maldives - - Mali - - Malta - - Marshall Islands - - Martinique - - Mauritius - - Mayotte - - Mexico - - Moldova - - Monaco - - Mongolia - - Montenegro - - Montserrat - - Morocco - - Mozambique - - Myanmar - - Namibia - - Nauru - - Nepal - - Netherlands - - Netherlands Antilles - - New Caledonia - - New Zealand - - Nicaragua - - Niger - - Nigeria - - Niue - - Norfolk Island - - Northern Mariana Islands - - Norway - - Oman - - Pakistan - - Palau - - Palestine - - Panama - - Papua New Guinea - - Paraguay - - Peru - - Philippines - - Pitcairn - - Poland - - Portugal - - Puerto Rico - - Qatar - - Reunion - - Romania - - Russian Federation - - Rwanda - - Saint Vincent and the Grenadines - - San Marino - - Sao Tome and Principe - - Saudi Arabia - - Senegal - - Serbia - - Seychelles - - Sierra Leone - - Singapore - - Slovakia - - Slovenia - - Solomon Islands - - Somalia - - South Africa - - South Georgia - - Spain - - Sri Lanka - - St. Kitts and Nevis - - St. Lucia - - St. Pierre and Miquelon - - Sudan - - Suriname - - Swaziland - - Sweden - - Switzerland - - Syrian Arab Republic - - Taiwan - - Tajikistan - - Tanzania - - Thailand - - The Gambia - - Togo - - Tokelau - - Tonga - - Trinidad and Tobago - - Tunisia - - Turkey - - Turkmenistan - - Turks and Caicos Islands - - Tuvalu - - Uganda - - Ukraine - - United Arab Emirates - - United Kingdom - - Uruguay - - Uzbekistan - - Vanuatu - - Venezuela - - Viet Nam - - Virgin Islands - - Western Samoa - - Yemen - - Yugoslavia - - Zaire - - Zambia - - Zimbabwe - state: - type: string - description: The state of the user, if in the United States. - enum: - - Alabama - - Alaska - - American Samoa - - Arizona - - Arkansas - - California - - Colorado - - Connecticut - - Delaware - - District of Columbia - - Florida - - Georgia - - Hawaii - - Idaho - - Illinois - - Indiana - - Iowa - - Kansas - - Kentucky - - Louisiana - - Maine - - Maryland - - Massachusetts - - Michigan - - Minnesota - - Mississippi - - Missouri - - Montana - - Nebraska - - Nevada - - New Hampshire - - New Jersey - - New Mexico - - New York - - North Carolina - - North Dakota - - Northern Mariana Islands - - Ohio - - Oklahoma - - Oregon - - Pennsylvania - - Rhode Island - - South Carolina - - South Dakota - - Tennessee - - Texas - - U.S. Virgin Islands - - Utah - - Vermont - - Virginia - - Washington - - West Virginia - - Wisconsin - - Wyoming - timezone: - type: string - description: The timezone of the user. - picture_url: - type: string - format: uri - description: The user's picture url. - features: - type: array - description: The various feature flags for the user. - items: - type: string - enum: - - ci-pipelines - - n3-disabled - - n3-hybrid-mode - - on-demand-environments - - php7 - - php71 - - platform - flags: - $ref: "#/components/schemas/UserFlags" - metadata: - type: object - description: Metadata related to the user. - properties: - applications: - type: object - description: An array of application metadata for the user. - properties: - recent: - type: array - description: An array containing recent visited application information. - items: - type: object - properties: - uuid: - type: string - format: uuid - description: The application UUID. - recent_at: - type: string - format: date-time - description: The date-time when the application was accessed. - starred: - type: array - description: An array containing starred application UUIDs. - items: - type: string - format: uuid - _links: - $ref: "#/components/schemas/Links" - UserFlags: - type: object - description: The various flags for the user. - properties: - active: - type: boolean - description: Whether or not this user is active. - tfa: - type: boolean - description: Whether or not this user has TFA enabled. - support: - type: boolean - description: Whether or not this user is a member of Acquia support. - UserProfile: - type: object - description: A user profile. - required: - - uuid - - first_name - - last_name - - last_login_at - - created_at - - email - - picture_url - - username - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - last_login_at: - type: string - format: date-time - description: The date/time of the last login for the user. - nullable: true - created_at: - type: string - format: date-time - description: The date the user was created. - email: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URL for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - UserStub: - type: object - required: - - uuid - - first_name - - last_name - - mail - - picture_url - - username - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URI for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - UserStubEmbedded: - type: object - description: A related user. - required: - - uuid - - first_name - - last_name - - mail - - picture_url - - username - - _links - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URI for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - _links: - $ref: "#/components/schemas/Links" - UserStubNullable: - type: object - nullable: true - required: - - uuid - - first_name - - last_name - - mail - - picture_url - - username - properties: - uuid: - type: string - format: uuid - description: The user's UUID. - first_name: - type: string - description: The user's first name. - last_name: - type: string - description: The user's last name. - mail: - type: string - format: email - description: The user's email address. - picture_url: - type: string - format: uri - description: The URI for the user's picture. - nullable: true - username: - type: string - description: The user's internal user name. - PasswordRequest: - type: object - required: - - password - description: Describes the request body for a password. - properties: - password: - type: string - description: The password to verify. - SshKeyRequest: - type: object - required: - - label - - public_key - description: Describes the request body for an SSH key. - properties: - label: - type: string - description: The SSH key label. - public_key: - type: string - description: The public key. - TokenRequest: - type: object - required: - - label - description: Describes the request body for a token. - properties: - label: - type: string - description: The label to give to the token for future reference. - minLength: 1 - UxMessages: - type: object - required: - - total - - _links - - _embedded - properties: - total: - type: integer - description: The number of items returned in the collection. - _links: - $ref: "#/components/schemas/Links" - _embedded: - type: object - description: A collection of application messages matching the request parameters. - properties: - items: - type: array - items: - $ref: "#/components/schemas/UxMessage" - UxMessage: - type: object - required: - - id - - uuid - - title - - body - - url - - filters - - flags - - weight - - start_at - - expire_at - - _links - properties: - id: - type: integer - description: The message identifier. - uuid: - type: string - description: The message unique identifier. - format: uuid - title: - type: string - description: The message title. - body: - type: string - description: The message body. - nullable: true - url: - type: string - format: uri - description: The message url. - nullable: true - filters: - $ref: "#/components/schemas/UxMessageFilters" - flags: - $ref: "#/components/schemas/UxMessageFlags" - weight: - type: integer - description: The message priority weight. - start_at: - type: string - format: date-time - description: The UTC timestamp of when the message started. - expire_at: - type: string - format: date-time - description: The UTC timestamp of when the message expires. - _links: - $ref: "#/components/schemas/Links" - UxMessageFilters: - type: object - description: Defines where a message should appear. - properties: - paths: - type: array - description: Collection of paths. - items: - type: string - description: Paths where a message should appear. - display_mode: - type: string - description: How the message should be displayed. - enum: - - bar - - list - type: - type: string - description: The message type. - enum: - - alert - - general - - new - - warning - UxMessageFlags: - type: object - description: An array of various flags associated with a message. - properties: - dismissed: - type: boolean - dismissible: - type: boolean - active: - type: boolean - securitySchemes: - OAuth2: - type: oauth2 - description: | - All Cloud API calls need to be authenticated in order to work. You authenticate using a token that you can generate on your Acquia Profile page. - - ### To generate a token: - - 1. Sign in to the [Acquia Cloud](https://cloud.acquia.com/) interface using your email address and Acquia password. - 2. Click your user avatar in the upper right corner, and then click **Account Settings**. - 3. On the Profile page, click **API Tokens**. - 4. Click **Create Token**. - 5. In the pop-up that appears, give your token a label so that you can easily find it later. Then click **Create Token**. - 6. Copy your API key and API secret. Click **OK**. - flows: - clientCredentials: - tokenUrl: https://accounts.acquia.com/api/token - scopes: {} -paths: - /: - get: - tags: - - Current system health - summary: Return the current system health status. - description: Returns status checks for system database, configuration and registry. - operationId: getSystemHealthStatus - x-cli-name: system-health-status - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Root" - example: - status: - configuration: true - registry: true - acp_provisioning_enabled: true - acf_provisioning_enabled: true - _links: - self: - href: https://cloud.acquia.com/api/ - account: - href: https://cloud.acquia.com/api/account - applications: - href: https://cloud.acquia.com/api/applications - distributions: - href: https://cloud.acquia.com/api/distributions - identity-providers: - href: https://cloud.acquia.com/api/identity-providers - organizations: - href: https://cloud.acquia.com/api/organizations - subscriptions: - href: https://cloud.acquia.com/api/subscriptions - teams: - href: https://cloud.acquia.com/api/teams - /account: - get: - tags: - - Account - summary: Returns details about your account. - description: Returns details about your account. - operationId: getAccount - x-cli-name: accounts:find - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/User" - example: - id: 1234567 - uuid: 82cff7ec-2f09-11e9-b210-d663bd873d93 - name: jane.doe - first_name: Jane - last_name: Doe - last_login_at: '2017-03-28T13:07:54-0500' - created_at: '2016-07-17T20:35:25+00:00' - mail: jane.doe@example.com - phone: - office: null - mobile: "5555555555" - tfa: "5555555555" - job_title: "" - job_function: IT Executive - company: Acquia, Inc. - country: United States - state: Massachusetts - timezone: America/New_York - picture_url: https://accounts.acquia.com/images/users/82cff7ec-2f09-11e9-b210-d663bd873d93/style/avatar - features: - - ci-pipelines - - on-demand-environments - metadata: - applications: - recent: - - uuid: 8b83a104-2f09-11e9-b210-d663bd873d93 - recent_at: 2016-03-04T13:07:54-0500 - - uuid: 8b83a104-2f09-11e9-b210-d663bd873d93 - recent_at: 2016-03-04T12:01:07-0500 - - uuid: 8b83a104-2f09-11e9-b210-d663bd873d93 - recent_at: 2016-03-04T12:01:05-0500 - starred: - - 987c5c48-2f09-11e9-b210-d663bd873d93 - - 9b684e30-2f09-11e9-b210-d663bd873d93 - flags: - active: true - tfa: true - support: false - _links: - self: - href: https://cloud.acquia.com/api/account - invites: - href: https://cloud.acquia.com/api/account/invites - messages: - href: https://cloud.acquia.com/api/account/messages - tokens: - href: https://cloud.acquia.com/api/account/tokens - parent: - href: https://cloud.acquia.com/api/ - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Does not exist: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - "/account/applications/{applicationUuid}/has-permission": - get: - tags: - - Account - summary: Returns whether your account has access to a specific application permission. - description: Returns whether your account has access to a specific application permission. - operationId: getAccountApplicationHasPermission - x-cli-name: accounts:application-has-permission - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Permission" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/HasPermission" - example: - access: true - _links: - self: - href: https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/has-permission?permission=deploy%20to%20prod - application: - href: https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have the 'example permission' permission for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Permission not found: - value: - error: not_found - message: The permission you are trying to look up does not exist. - "/account/applications/{applicationUuid}/is-admin": - get: - tags: - - Account - summary: Returns whether your account is an administrator for an application. - description: Returns whether your account is an administrator for an application. - operationId: getAccountApplicationIsAdministrator - x-cli-name: accounts:is-application-admin - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsAdministrator" - example: - admin: true - _links: - self: - href: https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/is-admin - application: - href: https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have permission to administer this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/account/applications/{applicationUuid}/is-owner": - get: - tags: - - Account - summary: Returns whether your account is the owner for an application. - description: Returns whether your account is the owner for an application. - operationId: getAccountApplicationIsOwner - x-cli-name: accounts:is-application-owner - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsOwner" - example: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/account/applications/27a861f0-2fdc-11e9-b210-d663bd873d93/is-owner - application: - href: https://cloud.acquia.com/api/applications/27a861f0-2fdc-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/account/applications/{applicationUuid}/actions/mark-recent": - post: - tags: - - Account - summary: Marks an application as recently viewed. - description: Marks an application as recently viewed. UUIDs and timestamps of recent applications are present in the "account" endpoint. - operationId: postAccountApplicationMarkRecent - x-cli-name: accounts:application-mark-recent - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Marked as recently viewed: - value: - message: The application has been marked as recently viewed. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Does not exist: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already on the recently viewed list: - value: - error: conflict - message: Unable to add an application to the recently viewed list. - "/account/applications/{applicationUuid}/actions/star": - post: - tags: - - Account - summary: Stars an application. - description: Stars an application. UUIDs of starred applications are present in the "account" endpoint. - operationId: postAccountApplicationStar - x-cli-name: accounts:application-star - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Starred: - value: - message: The application has been starred. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Does not exist: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - User does not have access: - value: - error: not_found - message: The user does not have access to this application. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Unable to add: - value: - error: conflict - message: The application has already been starred by this user. - "/account/applications/{applicationUuid}/actions/unstar": - post: - tags: - - Account - summary: Removes an application from the user's starred list. - description: Removes an application from the user's starred list. UUIDs of starred applications are present in the "account" endpoint. - operationId: postAccountApplicationUnstar - x-cli-name: accounts:application-unstar - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Starred: - value: - message: The application has been unstarred. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Does not exist: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - User does not have access: - value: - error: not_found - message: The user does not have access to this application. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Unable to add: - value: - error: conflict - message: The application is not currently starred by this user. - /account/drush-aliases/download: - get: - tags: - - Account - summary: Returns the drush aliases as a compressed archive download. - description: Returns the drush aliases as a compressed archive download. - operationId: getAccountDrushAliasesDownload - x-cli-name: accounts:drush-aliases - parameters: - - $ref: "#/components/parameters/DrushVersion" - responses: - "200": - description: OK - content: - application/gzip: - schema: - $ref: "#/components/schemas/File" - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Version not supported: - value: - error: forbidden - message: Only Drush 8 and 9 are supported. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No Cloud API key found: - value: - error: not_found - message: No Cloud API key found for user with email address test@example.com. - No applications found: - value: - error: not_found - message: No hosted applications found for user with email address test@example.com. - No aliases found: - value: - error: not_found - message: No Drush aliases found for user with email address test@example.com. - User not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - /account/ides: - get: - tags: - - Account - summary: Returns a list of Cloud IDEs associated with the current user. - description: Returns a list of Cloud IDEs associated with the current user. - operationId: getAccountIdes - x-cli-name: accounts:ide-list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Ides" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/account/ides - parent: - href: https://cloud.acquia.com/api/account - _embedded: - items: - - uuid: 9a83c081-ef78-4dbd-8852-11cc3eb248f7 - label: IDE Label 1 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7 - web: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud - ide: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ide.ahdev.cloud - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - - uuid: feea197a-9503-4441-9f49-b4d420b0ecf8 - label: IDE Label 2 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8 - web: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud - ide: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.ide.ahdev.cloud - application: - href: https://cloud.acquia.com/api/applications/cc26f963-6e9e-49df-a159-230f75e455aa - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - User not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - /account/invites: - get: - tags: - - Account - summary: Gets a list of all organization admin and team invites that are pending for the current user. - description: | - Gets a list of all organization admin and team invites that are pending for the current user. - - Filterable fields: - * `mail` - * `token` - * `author` - - Sortable fields: - * `mail` - * `token` - * `author` - operationId: getAccountInvites - x-cli-name: accounts:invites-list - parameters: - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/AccountInvites" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/account/invites - parent: - href: https://cloud.acquia.com/api/account - _embedded: - items: - - applications: - - uuid: a6a494aa-1316-4867-b681-95e3d77a6b34 - name: Example application - author: - uuid: 0f1915e8-cd84-4386-94b8-21926fc376f5 - username: jane.doe - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - organization: - name: Organization Name - uuid: e83c3532-2fe0-11e9-b210-d663bd873d93 - roles: - - uuid: fe79cb7a-2fe0-11e9-b210-d663bd873d93 - name: Senior Developer - team: - uuid: 01d73cf8-2fe1-11e9-b210-d663bd873d93 - name: Team Name - uuid: eb947b2c-2fe0-11e9-b210-d663bd873d93 - email: invitee@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ec - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/eb947b2c-2fe0-11e9-b210-d663bd873d93 - organization: - href: https://cloud.acquia.com/api/organizations/e83c3532-2fe0-11e9-b210-d663bd873d93 - - organization: - name: Organization Name - uuid: e83c3532-2fe0-11e9-b210-d663bd873d93 - author: - uuid: 0f1915e8-cd84-4386-94b8-21926fc376f5 - username: jane.doe - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - uuid: 0540f4ba-2fe1-11e9-b210-d663bd873d93 - email: invitee@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ec - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/0540f4ba-2fe1-11e9-b210-d663bd873d93 - organization: - href: https://cloud.acquia.com/api/organizations/e83c3532-2fe0-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - User not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - /account/messages: - get: - tags: - - Account - summary: Returns a list of messages associated with the current user. - description: | - Returns a list of messages associated with the current user. - - Filterable fields: - * `title` - * `message_type` - * `display_mode` - - Sortable fields: - * `title` - * `message_type` - * `display_mode` - operationId: getAccountMessages - x-cli-name: accounts:messages-list - parameters: - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/UxMessages" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/messages - parent: - href: https://cloud.acquia.com/api/ - filter: - href: https://cloud.acquia.com/api/messages{?filter} - templated: true - sort: - href: https://cloud.acquia.com/api/messages{?sort} - templated: true - limit: - href: https://cloud.acquia.com/api/messages{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/messages{?offset} - templated: true - _embedded: - items: - - id: 883581 - uuid: 17ff551f-a037-4c0a-a0cb-ad6616ab3aa3 - title: Example title - body: null - url: null - filters: - type: alert - display_mode: bar - paths: [] - flags: - dismissed: false - dismissible: true - active: true - weight: -1 - start_at: 2019-07-07T09:45:00-04:00 - expire_at: 2019-07-15T09:45:00-04:00 - _links: - self: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2 - dismiss: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/dismiss - follow: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/follow - - id: 883581 - uuid: 17ff551f-a037-4c0a-a0cb-ad6616ab3aa3 - title: Another example title - body: null - url: null - filters: - type: alert - display_mode: bar - paths: [] - flags: - dismissed: false - dismissible: true - active: true - weight: -1 - start_at: 2019-07-07T09:45:00-04:00 - expire_at: 2019-07-15T09:45:00-04:00 - _links: - self: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2 - dismiss: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/dismiss - follow: - href: https://cloud.acquia.com/api/messages/17ff551f-a037-4c0a-a0cb-ad6616ab3aa2/actions/follow - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Messages not found: - value: - error: not_found - message: The messages you are trying to view do not exist, or you do not have permission to access them. - "/account/organizations/{organizationUuid}/is-admin": - get: - tags: - - Account - summary: Returns whether your account is an administrator for an organization. - description: Returns whether your account is an administrator for an organization. - operationId: getAccountOrganizationIsAdministrator - x-cli-name: accounts:is-organization-admin - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsAdministrator" - example: - admin: true - _links: - self: - href: https://cloud.acquia.com/api/account/organizations/2026962e-2fe4-11e9-b210-d663bd873d93/is-admin - organization: - href: https://cloud.acquia.com/api/organizations/2026962e-2fe4-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have permission to administer this organization. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/account/organizations/{organizationUuid}/is-owner": - get: - tags: - - Account - summary: Returns whether your account is the owner for an organization. - description: Returns whether your account is the owner for an organization. - operationId: getAccountOrganizationIsOwner - x-cli-name: accounts:is-organization-owner - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsOwner" - example: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/account/organizations/2026962e-2fe4-11e9-b210-d663bd873d93/is-owner - organization: - href: https://cloud.acquia.com/api/organizations/2026962e-2fe4-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - /account/password: - post: - tags: - - Account - summary: Verifies that the supplied password matches the current user's password. - description: Verifies that the supplied password matches the current user's password. - operationId: postAccountPassword - x-cli-name: accounts:password-check - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PasswordRequest" - example: - password: mysupersecretpassword - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PasswordRequest" - example: - password: mysupersecretpassword - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PasswordValidation" - example: - valid: true - /account/ssh-keys: - get: - tags: - - Account - summary: Gets a list of SSH keys associated with the current user. - description: | - Gets a list of SSH keys associated with the current user. - - Filterable fields: - * `label` - - Sortable fields: - * `label` - operationId: getAccountSshKeys - x-cli-name: accounts:ssh-keys-list - parameters: - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SshKeys" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys - sort: - href: https://cloud.acquia.com/api/account/ssh-keys{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/account/ssh-keys{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/account/ssh-keys{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/account - _embedded: - items: - - uuid: 02905393-65d7-4bef-873b-24593f73d273 - label: PC Home - fingerprint: 5d:23:fb:45:70:df:ef:ad:ca:bf:81:93:cd:50:26:28 - created_at: '2017-05-09T20:30:35+00:00' - public_key: ssh-rsa AAAAB3NzaC1yc2EADHrfHY17SbrmAAABIwAAAQEAklOUpkTIpNLTGK9Tjom/BWDSUGPl+nafzlZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5HDTYW7hdI4yQVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys/02905393-65d7-4bef-873b-24593f73d273 - - uuid: d40833b3-6ea4-4339-9e2c-4b78e700258b - label: Laptop Work - fingerprint: 5b:18:fb:50:55:df:cf:d5:bf:ea:81:23:ef:55:22:29 - created_at: '2017-05-09T20:30:35+00:00' - public_key: ssh-rsa 1yc2EAAAABIwbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDAAAQEAklOUpkDHrfHY17STYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4pSwg0cda3PbAAAAB3NzaCv7kOdJ/MTyBlWXFCRh9lFX5QVkbPp+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys/d40833b3-6ea4-4339-9e2c-4b78e700258b - - uuid: c40ee264-0023-4f60-815b-d20b44740746 - label: PC Work - fingerprint: 7c:s3:ab:30:40:da:cf:c5:bf:ca:31:33:ed:58:23:21 - created_at: '2017-05-09T20:30:35+00:00' - public_key: ssh-rsa A1yc2EAAAlOUpkDHrfHY17SbrmTIAAAB3NzaCom/BWDSUGPl+nafzlHDTYW7hdI4yQVkbPppSwg0cda3ABIwAAAQEAkPZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5bv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== example@example.com - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys/c40ee264-0023-4f60-815b-d20b44740746 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - User not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - post: - tags: - - Account - summary: Installs a new SSH key for the current user. - description: Installs a new SSH key for the current user. - operationId: postAccountSshKeys - x-cli-name: accounts:ssh-key-create - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SshKeyRequest" - example: - label: mykey - public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/SshKeyRequest" - example: - label: mykey - public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Adding SSH key. - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys - parent: - href: https://cloud.acquia.com/api/account - notification: - href: https://cloud.acquia.com/api/notifications/5fef247f-3c99-42a2-bb3c-69b32a06e7e9 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Label is invalid: - value: - error: validation_failed - message: - public_key: "The supplied label is invalid: it may only contain letters, numbers and underscores." - Public key must be RSA: - value: - error: validation_failed - message: - public_key: "The supplied public key type is unsupported: it must be RSA (ssh-rsa)." - Public key is invalid: - value: - error: validation_failed - message: - public_key: The supplied public key is invalid. - Public key too short: - value: - error: validation_failed - message: - public_key: "The supplied public key type is too short: it must be at least 4096 bits long." - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Key with label already exists: - value: - error: conflict - message: An SSH key with this label already exists for this user. - Key with public key already exists: - value: - error: conflict - message: An SSH key with this public key already exists for this user. - "/account/ssh-keys/{sshKeyUuid}": - get: - tags: - - Account - summary: Get an SSH key associated with the currently-logged in user. - description: Get an SSH key associated with the currently-logged in user. - operationId: getAccountSshKey - x-cli-name: accounts:ssh-key-find - parameters: - - $ref: "#/components/parameters/SshKeyUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SshKey" - example: - uuid: b2a53dfb-f4e2-4543-814d-7a9aa3793746 - label: PC Home - fingerprint: 8d:13:fb:50:50:da:cf:c5:bf:ca:31:33:ed:51:27:24 - created_at: '2017-05-09T20:30:35+00:00' - public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChwPHzTTDKDpSbpa2+d22LcbQmsw92eLsUK3Fmei1fiGDkd34NsYCN8m7lsi3NbvdMS83CtPQPWiCveYPzFs1/hHc4PYj8opD2CNnr5iWVVbyaulCYHCgVv4aB/ojcexg8q483A4xJeF15TiCr/gu34rK6ucTvC/tn/rCwJBudczvEwt0klqYwv8Cl/ytaQboSuem5KgSjO3lMrb6CWtfSNhE43ZOw+UBFBqxIninN868vGMkIv9VY34Pwj54rPn/ItQd6Ef4B0KHHaGmzK0vfP+AK7FxNMoHnj3iYT33KZNqtDozdn5tYyH/bThPebEtgqUn+/w5l6wZIC/8zzvls/127ngHk+jNa0PlNyS2TxhPUK4NaPHIEnnrlp07JEYC4ImcBjaYCWAdcTcUkcJjwZQkN4bGmyO9cjICH98SdLD/HxqzTHeaYDbAX/Hu9HfaBb5dXLWsjw3Xc6hoVnUUZbMQyfgb0KgxDLh92eNGxJkpZiL0VDNOWCxDWsNpzwhLNkLqCvI6lyxiLaUzvJAk6dPaRhExmCbU1lDO2eR0FdSwC1TEhJOT9eDIK1r2hztZKs2oa5FNFfB/IFHVWasVFC9N2h/r/egB5zsRxC9MqBLRBq95NBxaRSFng6ML5WZSw41Qi4C/JWVm89rdj2WqScDHYyAdwyyppWU4T5c9Fmw== example@example.com - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys/b2a53dfb-f4e2-4543-814d-7a9aa3793746 - parent: - href: https://cloud.acquia.com/api/account/ssh-keys - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - SSH key missing: - value: - error: not_found - message: The SSH key does not exist, or you do not have permission to access it. - SSH key not found: - value: - error: not_found - message: The SSH key you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Account - summary: Deletes an SSH key. - description: Deletes an SSH key. - operationId: deleteAccountSshKey - x-cli-name: accounts:ssh-key-delete - parameters: - - $ref: "#/components/parameters/SshKeyUuid" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Removed key: - value: - message: Removed SSH key. - _links: - self: - href: https://cloud.acquia.com/api/account/ssh-keys/1acbb1a5-e864-4b8e-a3f9-b1ed462afd25 - parent: - href: https://cloud.acquia.com/api/account/ssh-keys - notification: - href: https://cloud.acquia.com/api/notifications/519caf5f-007a-4562-a726-37624cff7fd8 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - SSH key missing: - value: - error: not_found - message: The SSH key does not exist, or you do not have permission to access it. - SSH key does not exist: - value: - error: not_found - message: An SSH key with UUID 1df4cb00-2fe9-11e9-b210-d663bd873d93 does not exist. - "/account/subscriptions/{subscriptionUuid}/is-admin": - get: - tags: - - Account - summary: Returns whether your account is an administrator for a subscription. - description: Returns whether your account is an administrator for a subscription. - operationId: getAccountSubscriptionIsAdministrator - x-cli-name: accounts:is-subscription-admin - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsAdministrator" - example: - admin: true - _links: - self: - href: https://cloud.acquia.com/api/account/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93/is-admin - subscription: - href: https://cloud.acquia.com/api/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have permission to administer this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/account/subscriptions/{subscriptionUuid}/is-owner": - get: - tags: - - Account - summary: Returns whether your account is the owner for a subscription. - description: Returns whether your account is the owner for a subscription. - operationId: getAccountSubscriptionIsOwner - x-cli-name: accounts:is-subscription-owner - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsOwner" - example: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/account/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93/is-owner - subscription: - href: https://cloud.acquia.com/api/subscriptions/b7ff7510-2fe4-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/account/teams/{teamUuid}/has-permission": - get: - tags: - - Account - summary: Returns whether your account has access to a specific team permission. - description: Returns whether your account has access to a specific team permission. - operationId: getAccountTeamHasPermission - x-cli-name: accounts:has-team-permission - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/Permission" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/HasPermission" - example: - access: true - _links: - self: - href: https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/has-permission?permission=deploy%20to%20prod - team: - href: https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have the 'example permission' permission for this team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Team not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - Permission not found: - value: - error: not_found - message: The permission you are trying to look up does not exist. - "/account/teams/{teamUuid}/is-admin": - get: - tags: - - Account - summary: Returns whether your account is an administrator for a team. - description: Returns whether your account is an administrator for a team. - operationId: getAccountTeamIsAdministrator - x-cli-name: accounts:is-team-admin - parameters: - - $ref: "#/components/parameters/TeamUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsAdministrator" - example: - admin: true - _links: - self: - href: https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/is-admin - team: - href: https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Do not have permission: - value: - error: forbidden - message: You do not have permission to administer this team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - "/account/teams/{teamUuid}/is-owner": - get: - tags: - - Account - summary: Returns whether your account is the owner for a team. - description: Returns whether your account is the owner for a team. - operationId: getAccountTeamIsOwner - x-cli-name: accounts:is-team-owner - parameters: - - $ref: "#/components/parameters/TeamUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IsOwner" - example: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/account/teams/e5b32204-2fe4-11e9-b210-d663bd873d93/is-owner - team: - href: https://cloud.acquia.com/api/teams/e5b32204-2fe4-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - /account/tokens: - get: - tags: - - Account - summary: Returns a list of metadata for API access tokens tied to your account. - description: Returns a list of metadata for API access tokens tied to your account. - operationId: getAccountTokens - x-cli-name: accounts:tokens-list - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Tokens" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/account/tokens - parent: - href: https://cloud.acquia.com/api/account - _embedded: - items: - - uuid: 17feaf34-5d04-402b-9a67-15d5161d24e1 - active: true - label: My First App - created_at: '2016-01-22T17:41:57-0500' - flags: - active: true - revocation: null - _links: - self: - href: https://cloud.acquia.com/api/account/tokens/17feaf34-5d04-402b-9a67-15d5161d24e1 - - uuid: 81e8965d-0af0-460d-9e46-977dfcc38c29 - active: true - label: My Second App - created_at: '2016-01-22T17:55:15-0500' - flags: - active: true - revocation: null - _links: - self: - href: https://cloud.acquia.com/api/account/tokens/81e8965d-0af0-460d-9e46-977dfcc38c29 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - User not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - post: - tags: - - Account - summary: Creates an API access token tied to your account. - description: Creates an API access token tied to your account. - operationId: postAccountTokens - x-cli-name: accounts:token-create - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/TokenRequest" - example: - label: API token for My App - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/TokenRequest" - example: - label: API token for My App - security: - - OAuth2: [] - responses: - "201": - description: Created - content: - application/hal+json: - schema: - $ref: "#/components/schemas/TokenCreation" - example: - api_key: 137bd484-dcc8-4950-a784-1f01de7f6378 - api_secret: 4DmbUmGiUkafdjcZk2yV6u17jPmmunwt8/47mKdAQIc= - _links: - self: - href: https://cloud.acquia.com/api/account/tokens - parent: - href: https://cloud.acquia.com/api/account - notification: - href: https://cloud.acquia.com/api/notifications/ab142771-826e-42b0-a53c-e112b70448d2 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The user does not exist, or you do not have access to it. - "/account/tokens/{tokenUuid}": - get: - tags: - - Account - summary: Return details about a specific token. - description: Return details about a specific token. - operationId: getAccountToken - x-cli-name: accounts:token-list - parameters: - - $ref: "#/components/parameters/TokenUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Token" - example: - uuid: 17feaf34-5d04-402b-9a67-15d5161d24e1 - active: true - label: My App v1.0 - created_at: '2016-01-22T17:41:57-0500' - revocation: null - flags: - active: true - _links: - self: - href: https://cloud.acquia.com/api/account/tokens/17feaf34-5d04-402b-9a67-15d5161d24e1 - parent: - href: https://cloud.acquia.com/api/account/tokens - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Token not found: - value: - error: not_found - message: The access token does not exist, or you do not have permission to access it. - delete: - tags: - - Account - summary: Revokes an access token. - description: Revokes an access token. This action will prevent the access token from being able to authorize access to the API in the future. - operationId: deleteAccountToken - x-cli-name: accounts:token-delete - parameters: - - $ref: "#/components/parameters/TokenUuid" - - $ref: "#/components/parameters/TokenDeleteReason" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The access token has been revoked. - _links: - self: - href: https://cloud.acquia.com/api/account/tokens/03c86402-5e3b-4212-b6fd-009d271da1d0 - parent: - href: https://cloud.acquia.com/api/account/tokens - notification: - href: https://cloud.acquia.com/api/notifications/7815f68b-fc52-4dc8-bdde-04d0960943e9 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The access token does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already revoked: - value: - error: conflict - message: The access token has already been revoked. - /agreements: - get: - tags: - - Agreements - summary: Return a list of agreements. - description: Returns a list of agreements you have been invited to accept or decline. - operationId: getAgreements - x-cli-name: agreements:list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Agreements" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/agreements - parent: - href: https://cloud.acquia.com/api/ - _embedded: - items: - - uuid: efc62c93-8203-4e8b-a8ff-4d18b780d4ab - document_uuid: f25d0284-f25f-4e59-9c48-7c39ae57b400 - title: Agreement Title - body:

Agreement body and text.

- status: accepted - created_at: 2017-01-23T12:00:00Z - updated_at: 2017-01-27T12:00:00Z - actioned_by: - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/sites/default/avatars/456def?mail=james.kirk@example.com - username: james.kirk - reference: - uuid: 9ab09eba-290d-4ed9-be4d-fa194ab92f39 - name: Acquia Subscription - type: subscription - _links: - self: - href: https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab - - uuid: b63fff64-6c18-4899-acba-00ec6c8930e9 - document_uuid: 20370a6e-9b82-4580-8769-886f5f6c8693 - title: Another Agreement - body:

This is the body and text of another agreement.

- status: declined - created_at: 2017-02-23T12:00:00Z - updated_at: 2017-02-27T12:00:00Z - actioned_by: - uuid: 550e8400-e29b-41d4-a716-446655440000 - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/avatars/123abc?mail=jane.doe@example.com - username: jane.doe - reference: - uuid: 9ab09eba-290d-4ed9-be4d-fa194ab92f39 - name: Acquia Subscription - type: subscription - _links: - self: - href: https://cloud.acquia.com/api/agreements/b63fff64-6c18-4899-acba-00ec6c8930e9 - - uuid: a8777880-8924-494a-abe2-62cc092df269 - document_uuid: 466c62ef-5ced-400d-b328-d47e745b50a8 - title: A Third Agreement - body:

This is the body and text of one more agreement.

- status: pending - created_at: 2017-02-23T12:00:00Z - updated_at: null - actioned_by: null - reference: - uuid: 9ab09eba-290d-4ed9-be4d-fa194ab92f39 - name: Acquia Subscription - type: subscription - _links: - self: - href: https://cloud.acquia.com/api/agreements/a8777880-8924-494a-abe2-62cc092df269 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The agreement you are trying to access does not exist, or you do not have permission to access it. - "/agreements/{agreementUuid}": - get: - tags: - - Agreements - summary: Return a specific agreement by a provided UUID. - description: Return a specific agreement. - operationId: getAgreement - x-cli-name: agreements:find - parameters: - - $ref: "#/components/parameters/AgreementUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Agreement" - example: - uuid: efc62c93-8203-4e8b-a8ff-4d18b780d4ab - document_uuid: f25d0284-f25f-4e59-9c48-7c39ae57b400 - title: Agreement Title - body:

Agreement body and text.

- status: accepted - created_at: 2017-01-23T12:00:00Z - updated_at: 2017-01-27T12:00:00Z - actioned_by: - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/sites/default/avatars/456def?mail=james.kirk@example.com - username: james.kirk - reference: - uuid: 9ab09eba-290d-4ed9-be4d-fa194ab92f39 - name: Acquia Subscription - type: subscription - _links: - self: - href: https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab - invitees: - href: https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab/invitees - subscription: - href: https://cloud.acquia.com/api/subscriptions/9ab09eba-290d-4ed9-be4d-fa194ab92f39 - actioned_by: - href: https://cloud.acquia.com/api/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - parent: - href: https://cloud.acquia.com/api/agreements - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The agreement you are trying to access does not exist, or you do not have permission to access it. - "/agreements/{agreementUuid}/actions/accept": - post: - tags: - - Agreements - summary: Accepts a legal agreement by UUID. - description: Accepts a legal agreement. - operationId: postAcceptAgreement - x-cli-name: agreements:accept - parameters: - - $ref: "#/components/parameters/AgreementUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: The agreement has been accepted. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The agreement you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already acted upon: - value: - error: conflict - message: This agreement has already been acted upon. - "/agreements/{agreementUuid}/actions/decline": - post: - tags: - - Agreements - summary: Declines a legal agreement by UUID. - description: Declines a legal agreement. - operationId: postDeclineAgreement - x-cli-name: agreements:decline - parameters: - - $ref: "#/components/parameters/AgreementUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: The agreement has been declined. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The agreement you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already acted upon: - value: - error: conflict - message: This agreement has already been acted upon. - "/agreements/{agreementUuid}/invitees": - get: - tags: - - Agreements - summary: Returns a list of users invited to action this agreement. - description: Returns a list of users invited to action this agreement by UUID. - operationId: getInvitees - x-cli-name: agreements:invitees-list - parameters: - - $ref: "#/components/parameters/AgreementUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Invitees" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab/invitees - parent: - href: https://cloud.acquia.com/api/agreements/efc62c93-8203-4e8b-a8ff-4d18b780d4ab - _embedded: - items: - - uuid: 6188cbcf-b176-4554-b17e-fbd8119ef46d - first_name: User - last_name: One - mail: user1@example.com - username: user.one - picture_url: https://accounts.acquia.com/path/to/image.png - - uuid: 099a8a59-88d6-48c2-a121-ef29431f4aba - first_name: User - last_name: Two - mail: user2@example.com - username: user.two - picture_url: https://accounts.acquia.com/path/to/image.png - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The agreement you are trying to access does not exist, or you do not have permission to access it.a - /applications: - get: - tags: - - Applications - summary: Return a list of applications the current user has access to. - operationId: getApplications - x-cli-name: applications:list - security: - - OAuth2: [] - description: | - Applications contains the code, files, and databases required to run sites. You have access to an application if you are a member of a team that has access to an application, or if you are an administrator or owner of the organization that the application belongs to. A subscription may contain one or more applications. - - Filterable fields: - * `label` - * `name` (Deprecated) - * `organization_name` - * `hosting` (Deprecated) Use URL encoded colon (%3A) to separate realm and sitegroup, e.g. network%3An3 instead of network:n3 - - Sortable fields: - * `label` - * `name` (Deprecated) - * `organization_name` - parameters: - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Applications" - example: - total: 2 - pagination: - total: 2 - limit: 10 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications?limit=10 - sort: - href: https://cloud.acquia.com/api/applications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/ - _embedded: - items: - - id: 241643 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample application 1 - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - flags: - remote_admin: true - status: normal - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - tags: - - name: tag-1 - color: blue - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - name: tag-2 - color: green - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - id: 954291 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d471 - name: Sample application 2 - hosting: - type: free - id: devcloud:devcloud2 - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - type: node - flags: - remote_admin: false - status: provisioning - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471 - tags: - - name: tag-1 - color: blue - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - name: tag-2 - color: green - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: forbidden - message: You do not have permission to view applications. - "/applications/{applicationUuid}": - get: - tags: - - Applications - summary: Return details about a specific application. - operationId: getApplicationByUuid - x-cli-name: applications:find - security: - - OAuth2: [] - description: A specific application. - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Application" - example: - id: 2416431 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample application - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - flags: - remote_admin: true - type: drupal - status: normal - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a - code: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/code - databases: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases - environments: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/environments - events: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/events - features: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/features - ides: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/ides - permissions: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/permissions - search: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/search - settings: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings - tasks: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks - teams: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/teams - parent: - href: https://cloud.acquia.com/api/applications - _embedded: - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/f47ac10b-58cc-4372-a567-0e02b2c3d470 - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - _links: - self: - href: https://cloud.acquia.com/api/organizations/6a907396-abfd-4d01-9da6-64c8efc04519 - tags: - - name: tag-1 - color: blue - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - name: tag-2 - color: green - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Applications - summary: Renames an application. - operationId: putApplicationByUuid - x-cli-name: applications:rename - security: - - OAuth2: [] - description: Renames a specific application. - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - name: - type: string - description: The new name of the application. - minLength: 1 - maxLength: 255 - example: - name: My new application name - application/x-www-form-urlencoded: - schema: - type: object - properties: - name: - type: string - description: The new name of the application. - example: - name: My new application name - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Application renamed. - _links: - self: - href: https://cloud.acquia.com/api/applications/db1d0e46-6799-4208-9786-c7e64150a7c7 - parent: - href: https://cloud.acquia.com/api/applications - notification: - href: https://cloud.acquia.com/api/notifications/27698331-bcf9-48e9-9f12-931ac88f446f - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Name already in use: - value: - error: validation_failed - message: - name: You already have an application with this name. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to modify this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application: - value: - error: not_found - message: The application with UUID a47ac10b-58cc-4372-a567-0e02b2c3d470 does not exist. - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Name in use: - value: - error: conflict - message: The new application name is the same as the old application name. No action taken. - "/applications/{applicationUuid}/artifacts": - get: - tags: - - Applications - summary: Return application artifacts. - operationId: getArtifactsByApplicationUuid - x-cli-name: applications:artifact-list - security: - - OAuth2: [] - description: | - Returns a list of this application's build artifacts. Only available for Node.js applications. - - Filterable fields: - * `created` - * `name` - - Sortable fields: - * `created` - * `name` - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Artifacts" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts - parent: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - sort: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts{?limit} - templated: true - _embedded: - items: - - id: 1 - name: master@e5a80b9e0a2bdb1df32c6cdfce54deb70cc20ad2 - state: ready - created_at: '2012-05-15T12:00:00Z' - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/1 - - id: 2 - name: master@a265389db6a6918cf4e51edbe5f06d7e1578175c - state: pending-upload - created_at: '2012-05-15T12:00:00Z' - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/2 - - id: 3 - name: master@e7157f36e5fb82317ffee2fc2d70302cdad0c60c - state: deleted - created_at: '2012-05-15T12:00:00Z' - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/3 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Application type: - value: - error: not_found - message: Artifacts are only available for Node.js applications. - "/applications/{applicationUuid}/artifacts/{artifactId}": - get: - tags: - - Applications - summary: Return details about a specific artifact. - operationId: getArtifactByApplicationUuidAndId - x-cli-name: applications:artifact-find - description: | - A specific artifact. - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/ArtifactId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Artifact" - example: - id: 1 - name: master@e5a80b9e0a2bdb1df32c6cdfce54deb70cc20ad2 - state: ready - created_at: '2012-05-15T12:00:00Z' - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts/1 - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/artifacts - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application: - value: - error: not_found - message: The application with UUID a47ac10b-58cc-4372-a567-0e02b2c3d470 does not exist. - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - No artifact: - value: - error: not_found - message: The build artifact you are trying to access does not exist, or you do not have permission to access it. - Application type: - value: - error: not_found - message: Artifacts are only available for Node.js applications. - "/applications/{applicationUuid}/code": - get: - tags: - - Applications - summary: Return application branches and release tags. - operationId: getCodeByApplicationUuid - x-cli-name: applications:vcs-info - security: - - OAuth2: [] - description: | - Returns a list of branches and release (repository) tags in this application's version control system. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Code" - example: - total: 4 - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/code - parent: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - name: master - flags: - tag: false - - name: feature-branch - flags: - tag: false - - name: tags/2014-09-03 - flags: - tag: true - - name: tags/2014-09-03.0 - flags: - tag: true - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No VCS Settings: - value: - error: not_found - message: No version control system settings found on non-hosted application. - "/applications/{applicationUuid}/code-studio": - get: - tags: - - Applications - summary: Returns details about the Code Studio project for an application. - description: Return details about the Code Studio project for an application. - operationId: getCodeStudioProject - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioProject" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c/code-studio - application: - href: https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c - parent: - href: https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c - applications: - href: https://cloud.acquia.com/api/applications - code-studio: - href: https://code.acquia.com/path/to/project - code-studio-api: - href: https://code.acquia.com/api/v4/path/to/project - _embedded: - application: - _links: - self: - href: https://cloud.acquia.com/api/applications/906c1ad5-f367-4127-b529-9dbe29bc5c1c - uuid: 906c1ad5-f367-4127-b529-9dbe29bc5c1c - name: My Application - application_id: 906c1ad5-f367-4127-b529-9dbe29bc5c1c - status: active - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Code Studio not enabled for application: - value: - error: not_found - message: Code Studio is not enabled for this application. - post: - tags: - - Applications - summary: Creates the Code Studio project for an application. - description: Creates the Code Studio project for an application. - operationId: postCodeStudioProject - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/98529a07-5f07-4c4d-836b-03c9226c03fd/code-studio - notification: - href: https://cloud.acquia.com/api/notifications/e0c0ec4d-cb4d-4b9a-92ed-503d1e8dae4a - message: A Code Studio project is being created for the Application. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to create a Code Studio project for this Application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Applications - summary: Removes the Code Studio project from an application. - description: Removes the Code Studio project from an application. - operationId: deleteCodeStudioProject - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/98529a07-5f07-4c4d-836b-03c9226c03fd/code-studio - notification: - href: https://cloud.acquia.com/api/notifications/e0c0ec4d-cb4d-4b9a-92ed-503d1e8dae4a - message: The Code Studio project is being removed from the Application. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to remove the Code Studio project from this Application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/databases": - get: - tags: - - Applications - summary: Returns a list database names for the application. - description: | - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getApplicationDatabases - x-cli-name: applications:database-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationDatabases" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases - sort: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/databases{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a - _embedded: - items: - - name: database1 - - name: database2 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No data or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Not available on Node.js: - value: - error: not_found - message: Databases do not exist on Node.js applications. - Non-hosted application: - value: - error: not_found - message: Databases do not exist on non-hosted applications. - post: - tags: - - Applications - summary: Creates a database. - description: This action will create a new database within each environment of the application. - operationId: postApplicationDatabaseCreate - x-cli-name: applications:database-create - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - description: Application database name. - required: - - name - properties: - name: - type: string - description: The database name. - minLength: 1 - maxLength: 63 - example: - name: my_db_name - application/x-www-form-urlencoded: - schema: - type: object - description: Application database name. - required: - - name - properties: - name: - type: string - description: The database name. - minLength: 1 - maxLength: 63 - example: - name: my_db_name - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The database is being created. - _links: - self: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/databases - notification: - href: https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69 - parent: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Only available for hosted applications: - value: - error: validation_failed - message: - general: Databases can only be added on Acquia-hosted applications. - Not available on Site Factory applications: - value: - error: validation_failed - message: - general: Databases cannot be added on Acquia Cloud Site Factory applications. - Name cannot be default: - value: - error: validation_failed - message: - name: The database name cannot be "default". - Name can only be alphanumeric and underscores: - value: - error: validation_failed - message: - name: The database name can only contain alphanumeric characters and underscores. - Name cannot exceed 63 characters in length: - value: - error: validation_failed - message: - general: The database name cannot exceed 63 characters in length. - Name already in use: - value: - error: validation_failed - message: - name: A database with that name already exists. Please choose another name. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to add a database to this application. - Non-hosted application: - value: - error: forbidden - message: Databases cannot be added to non-hosted applications. - ACSF application: - value: - error: forbidden - message: Databases cannot be added to Acquia Cloud Site Factory applications. - Node.js application: - value: - error: forbidden - message: Databases cannot be added on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/databases/{name}": - delete: - tags: - - Applications - summary: Drops (deletes) a database. - description: This action will delete the database in ALL environments within this application. - operationId: postApplicationDatabaseDelete - x-cli-name: applications:database-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Name" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The database is being deleted. - _links: - self: - href: https://cloud.acquia.com/api/applications/f75e226b-2d8c-48c7-b3a7-614bb440272d/databases/testdatabase - notification: - href: https://cloud.acquia.com/api/notifications/a90295b6-f50f-4670-8ca4-bb936a55c3a3 - parent: - href: https://cloud.acquia.com/api/applications/f75e226b-2d8c-48c7-b3a7-614bb440272d/databases - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Can only be erased on hosted applications: - value: - error: validation_failed - message: - general: Databases can only be erased on Acquia-hosted applications. - Can only be erased on free tier applications: - value: - error: validation_failed - message: - general: Databases can only be erased on Acquia Free Tier applications. - Does not belong to application: - value: - error: validation_failed - message: - name: The database does not belong to this application, and cannot be removed. - Cannot delete default: - value: - error: validation_failed - message: - name: The database is a default database, and cannot be removed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to delete this database. - Non hosted application: - value: - error: forbidden - message: Databases cannot be deleted on non-hosted applications. - ACSF application: - value: - error: forbidden - message: Databases cannot be deleted on Acquia Cloud Site Factory applications. - Node.js application: - value: - error: forbidden - message: Databases cannot be erased on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/databases/{name}/actions/erase": - post: - tags: - - Applications - summary: Erases (truncates) a database. - description: This action will delete all tables of the database in ALL environments within this application. - operationId: postApplicationDatabaseErase - x-cli-name: applications:database-erase - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Name" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The database is being erased. - _links: - self: - href: https://cloud.acquia.com/api/applications/da1c0a8e-ff69-45db-88fc-acd6d2affbb7/databases/test_database/actions/erase - notification: - href: https://cloud.acquia.com/api/notifications/a90295b6-f50f-4670-8ca4-bb936a55c3a3 - parent: - href: https://cloud.acquia.com/api/applications/da1c0a8e-ff69-45db-88fc-acd6d2affbb7/databases/test_database/actions - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Can only be erased on hosted applications: - value: - error: validation_failed - message: - general: Databases can only be erased on Acquia-hosted applications. - Can only be erased on free tier applications: - value: - error: validation_failed - message: - general: Databases can only be erased on Acquia Free Tier applications. - Does not belong to application: - value: - error: validation_failed - message: - name: The database does not belong to this application, and cannot be removed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - ACF only: - value: - error: forbidden - message: Only Acquia Cloud Free subscriptions can erase databases. - No permission: - value: - error: forbidden - message: You do not have permission to erase this database. - Non-hosted application: - value: - error: forbidden - message: Databases cannot be erased on non-hosted applications. - Service Management-enabled application: - value: - error: forbidden - message: Databases cannot be erased on Service Management-enabled applications. - Node.js application: - value: - error: forbidden - message: Databases cannot be erased on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/email/domains": - get: - tags: - - Applications - summary: Returns a list of email domains associated with the application. - description: Returns a list of email domains associated with the application and domains that have been verified at the subscription level. - operationId: getApplicationEmailDomains - x-cli-name: applications:email-domains-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EmailDomains" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains - parent: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email - limit: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications123e4567-e89b-12d3-a456-426614174000/email/domains{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/email/domains{?filter} - templated: true - _embedded: - items: - - uuid: 123e4567-e89b-12d3-a456-426614174000 - domain_name: example.com - flags: - associated: true - health: - code: "200" - details: "" - summary: OK - - uuid: 123e4567-e89b-12d3-a456-426614174000 - domain_name: example2.com - flags: - associated: true - health: - code: "200" - details: "" - summary: OK - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage email domains for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No data or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/email/domains/{domainRegistrationUuid}/actions/associate": - post: - tags: - - Applications - summary: Associates an email domain with an Application. - description: Associates an email domain with an Application. - operationId: postApplicationAssociateEmailDomain - x-cli-name: applications:post-associate-email-domain - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/DomainRegistrationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Associate Domain: - value: - message: The domain has been associated with the application. - _links: - self: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains//123e4567-e89b-12d3-a456-426614174000/actions/associate - parent: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains//123e4567-e89b-12d3-a456-426614174000 - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to associate domains with this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to associate a domain registration with does not exist or you do not have permission to access it. - Domain not found: - value: - error: not_found - message: The domain registration you are trying to associate does not exist or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Already associated: - value: - error: conflict - message: The domain example.com is already associated with this application. - "/applications/{applicationUuid}/email/domains/{domainRegistrationUuid}/actions/disassociate": - post: - tags: - - Applications - summary: Disassociates an email domain with an Application. - description: Disassociates an email domain with an Application. - operationId: postApplicationDisassociateEmailDomain - x-cli-name: applications:post-disassociate-email-domains - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/DomainRegistrationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Disassociate Domain: - value: - message: The domain has been disassociated from the application. - _links: - self: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000/actions/dissasociate - parent: - href: https://cloud.acquia.com/api/applications/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to disassociate domains from this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to disassociate a domain registration from does not exist or you do not have permission to access it. - Domain not found: - value: - error: not_found - message: The domain registration you are trying to disassociate does not exist or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Domain minimum: - value: - error: conflict - message: The application must have at least one associated domain while Platform Email is enabled on an environment. - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Not associated: - value: - error: conflict - message: The domain example.com is not associated with this application. - "/applications/{applicationUuid}/ides": - get: - tags: - - Applications - summary: Returns a list of Cloud IDEs associated with this application. - description: Returns a list of Cloud IDEs associated with this application. - operationId: getApplicationIdes - x-cli-name: applications:ide-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Ides" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/feea197a-9503-4441-9f49-b4d420b0ecf8/ides - parent: - href: https://cloud.acquia.com/api/applications/feea197a-9503-4441-9f49-b4d420b0ecf8 - _embedded: - items: - - uuid: 9a83c081-ef78-4dbd-8852-11cc3eb248f7 - label: IDE Label 1 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7 - web: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud - ide: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ides.acquia.com - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - _embedded: - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - last_login_at: '2019-01-31T10:53:11-05:00' - created_at: '2016-08-14T17:38:59-04:00' - email: user.name@example.com - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - - uuid: feea197a-9503-4441-9f49-b4d420b0ecf8 - label: IDE Label 2 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8 - web: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud - ide: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.ides.acquia.com - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - _embedded: - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - last_login_at: '2019-01-31T10:53:11-05:00' - created_at: '2016-08-14T17:38:59-04:00' - email: user.name@example.com - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Applications - summary: Creates a new Cloud IDE. - description: Creates a new Cloud IDE. - operationId: postApplicationsIde - x-cli-name: ide:create - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The label of the Cloud IDE. - minLength: 1 - maxLength: 255 - example: - label: My new IDE - application/x-www-form-urlencoded: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The label of the Cloud IDE. - minLength: 1 - maxLength: 255 - example: - label: My new IDE - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - IDE created: - value: - message: The Cloud IDE is being created. - _links: - self: - href: https://cloud.acquia.com/api/ides/1792767d-1ee3-4b5f-83a8-334dfdc2b8a3 - parent: - href: https://cloud.acquia.com/api/ides - notification: - href: https://cloud.acquia.com/api/notifications/e47da6d7-371e-4bb9-a7fe-d9ab8aa899c3 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Bad IDE label: - value: - error: validation_error - message: - name: A Cloud IDE labeled My new IDE already exists. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No user: - value: - error: not_found - message: The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/messages": - get: - tags: - - Applications - summary: Returns a list of messages associated with this application. - description: | - Filterable fields: - * `title` - * `message_type` - * `display_mode` - - Sortable fields: - * `title` - * `message_type` - * `display_mode` - operationId: getApplicationMessages - x-cli-name: applications:message-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/UxMessages" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages - sort: - href: https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications/a838f9a8-11e2-c374-6954-6931d150b259/messages{?limit} - templated: true - _embedded: - items: - - id: 123 - uuid: 77fedb64-b8c0-4712-90e3-f39b4716e623 - title: IPM Title - body: This is the body of the IPM. - url: http://www.acquia.com - filters: - paths: - - /some/random/path - - /other/random/path - display_mode: bar - type: general - flags: - dismissed: false - dismissible: true - active: true - weight: -1 - start_at: 2015-11-05T00:30:00-05:00 - expire_at: 2015-12-05T13:30:00-05:00 - _links: - self: - href: https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623 - dismiss: - href: https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623/actions/dismiss - follow: - href: https://cloud.acquia.com/api/messages/77fedb64-b8c0-4712-90e3-f39b4716e623/actions/follow - - id: 234 - uuid: c5328e00-282a-4bec-a3c8-4322d97545b2 - title: IPM Message 2 - body: IPM Message 2 body - url: http://www.google.ca - filters: - paths: [] - display_mode: bar - type: new - flags: - dismissed: false - dismissible: true - active: true - weight: 0 - start_at: 2015-11-07T17:30:00-05:00 - expire_at: 2016-11-07T17:30:00-05:00 - _links: - self: - href: https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2 - dismiss: - href: https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2/actions/dismiss - follow: - href: https://cloud.acquia.com/api/messages/c5328e00-282a-4bec-a3c8-4322d97545b2/actions/follow - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/notifications": - get: - tags: - - Applications - summary: Returns a list of notifications associated with this application by its UUID. - description: | - Returns a list of notifications associated with this application. A notification represents an item of work to be done, initiated by someone (typically the current user) associated with the application. - - Filterable fields: - * `event` - * `label` - * `description` - * `status` - * `author` - * `created_at` - * `completed_at` - - Sortable fields: - * `event` - * `label` - * `description` - * `status` - * `author` - * `created_at` - * `completed_at` - operationId: getApplicationNotifications - x-cli-name: applications:notification-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationsNotifications" - example: - total: 1 - pagination: - total: 1 - limit: 1 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications - parent: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1 - limit: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/a027502b-ad6c-a48e-a7e8-aa0def7d25e1/notifications{?filter} - templated: true - _embedded: - items: - - uuid: 1bd3487e-71d1-4fca-a2d9-5f969b3d35c1 - event: ApplicationAddedToRecents - label: Application added to recents list - description: '"Canary QA 11 - ACE" was added to your recent applications list.' - created_at: '2019-07-29T20:47:13+00:00' - completed_at: '2019-07-29T20:47:13+00:00' - status: completed - progress: 100 - context: - author: - uuid: 5391a8a9-d273-4f88-8114-7f884bbfe08b - actual_uuid: 5391a8a9-d273-4f88-8114-7f884bbfe08b - user: - uuids: - - 5391a8a9-d273-4f88-8114-7f884bbfe08b - application: - uuids: - - a027502b-ad6c-a48e-a7e8-aa0def7d25e1 - _links: - self: - href: https://cloud.acquia.com/api/notifications/1bd3487e-71d1-4fca-a2d9-5f969b3d35c1 - parent: - href: https://cloud.acquia.com/api/notifications - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/notifications/{notificationUuid}": - get: - tags: - - Applications - summary: Returns a single notification. - description: Returns a single notification. This could be either an event or a task. - deprecated: true - operationId: getApplicationNotificationByUuid - x-cli-name: applications:notification-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/NotificationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/NotificationDeprecated" - example: - progress: 100 - user: - uuid: a18a1d80-8896-11e1-9eb5-12313928d5b8 - first_name: James - last_name: Kirk - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/path/to/imagepng - username: james.kirk - uuid: 63098518-0da8-4e41-943b-1198e3614f38 - name: OperationStarted - title: Operation title - description: Operation description. - created_at: 2017-04-04T17:21:53-04:00 - started_at: 2017-04-04T17:21:53-04:00 - completed_at: 2017-04-04T17:21:59-04:00 - status: completed - type: task - metadata: - environment: - ids: - - 63-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - labels: - - database - - hosting - reference_uuid: 53098518-0da8-4e41-943b-1198e3614f38 - _links: - self: - href: https://cloud.acquia.com/api/applications/0c7e79ab-1c4a-424e-8446-76ae8be7e851/notifications/123821 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No data or permission: - value: - error: not_found - message: The data you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/permissions": - get: - tags: - - Applications - summary: Returns a list of permissions the user has for this application by its UUID. - description: Returns a list of permissions the user has for this application. - operationId: getApplicationPermissions - x-cli-name: applications:permission-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationsPermissions" - example: - total: 49 - flags: - administrator: false - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/permissions - parent: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - name: deploy to non-prod - label: Pull and deploy code, files, or databases to non-production environments - description: Grants the ability to enable or disable live development and non-production work. - group_label: Workflow - flags: - deprecated: false - - name: deploy to prod - label: Deploy code, files, or databases to the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: pull from prod - label: Pull files or databases from the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file to non-prod - label: Move files to non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file to prod - label: Move files to the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file from prod - label: Move files from production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file from non-prod - label: Move files from non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: clear varnish on non-prod - label: Clear Varnish cache for non-production environments - description: null - group_label: Workflow - flags: - deprecated: true - - name: clear varnish on prod - label: Clear Varnish cache for the production environment - description: null - group_label: Workflow - flags: - deprecated: true - - name: configure prod env - label: Configure production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: configure non-prod env - label: Configure non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: add an environment - label: Add an environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: delete an environment - label: Delete an environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: administer domain non-prod - label: Add or remove domains for non-production environments - description: null - group_label: Domains - flags: - deprecated: false - - name: administer domain prod - label: Add or remove domains for the production environment - description: null - group_label: Domains - flags: - deprecated: false - - name: administer ssl prod - label: Add or remove SSL certificates for the production environment - description: null - group_label: Domains - flags: - deprecated: false - - name: administer ssl non-prod - label: Add or remove SSL certificates for the non-production environments - description: null - group_label: Domains - flags: - deprecated: false - - name: reboot server - label: Reboot server - description: null - group_label: Server administration - flags: - deprecated: false - - name: resize server - label: Resize server - description: Increasing the size of your server costs money. - group_label: Server administration - flags: - deprecated: false - - name: suspend server - label: Suspend server - description: null - group_label: Server administration - flags: - deprecated: false - - name: configure server - label: Configure server - description: null - group_label: Server administration - flags: - deprecated: false - - name: download logs non-prod - label: Download logs for non-production environments - description: null - group_label: Logs - flags: - deprecated: false - - name: download logs prod - label: Download logs for the production environment - description: null - group_label: Logs - flags: - deprecated: false - - name: add database - label: Add a database - description: null - group_label: Databases - flags: - deprecated: false - - name: remove database - label: Remove a database - description: null - group_label: Databases - flags: - deprecated: false - - name: view database connection - label: View database connection details (username, password, or hostname) - description: null - group_label: Databases - flags: - deprecated: false - - name: download db backup non-prod - label: Download database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: download db backup prod - label: Download database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: create db backup non-prod - label: Create database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: create db backup prod - label: Create database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: restore db backup non-prod - label: Restore database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: restore db backup prod - label: Restore database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: administer team - label: Add or remove a user of a team - description: Granting this permission will give any user with this role full permissions on this team. - group_label: Administration - flags: - deprecated: false - - name: access cloud api - label: Access the Cloud API - description: Grants the ability to use the API and bypass all other permissions via command line tools. - group_label: Administration - flags: - deprecated: false - - name: administer cron non-prod - label: Modify cron tasks for non-production environments - description: null - group_label: Cron - flags: - deprecated: false - - name: administer cron prod - label: Modify cron tasks for the production environment - description: null - group_label: Cron - flags: - deprecated: false - - name: create support ticket - label: Create a support ticket - description: null - group_label: Support - flags: - deprecated: false - - name: edit any support ticket - label: View and edit any support tickets for a subscription - description: null - group_label: Support - flags: - deprecated: false - - name: view build plans - label: View Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: edit build plans - label: Edit Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: run build plans - label: Run Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: add ssh key to git - label: Add SSH key to git repository - description: null - group_label: SSH keys - flags: - deprecated: false - - name: add ssh key to non-prod - label: Add SSH key to non-production environments - description: null - group_label: SSH keys - flags: - deprecated: false - - name: add ssh key to prod - label: Add SSH key to the production environment - description: null - group_label: SSH keys - flags: - deprecated: false - - name: view remote administration - label: View Remote Administration - description: This permission is only relevant if your subscription has remote administration. - group_label: Administration - flags: - deprecated: false - - name: edit remote administration - label: Edit Remote Administration - description: This permission is only relevant if your subscription has remote administration. - group_label: Administration - flags: - deprecated: false - - name: clear caches on prod - label: Clear caches for the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: clear caches on non-prod - label: Clear caches for non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/search": - get: - tags: - - Applications - summary: Returns a traversal endpoint for search entities for the application. - description: Does not return any data. Allows traversal to search entity endpoints. - operationId: getApplicationSearchList - x-cli-name: applications:search:list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Search" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905 - config-sets: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Forbidden: - value: - error: forbidden - message: You do not have permission to manage search for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/search/config-sets": - get: - tags: - - Applications - summary: Returns a collection of search configuration sets for an application - description: A collection of search configuration sets for an application. - operationId: getApplicationSearchConfigurationSets - x-cli-name: applications:search:configuration-set-list - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ConfigurationSets" - example: - total: 3 - pagination: - total: 3 - limit: 3 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search - limit: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets{?filter} - templated: true - _embedded: - items: - - id: shared-1234567891011-121 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-0 - flags: - custom: false - status: active - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - download: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download - - id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-1 - flags: - custom: true - status: pending - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - download: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download - - id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn79 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-2 - flags: - custom: true - status: pending - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn79 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - download: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to view search configuration sets for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Applications - summary: Creates a search configuration set for an application. - description: Creates a search configuration set for an application. - operationId: postApplicationSearchConfigurationSets - x-cli-name: applications:search:configuration-set-create - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - required: - - archive - description: The archive file binary. - properties: - archive: - format: binary - type: string - description: A binary file response - responses: - "202": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The search configuration set is being created. - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ - notification: - href: https://cloud.acquia.com/api/notifications/05fb83f1-59dd-4079-b9f3-ce9243a126ed - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Request missing uploaded file: - value: - error: validation_failed - message: - general: The request does not contain an uploaded file. - Error during file upload: - value: - error: validation_failed - message: - general: An error occurred during file upload. - Uploaded file is not a zip file: - value: - error: validation_failed - message: - general: The uploaded file is not a zip file. - File exceeds size limit: - value: - error: validation_failed - message: - general: The uploaded file size exceeds the 10MB limit. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to create search configuration sets on this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: Acquia Search is not available for this subscription. - "/applications/{applicationUuid}/search/config-sets/{configurationSetId}": - get: - tags: - - Applications - summary: Returns a search configuration set for an application - description: A specific search configuration set. - operationId: getApplicationSearchConfigurationSet - x-cli-name: applications:search:configuration-set-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/ConfigurationSetId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ConfigurationSet" - example: - id: shared-1234567891011-121 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-0 - flags: - custom: false - health: - code: OK - summary: Search index active - details: No issues. - status: active - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - download: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/download - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to view search configuration sets for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or not enough permissions: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - No configuration set or not enough permissions: - value: - error: not_found - message: The search configuration set you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Applications - summary: Removes and deletes a specific search configuration set from an application. - description: Removes and deletes a specific search configuration set from an application. - operationId: deleteApplicationSearchConfigurationSet - x-cli-name: applications:search:configuration-set-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/ConfigurationSetId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The search configuration set has been deleted. - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ - notification: - href: https://cloud.acquia.com/api/notifications/41aaeac7-7ead-4f39-b74c-42493e4dc27b - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to delete search configuration sets for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or not enough permissions: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - No configuration set or not enough permissions: - value: - error: not_found - message: The search configuration set you are trying to access does not exist, or you do not have permission to access it. - Search configuration set not available: - value: - error: not_found - message: The configuration set is not available for this application. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: Acquia Search is not available for this subscription. - "/applications/{applicationUuid}/settings": - get: - tags: - - Applications - summary: Returns available settings for this application. - description: Does not return any data. Allows traversal to settings groups endpoints. - operationId: getApplicationSettings - x-cli-name: applications:settings-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Settings" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings - hosting: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/hosting - keys: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/keys - ra: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/ra - security: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/security - parent: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/settings/hosting": - get: - tags: - - Applications - summary: Returns the hosting settings for this application. - description: Returns the hosting settings for this application. - deprecated: true - operationId: getApplicationHostingSettings - x-cli-name: applications:hosting-settings-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/HostingSettings" - example: - uuid: abcd1234-1111-2222-3333-0e02b2c3d470 - hosting_id: master:site - type: ace - _links: - self: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/hosting - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: not_found - message: You do not have permission to access the hosting settings. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/settings/keys": - get: - tags: - - Applications - summary: Returns the legacy product keys for this application. - description: Returns the legacy product keys for this application. - deprecated: true - operationId: getApplicationLegacyProductKeysSettings - x-cli-name: applications:legacy-product-key-find - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/LegacyProductKeysSettings" - example: - acquia_connector: - identifier: ABCD-12345 - key: 12345678f5325ea35d63a6c3debcd225 - cloud_api: - username: abcd1234-1111-2222-3333-0e02b2c3d470 - key: 123456787987a135e2c143601328cbf1 - _links: - self: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/keys - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/settings - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to access these product keys. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/settings/ra": - get: - tags: - - Applications - summary: Returns the remote administration settings for this application. - description: Returns the remote administration settings for this application. - operationId: getApplicationRemoteAdministrationSettings - x-cli-name: applications:ra-settings-find - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/RemoteAdministrationSettings" - example: - application_uuid: abcd1234-1111-2222-3333-0e02b2c3d470 - update_mode: full - update_type: core - pause_until: 2016-03-04T12:01:05-0500 - deploy_at: 2016-03-04T12:01:05-0500 - deploy_environment: test - source_environment: prod - merge_branch: master - flags: - copy_files: true - copy_database: true - merge_tag: false - _links: - self: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/ra - parent: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view the remote administration settings for this application. - Does not have remote administration: - value: - error: forbidden - message: This application does not have remote administration. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Applications - summary: Modifies the remote administration settings for an application. - description: Modifies the remote administration settings for an application. - operationId: putApplicationRemoteAdministrationSettings - x-cli-name: applications:ra-settings-update - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/RemoteAdministration" - example: - update_mode: update - update_type: core_contrib - pause_until: '2021-10-10 13:00:00' - deploy_at: '2020-10-13 13:00:00' - deploy_environment: test - source_environment: prod - copy_files: false - copy_database: true - merge_tag: false - merge_branch: master - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/RemoteAdministration" - example: - $ref: "#/paths/~1applications~1%7BapplicationUuid%7D~1settings~1ra/put/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: The remote administration settings have been updated - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - No parameters: - value: - error: validation_failed - message: - general: No fields were set to update. No action performed. - Remote administration not availble for application: - value: - error: validation_failed - message: - general: Remote administration is not available for this application. - Invalid remote administration mode: - value: - error: validation_failed - message: - update_mode: The remote administration mode 'something' is invalid. Must be one of 'update', 'inform', or 'none'. - Invalid remote administration update type: - value: - error: validation_failed - message: - update_type: The remote administration update type 'something' is invalid. Must be one of 'core' or 'core_contrib'. - Pause until must be in the future: - value: - error: validation_failed - message: - pause_until: The pause until timestamp must be in the future. - Deploy environment does not belong to application: - value: - error: validation_failed - message: - deploy_environment: The deploy environment does not belong to this application. - Invalid deploy environment: - value: - error: validation_failed - message: - deploy_environment: The deploy environment is not valid. - Source environment does not belong to application: - value: - error: validation_failed - message: - deploy_environment: The source environment does not belong to this application. - Invalid source environment: - value: - error: validation_failed - message: - deploy_environment: The source environment is not valid. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Unsufficient permissions: - value: - error: forbidden - message: You do not have permission to edit the remote administration settings for this application. - Does not have remote administration: - value: - error: forbidden - message: This application does not have remote administration. - Remote administration not available: - value: - error: forbidden - message: Remote admin is not available on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or does not exist: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/settings/security": - get: - tags: - - Applications - summary: Returns the security policy settings for this application. - description: Returns the security policy settings for this application. - deprecated: true - operationId: getApplicationSecuritySettings - x-cli-name: applications:security-settings-find - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SecuritySettings" - example: - application_uuid: abcd1234-1111-2222-3333-0e02b2c3d470 - allowed_ips: - - 127.0.0.1 - - 8.8.8.8 - tfa_required: true - _links: - self: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings/security - parent: - href: https://cloud.acquia.com/api/applications/abcd1234-1111-2222-3333-0e02b2c3d470/settings - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Applications - summary: Modifies the security policy settings for an application. - description: Modifies the security policy settings for an application. - deprecated: true - operationId: putApplicationSecuritySettings - x-cli-name: applications:security-settings-update - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - allowed_ips: - type: array - description: | - The list of IPs to whitelist. Set to `null` to disable IP whitelisting. - nullable: true - items: - type: string - format: ipv4 - tfa_required: - type: boolean - description: The configuration set to use.Whether TFA is required for application authentication. - example: - status: - - 127.0.0.1 - - 0.0.0.0 - configuration_set: true - application/x-www-form-urlencoded: - schema: - type: object - properties: - allowed_ips: - type: array - description: | - The list of IPs to whitelist. Set to `null` to disable IP whitelisting. - nullable: true - items: - type: string - format: ipv4 - tfa_required: - type: boolean - description: The configuration set to use.Whether TFA is required for application authentication. - example: - status: - - 127.0.0.1 - - 0.0.0.0 - configuration_set: true - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: The security policy settings have been updated. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - No parameters: - value: - error: validation_failed - message: - general: No fields were set to update. No action performed. - Invalid IP list: - value: - error: validation_failed - message: - allowed_ips: The list of allowed IPs is invalid. Must either be an array of IPs to whitelist, or null to disable IP whitelisting. - Invalid IP address in list: - value: - error: validation_failed - message: - allowed_ips: The IP address \"not-a-valid-ip-address\" is invalid. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to edit the security policy settings for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or does not exist: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Action unavailable: - value: - error: conflict - message: The security policy is already configured to these settings. - "/applications/{applicationUuid}/tags": - get: - tags: - - Applications - summary: Returns a list of application tags associated with this application. - description: Returns a list of application tags associated with this application. - operationId: getApplicationTags - x-cli-name: applications:tag-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ResourceTags" - example: - total: 1 - pagination: - total: 1 - limit: 1 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a - limit: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags{?filter} - templated: true - _embedded: - items: - - name: Dev - color: orange - context: - organization: - uuids: - - 2375e327-3fff-11e3-9170-12313920a02c - application: - uuids: - - 185f07c7-9c4f-407b-8968-67892ebcb38a - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags/Dev - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tags - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Applications - summary: Creates a new application tag. - description: Creates a new application tag. - operationId: postApplicationsTags - x-cli-name: applications:tags-create - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - description: Application tags. - required: - - name - - color - properties: - name: - type: string - description: The label of the application tag. - minLength: 2 - maxLength: 16 - color: - type: string - description: The color name of the application tag found via the GET /api/options/colors endpoint. - example: - name: Dev - color: green - application/x-www-form-urlencoded: - schema: - type: object - description: Application tags. - required: - - name - - color - properties: - name: - type: string - description: The label of the application tag. - minLength: 2 - maxLength: 16 - color: - type: string - description: The color name of the application tag found via the GET /api/options/colors endpoint. - example: - name: Dev - color: green - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The tag has been added to the application. - _links: - self: - href: https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags - parent: - href: https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb - notification: - href: https://cloud.acquia.com/api/notifications/773fca86-9d87-45dc-9220-9ba38306bbb1 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No user: - value: - error: not_found - message: The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/tags/{tagName}": - delete: - tags: - - Applications - summary: Deletes an application tag. - description: Deletes an application tag. - operationId: deleteApplicationTags - x-cli-name: applications:tags-delete - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/TagName" - security: - - OAuth2: [] - responses: - "200": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The tag has been removed from the application. - _links: - self: - href: https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags/test_tag - parent: - href: https://cloud.acquia.com/api/applications/0d9fc48f-9871-41d9-8b41-0f815e6039eb/tags - notification: - href: https://cloud.acquia.com/api/notifications/37cdf705-9774-4526-9bf0-9feb279630ee - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No user: - value: - error: not_found - message: The Application with UUID 3c6a3d3e-c3ee-4fee-97d6-9074971feb76 does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/tasks": - get: - tags: - - Applications - summary: Returns a list of tasks associated with this application by its UUID. - description: | - Returns a list of tasks associated with this application. A task represents an item of work to be done, initiated by someone (typically the current user) associated with the application. - - Filterable fields: - * `name` - * `title` - * `created` - * `completed` - * `started` - - Sortable fields: - * `name` - * `title` - * `created` - * `completed` - * `started` - deprecated: true - operationId: getApplicationTasks - x-cli-name: applications:task-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationsTasks" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks - sort: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/tasks{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a - _embedded: - items: - - progress: 100 - user: - uuid: d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a - first_name: Example - last_name: User - last_login_at: 2019-05-23T16:12:12-04:00 - created_at: 2015-08-14T17:37:21-04:00 - mail: example.user@example.com - picture_url: https://accounts.acquia.com/images/users/d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a/style/avatar - username: example.user - id: 8c6dde1f-fd0c-45e3-b6a3-f335397a1a76 - uuid: 8c6dde1f-fd0c-45e3-b6a3-f335397a1a76 - name: ApplicationAddedToTeam - title: Application added to team. - description: Application Example Application has been added to team Example Team - created_at: 2019-04-16T13:24:55-04:00 - started_at: 2019-04-16T13:24:55-04:00 - completed_at: 2019-04-16T13:24:55-04:00 - status: completed - type: task - metadata: - created: 1555435495 - author: - uuid: d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a - actual_uuid: d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a - user: - uuids: - - d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a - application: - uuids: - - 185f07c7-9c4f-407b-8968-67892ebcb38a - subscription: - uuids: - - bbb28c3b-5eba-41ce-b54e-798d60f02a14 - organization: - uuids: - - 1734f8b7-9fd0-4150-92a8-325c52229554 - team: - uuids: - - e1cc8591-1f28-44d4-912a-371311ac6095 - labels: - - teams - reference_uuid: d15b1bfe-1bf3-47d4-8f3a-fd29a5daea7a - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/notifications/8c6dde1f-fd0c-45e3-b6a3-f335397a1a76 - - progress: 0 - user: - uuid: 66597696-118c-4e18-b7e8-d027df8d5faa - first_name: Example - last_name: User - last_login_at: 2019-05-30T18:08:36-04:00 - created_at: 2015-08-13T19:37:00-04:00 - mail: example.user.2@example.com - picture_url: https://accounts.acquia.com/images/users/66597696-118c-4e18-b7e8-d027df8d5faa/style/avatar - username: example.user.2 - id: a0b253b7-df89-4b45-950b-f1d1e8873d30 - uuid: a0b253b7-df89-4b45-950b-f1d1e8873d30 - name: FilesCopied - title: Files copied - description: Files copied from "prod" to "dev". - created_at: 2019-01-25T04:24:32-05:00 - started_at: 2019-01-25T04:24:32-05:00 - completed_at: 2019-01-25T04:24:46-05:00 - status: completed - type: task - metadata: - created: 1548408272 - environment: - source: 925-185f07c7-9c4f-407b-8968-67892ebcb38a - target: 927-185f07c7-9c4f-407b-8968-67892ebcb38a - ids: - - 925-185f07c7-9c4f-407b-8968-67892ebcb38a - - 927-185f07c7-9c4f-407b-8968-67892ebcb38a - hosting: - task: - id: "12345678" - master: example - author: - uuid: 66597696-118c-4e18-b7e8-d027df8d5faa - actual_uuid: 66597696-118c-4e18-b7e8-d027df8d5faa - user: - uuids: - - 66597696-118c-4e18-b7e8-d027df8d5faa - application: - uuids: - - 185f07c7-9c4f-407b-8968-67892ebcb38a - subscription: - uuids: - - bbb28c3b-5eba-41ce-b54e-798d60f02a14 - organization: - uuids: - - 1734f8b7-9fd0-4150-92a8-325c52229554 - labels: - - hosting - reference_uuid: a0b253b7-df89-4b45-950b-f1d1e8873d30 - _links: - self: - href: https://cloud.acquia.com/api/applications/185f07c7-9c4f-407b-8968-67892ebcb38a/notifications/a0b253b7-df89-4b45-950b-f1d1e8873d30 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/teams": - get: - tags: - - Applications - summary: Returns a list of teams associated with this application. - description: | - Returns a list of teams associated with this application by its UUID. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getApplicationTeams - x-cli-name: applications:team-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationsTeams" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/abcded12-1234-11e1-9eb5-12313928d5b8/teams - parent: - href: https://cloud.acquia.com/api/applications/abcded12-1234-11e1-9eb5-12313928d5b8 - _embedded: - items: - - uuid: abcd1234-82b5-11e3-9170-12313920a02c - name: Team Name 1 - created_at: '2013-10-28T14:16:07-0700' - updated_at: '2015-02-19T08:53:10-0800' - organization: - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c - - uuid: 1234abcd-82b5-11e3-9170-12313920a02c - name: Team Name 2 - created_at: '2014-05-27T11:55:39-0700' - updated_at: '2015-01-30T05:49:16-0800' - organization: - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage": - get: - tags: - - Applications - summary: Retrieves traversal links for detailed metrics on usage (views and visits) of your application. - description: Retrieves traversal links for an application's usage data. - operationId: getApplicationsUsageLinks - x-cli-name: applications:usage-links - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Usage" - example: - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics - data: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data - data-by-environment: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment - views: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - views-by-environment: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment - visits: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - visits-by-environment: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage/data": - get: - tags: - - Applications - summary: Retrieves aggregate usage data for an application, filterable by views or visits and by environment. - description: | - Filterable fields: - * `metric` - One of: {`views`, `visits`} - * `environment` - operationId: getApplicationsUsageData - x-cli-name: applications:usage-data - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationUsageMetrics" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - filter: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage/data-by-environment": - get: - tags: - - Applications - summary: Retrieves usage data (views or visits) for an application, broken down by environment. - description: | - Filterable fields: - * `metric` - One of: {`views`, `visits`} - * `environment` - operationId: getApplicationsUsageDataByEnvironment - x-cli-name: applications:usage-data-by-environment - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationUsageMetrics" - example: - total: 6 - pagination: - total: 6 - limit: 6 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - limit: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data-by-environment{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: views - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage/{usageMetric}": - get: - tags: - - Applications - summary: Retrieves aggregate usage metric data (views or visits) for an application.. - description: | - Filterable fields: - * `environment` - operationId: getApplicationsUsageMetricData - x-cli-name: applications:usage-metric-data - parameters: - - $ref: "#/components/parameters/UsageMetric" - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationUsageMetric" - example: - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage/views-by-environment": - get: - tags: - - Applications - summary: Retrieves views data for an application, broken down by environment. - description: | - Filterable fields: - * `environment` - operationId: getApplicationsUsageViewsDataByEnvironment - x-cli-name: applications:usage-views-data-by-environment - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationUsageMetrics" - example: - total: 3 - pagination: - total: 3 - limit: 3 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - limit: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views-by-environment{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: views - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/metrics/usage/visits-by-environment": - get: - tags: - - Applications - summary: Retrieves visits data for an application, broken down by environment. - description: | - Filterable fields: - * `environment` - operationId: getApplicationsUsageVisitsDataByEnvironment - x-cli-name: applications:usage-visits-data-by-environment - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationUsageMetrics" - example: - total: 3 - pagination: - total: 3 - limit: 3 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - limit: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits-by-environment{?filter} - templated: true - _embedded: - items: - - metric: visits - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: [] - last_data_at: null - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - /distributions: - get: - tags: - - Distributions - summary: Return a list of Drupal distributions. - operationId: getDistributions - x-cli-name: distributions:list - security: - - OAuth2: [] - description: | - Returns a list of Drupal distributions that are available for installation in an Acquia Cloud environment. - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Distributions" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/distributions - parent: - href: https://cloud.acquia.com/api/ - _embedded: - items: - - name: drupal7 - urls: - gz: http://www.acquia.com/path/to/archive/drupal7.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal7.zip - update_urls: - gz: http://www.acquia.com/path/to/archive/drupal7-update.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal7-update.zip - title: Acquia Drupal - version: 7.38.44-6261 - drupal_version: Drupal 7 - description: Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules. - image_url: https://www.acquia.com/path/to/img/drupal7.png - flags: - default: true - $visible: true - _links: - self: - href: https://cloud.acquia.com/api/distributions/drupal7 - - name: drupal8 - urls: - gz: http://www.acquia.com/path/to/archive/drupal8.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal8.zip - update_urls: - gz: http://www.acquia.com/path/to/archive/drupal8-update.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal8-update.zip - title: Acquia Drupal - version: 8.0.0-beta14 - drupal_version: Drupal 8 - description: Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules. - image_url: https://www.acquia.com/path/to/img/drupal8.png - flags: - default: false - $visible: false - _links: - self: - href: https://cloud.acquia.com/api/distributions/drupal8 - "/distributions/{name}": - get: - tags: - - Distributions - summary: Return details about a specific Drupal distribution. - operationId: getDistributionByName - x-cli-name: distributions:find - security: - - OAuth2: [] - description: | - A specific distribution. - parameters: - - $ref: "#/components/parameters/Name" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Distribution" - example: - name: drupal8 - urls: - gz: http://www.acquia.com/path/to/archive/drupal8.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal8.zip - update_urls: - gz: http://www.acquia.com/path/to/archive/drupal8-update.tar.gz - zip: http://www.acquia.com/path/to/archive/drupal8-update.zip - title: Acquia Drupal - version: 8.0.0-beta14 - drupal_version: Drupal 8 - description: Acquia Drupal makes building your Drupal website easier by including both the current Drupal core along with a collection of essential modules. - image_url: https://www.acquia.com/path/to/img/drupal8.png - flags: - default: false - $visible: true - _links: - self: - href: https://cloud.acquia.com/api/distributions/drupal8 - gz: - href: http://www.acquia.com/path/to/archive/drupal8.tar.gz - zip: - href: http://www.acquia.com/path/to/archive/drupal8.zip - update_gz: - href: http://www.acquia.com/path/to/archive/drupal8-update.tar.gz - update_zip: - href: http://www.acquia.com/path/to/archive/drupal8-update.zip - parent: - href: https://cloud.acquia.com/api/distributions - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The distribution you are trying to access does not exist. - "/applications/{applicationUuid}/environments": - get: - tags: - - Applications - summary: Returns a list of environments within this application by its UUID. - description: Returns a list of environments within this application. - operationId: getApplicationEnvironments - x-cli-name: applications:environment-list - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Environments" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments - sort: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/environments{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - label: Dev - name: dev - application: - name: Sample Drupal application - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - domains: - - sitedev.hosted.acquia-sites.com - - example.com - active_domain: example.com - default_domain: sitedev.hosted.acquia-sites.com - image_url: null - ssh_url: site.dev@sitedev.ssh.hosted.acquia-sites.com - ips: - - 10.0.1.5 - region: us-east-1 - balancer: balancers - platform: cloud - status: normal - type: drupal - size: medium - weight: 0 - vcs: - type: git - path: master - url: site@svn-3.hosted.acquia-sites.com:site.git - flags: - cde: false - cdn: false - email: false - hsd: false - livedev: false - migration: false - multicert: false - multi_region: false - production: false - production_mode: false - remote_admin: false - varnish: true - varnish_over_ssl: false - configuration: - operating_system: precise - php: - version: "8.1" - memory_limit: 128 - opcache: 96 - apcu: 32 - interned_strings_buffer: 16 - max_execution_time: 300 - max_post_size: 256 - max_input_vars: 1000 - memcached_limit: 64 - artifact: null - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - - id: 15-a47ac10b-58cc-4372-a567-0e02b2c3d470 - label: Production - name: prod - application: - name: Sample SiteFactory application - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - domains: - - siteprod.hosted.acquia-sites.com - - example.com - gardener: - site-update: prod.example.com/admin/gardens/site-update - multi-site: prod.example.com/admin/gardens/staging - active_domain: example.com - default_domain: siteprod.hosted.acquia-sites.com - image_url: null - ssh_url: site.prod@siteprod.ssh.hosted.acquia-sites.com - ips: - - 10.0.1.1 - - 10.0.1.2 - region: us-east-1 - balancer: balancers - platform: cloud - status: normal - type: drupal - size: medium - weight: 0 - vcs: - type: git - path: tags/01-01-2015 - url: site@svn-3.hosted.acquia-sites.com:site.git - flags: - cde: false - cdn: false - email: false - hsd: false - livedev: false - migration: false - multicert: false - multi_region: false - production: true - production_mode: true - remote_admin: false - varnish: true - varnish_over_ssl: false - configuration: null - artifact: null - _links: - self: - href: https://cloud.acquia.com/api/environments/15-a47ac10b-58cc-4372-a567-0e02b2c3d470 - - id: 32-a47ac10b-58cc-4372-a567-0e02b2c3d470 - label: Stage - name: test - application: - name: Sample Node application - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - domains: - - sitetest.hosted.acquia-sites.com - - test.example.com - active_domain: test.example.com - default_domain: sitetest.hosted.acquia-sites.com - image_url: null - ssh_url: site.test@sitetest.ssh.hosted.acquia-sites.com - ips: [] - region: us-east-1 - balancer: balancers - platform: cloud - status: normal - type: node - size: medium - weight: 20 - vcs: - type: git - path: null - url: qa10@svn-3.networkdev.ahserversdev.com:qa10.git - flags: - cde: false - cdn: false - email: false - hsd: false - livedev: false - migration: false - multicert: false - multi_region: false - production: false - production_mode: false - remote_admin: false - varnish: true - varnish_over_ssl: false - configuration: - operating_system: precise - node: - version: 6.11.1 - artifact: - id: 1 - name: Example artifact - _links: - self: - href: https://cloud.acquia.com/api/environments/32-a47ac10b-58cc-4372-a567-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: No environments exist on non-hosted applications. - post: - tags: - - Applications - summary: Add a new continuous delivery environment to an application by the application UUID. - description: Add a new continuous delivery environment. - operationId: postApplicationEnvironments - x-cli-name: applications:environment-create - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - label - - branch - - databases - properties: - label: - type: string - description: The new environment label. - branch: - type: string - description: The name of the branch or tag that the continuous delivery environment will have. - databases: - type: array - description: An array containing the names of the databases to add to the continuous delivery environment. - items: - type: string - example: - label: CD label - branch: my-feature-branch - databases: - - database1 - - database2 - application/x-www-form-urlencoded: - schema: - type: object - required: - - label - - branch - - databases - properties: - label: - type: string - description: The new environment label. - branch: - type: string - description: The name of the branch or tag that the continuous delivery environment will have. - databases: - type: string - description: The names of the databases to add to the continuous delivery environment. - example: - label: CD label - branch: my-feature-branch - databases: database1 - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Adding environment: - value: - message: Adding an environment. - _links: - self: - href: https://cloud.acquia.com/api/applications/896f142a-2c14-45ff-9b1f-41bcb2b5de8d/environments - notification: - href: https://cloud.acquia.com/api/notifications/23d9184d-40b8-4f21-a3d5-416aef9bcd39 - parent: - href: https://cloud.acquia.com/api/applications/896f142a-2c14-45ff-9b1f-41bcb2b5de8d/environments - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Application is not hosted by Acquia: - value: - error: validation_failed - message: - general: Environments can only be added on Acquia-hosted applications. - Label already exists: - value: - error: validation_failed - message: - label: Another environment within this application already has this label. - Application does not support CD environments: - value: - error: validation_failed - message: - general: This application does not support CD environments. - Application is at capacity: - value: - error: validation_failed - message: - general: This application already has the maximum number of CD environments. - Databases do not exist: - value: - error: validation_failed - message: - general: One or more of the databases you have specified do not exist in this application. - Too many databases provided: - value: - error: validation_failed - message: - general: Please specify 3 or fewer databases to provision on your environment. - Too many databases exist: - value: - error: validation_failed - message: - general: You cannot provision more than 3 databases on your new environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to add an environment. - Application does not support CD environments: - value: - error: forbidden - message: CD environments are not available for this application. - Application is not hosted by Acquia: - value: - error: forbidden - message: CD environments cannot be added to non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/applications/{applicationUuid}/features": - get: - tags: - - Applications - summary: Return application features. - operationId: getApplicationFeatures - x-cli-name: applications:feature-list - security: - - OAuth2: [] - description: | - Returns a list of feature flags for this application. - parameters: - - $ref: "#/components/parameters/ApplicationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApplicationFeatures" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470/features - parent: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - name: feature-name - label: Some feature. - description: Allows access to Some feature. - - name: example-feature - label: Example feature. - description: Allows access to Example feature. - "/environments/{environmentId}": - get: - tags: - - Environments - summary: Return details about a specific environment. - description: | - Return details about a specific environment. - - To find your environment ID via API: - - 1. Make a request to GET `/api/applications/[uuid]/environments`. - 2. Find the entry that matches your environment. If you don't know the application UUID, first make a request to GET `/api/applications`. - - To find your environment ID via cloud.acquia.com: - - 1. Open [https://cloud.acquia.com](https://cloud.acquia.com). - 2. Navigate to your application. - 3. Navigate to the environment. - 4. See the environment ID in the browser URL. - For example, in this URL `https://cloud.acquia.com/app/develop/applications/53785bca-1946-4adc-a022-e50d24686c20/environments/289576-53785bca-1946-4adc-a022-e50d24686c20`, the environment id is `289576-53785bca-1946-4adc-a022-e50d24686c20`. - operationId: getEnvironment - x-cli-name: environments:find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Environment" - example: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - label: Dev - name: dev - application: - name: Sample application - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - domains: - - sitedev.hosted.acquia-sites.com - - example.com - active_domain: example.com - default_domain: sitedev.hosted.acquia-sites.com - image_url: null - ssh_url: site.dev@sitedev.ssh.hosted.acquia-sites.com - ips: - - 10.0.1.5 - region: us-east-1 - balancer: balancers - platform: cloud - status: normal - type: drupal - size: medium - weight: 0 - vcs: - type: git - path: master - url: site@svn-3.hosted.acquia-sites.com:site.git - flags: - cde: false - cdn: false - cloud-actions: false - eips: false - email: false - hsd: false - livedev: false - migration: false - multicert: false - multi_region: false - production: false - production_mode: false - remote_admin: false - varnish: true - varnish_over_ssl: false - configuration: - operating_system: precise - php: - version: "8.1" - memory_limit: 128 - opcache: 96 - apcu: 64 - interned_strings_buffer: 16 - max_execution_time: 300 - max_post_size: 256 - max_input_vars: 1000 - memcached_limit: 64 - gardener: - site-update: example.com/admin/gardens/site-update - multi-site: example.com/admin/gardens/staging - artifact: null - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - parent: - href: https://cloud.acquia.com/api/environments - available-runtimes: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/available-runtimes - cdn: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cdn - cloud-actions: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cloud-actions - crons: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons - databases: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - dns: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/dns - domains: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains - eips: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/eips - logs: - href: https://cloud.acquia.com/api/environments/8-185f07c7-9c4f-407b-8968-67892ebcb38a/logs - metrics: - href: https://cloud.acquia.com/api/environments/8-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics - search: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/search - servers: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers - ssl: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/ssl - variables: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/variables - _embedded: - application: - name: Sample application - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Environments - summary: Modifies configuration settings for an environment. - description: Modifies configuration settings for an environment. Note that some settings cannot be configured for certain subscriptions. - operationId: putEnvironment - x-cli-name: environments:update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentConfigurations" - example: - version: "8.1" - max_execution_time: 10 - memory_limit: 192 - apcu: 32 - max_input_vars: 1000 - max_post_size: 256 - memcached_limit: 128 - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/EnvironmentConfigurations" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D/put/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The environment configuration is being updated. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93 - notification: - href: https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - No changes requested: - value: - error: forbidden - message: - system: No environment configuration changes are specified. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to delete this environment. - Cannot delete CD environments on non-hosted applications: - value: - error: forbidden - message: CD environments cannot be deleted on non-hosted applications. - Cannot delete environments on Node.js applications: - value: - error: forbidden - message: Environments cannot be deleted on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Environments - summary: Deletes a CD environment. - description: Deletes a CD environment. - operationId: deleteEnvironment - x-cli-name: environments:delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: The environment is being deleted. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1 - notification: - href: https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to delete this environment. - Cannot delete CD environments on non-hosted applications: - value: - error: forbidden - message: CD environments cannot be deleted on non-hosted applications. - Cannot delete environments for managed applications: - value: - error: forbidden - message: Environments cannot be deleted for Service Management-enabled applications. - Cannot delete environments on Node.js applications: - value: - error: forbidden - message: Environments cannot be deleted on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Environment Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/actions/clear-caches": - post: - tags: - - Environments - summary: Clears the caches for one or more domains attached to this environment. - description: Clear caches for Varnish and Platform CDN (if Platform CDN is enabled). - operationId: postEnvironmentsClearCaches - x-cli-name: environments:clear-caches - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - required: - - domains - properties: - domains: - type: array - description: A list of domains to clear the caches for. - items: - type: string - format: hostname - example: - domains: - - domain1.example.com - - domain2.example.com - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Clearing cache: - value: - message: Caches are being cleared. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/actions/clear-caches - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to clear caches on this environment. - Can only be cleared on hosting applications: - value: - error: forbidden - message: Caches cannot be cleared on non-hosted applications. - Cannot be cleared for Node.js applications: - value: - error: forbidden - message: Caches cannot be cleared on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/actions/change-label": - post: - tags: - - Environments - summary: Change the label for an environment. - deprecated: true - description: Change the label for an environment. - operationId: postChangeEnvironmentLabel - x-cli-name: environments:label-update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The new environment label. - example: - label: New Label - application/x-www-form-urlencoded: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The new environment label. - example: - label: New Label - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Changing label: - value: - message: Changing environment label. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Label already used: - value: - error: validation_failed - message: - label: Another environment within this application already has this label. - "403": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to change the label for this environment. - Labels can only be changed on hosted applications: - value: - error: forbidden - message: Environment labels cannot be changed on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/actions/migrate": - post: - tags: - - Environments - - Migrate Accelerator - summary: Create a Migrate Environment using the provided environment as its source. - deprecated: false - description: Create a Migrate Environment using the provided environment as its source. - operationId: postMigrateEnvironment - x-cli-name: environments:migrate - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The Migrate Environment label. - config: - type: boolean - description: Indicates whether or not to copy configurations. - example: - label: Migrate Environment - config: true - application/x-www-form-urlencoded: - schema: - type: object - required: - - label - properties: - label: - type: string - description: The Migrate Environment label. - config: - type: boolean - description: Indicates whether or not to copy configurations. - example: - label: Migrate Environment - config: true - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Creating Migrate Environment: - value: - message: The Migrate Environment is being created. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/migrate - parent: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9 - notification: - href: https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Not available: - value: - error: validation_failed - message: - general: Acquia Migrate Accelerator is not available for this subscription. - Unavailable: - value: - error: validation_failed - message: - general: This application cannot be migrated at this time. Please try again later or contact support. - Another migrate environment exists: - value: - error: validation_failed - message: - general: The application can only have one Migrate Environment. - Environment cannot be migrated: - value: - error: validation_failed - message: - general: Source environment cannot be used for the Migrate Environment. - Label already used: - value: - error: validation_failed - message: - label: Another environment within this application already has this label. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have sufficient permission to manage the Migrate Environment on this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The Migrate Environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/actions/promote": - post: - tags: - - Environments - - Migrate Accelerator - summary: Promote a Migrate Environment. - deprecated: false - description: Promote a Migrate Environment. - operationId: postPromoteEnvironment - x-cli-name: environments:promote - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - target - properties: - target: - type: string - description: The UUID of the environment to promote to. - example: - target: 6a534a67-2d89-406d-95c8-efb515342983 - application/x-www-form-urlencoded: - schema: - type: object - required: - - target - properties: - target: - type: string - description: The UUID of the environment to promote to. - example: - target: 6a534a67-2d89-406d-95c8-efb515342983 - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Promoting Migrate Environment: - value: - message: The Migrate Environment is being promoted. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/promote - parent: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9 - notification: - href: https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Not available: - value: - error: validation_failed - message: - general: Acquia Migrate Accelerator is not available for this subscription. - Unavailable: - value: - error: validation_failed - message: - general: This application cannot be migrated at this time. Please try again later or contact support. - Not a Migrate Environment: - value: - error: validation_failed - message: - general: The environment is not a Migrate Environment. - Invalid target environment: - value: - error: validation_failed - message: - label: The environment is not a valid target for promotion. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot manage Migrate Environment: - value: - error: forbidden - message: You do not have sufficient permission to manage migrate on this application. - Insufficient permissions: - value: - error: forbidden - message: You do not have sufficient permission to promote to the target environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Migrate Environment not found: - value: - error: not_found - message: The Migrate Environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/actions/refresh": - post: - tags: - - Environments - - Migrate Accelerator - summary: Refreshes a Migrate Environment. - deprecated: false - description: Refreshes a Migrate Environment. - operationId: postRefreshEnvironment - x-cli-name: environments:refresh - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Refreshing Migrate Environment: - value: - message: The Migrate Environment is being refreshed. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9/actions/refresh - parent: - href: https://cloud.acquia.com/api/environments/123-fa83c358-42bb-44d3-8e22-d046168af6d9 - notification: - href: https://cloud.acquia.com/api/notifications/d4315515-9c1a-4153-9e88-0b681d5c76b2 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Not available: - value: - error: validation_failed - message: - general: Acquia Migrate Accelerator is not available for this subscription. - Unavailable: - value: - error: validation_failed - message: - general: This application cannot be used at this time. Please try again later or contact support. - Not a Migrate Environment: - value: - error: validation_failed - message: - general: The environment is not a Migrate Environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have sufficient permission to refresh the Migrate Environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The Migrate Environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/artifacts/actions/switch": - post: - tags: - - Environments - summary: Deploys an artifact to this environment. - description: Deploys an artifact to this environment. - operationId: postDeployArtifact - x-cli-name: environments:artifact-deploy - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - artifact_id - properties: - artifact_id: - type: string - description: The id of the artifact to deploy. - example: - artifact_id: "123" - application/x-www-form-urlencoded: - schema: - type: object - required: - - artifact_id - properties: - artifact_id: - type: string - description: The id of the artifact to deploy. - example: - artifact_id: "123" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Deploying artifact: - value: - message: Deploying artifact. - _links: - self: - href: https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/artifacts/actions/switch - notification: - href: https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5 - "400": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only ready artifacts can be deployed: - value: - error: validation_failed - message: - artifact_id: Only artifacts that are in the 'ready' state can be deployed. - "403": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to deploy an artifact to this environment. - Cannot be deployed on non-hosted applications: - value: - error: forbidden - message: Artifacts cannot be deployed on non-hosted applications. - Cannot be deployed on managed applications: - value: - error: forbidden - message: Artifacts cannot be deployed on Service Management-enabled applications. - Cannot be deployed on Node.js applications: - value: - error: forbidden - message: Artifacts can only be deployed on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: conflict - message: The artifact with ID 123 does not belong to this application and cannot be deployed. - "/environments/{environmentId}/available-runtimes": - get: - tags: - - Environments - summary: Return a list of runtimes. - description: Returns a list of available runtimes. - operationId: getAvailableRuntimes - x-cli-name: environments:runtime-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/AvailableRuntimes" - example: - runtime: php - versions: - - "7.4" - - "8.1" - _links: - self: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/available-runtimes - parent: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Available runtimes do not exist on non-hosted applications. - Not found or insufficient permissions: - value: - error: not_found - message: The available runtimes you are trying to access do not exist, or you do not have permission to access them. - "/environments/{environmentId}/cdn": - get: - tags: - - Environments - summary: Returns the CDN status for an environment. - description: Returns the CDN status for an environment. The CDN must be enabled for the status to be displayed. - operationId: getCdnByEnvironmentId - x-cli-name: environments:cdn-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Cdn" - example: - status: active - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/cdn - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - CDN not found: - value: - error: not_found - message: The CDN you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Environments - summary: Enables a CDN for an environment. - description: Enables a CDN for an environment. - operationId: postCdnByEnvironmentId - x-cli-name: environments:cdn-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Provisioning Platform CDN. - _links: - self: - href: https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4/cdn - parent: - href: https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4 - notification: - href: https://cloud.acquia.com/api/notifications/ea01b886-40bb-c028-b3de-4353e25fa462 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have sufficient permission to enable CDN for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not supported: - value: - error: conflict - message: This environment does not support Platform CDN. - Already enabled: - value: - error: conflict - message: Platform CDN is already enabled for this environment. - delete: - tags: - - Environments - summary: Disables a CDN for an environment. - description: Disables a CDN for an environment. - operationId: deleteCdnByEnvironmentId - x-cli-name: environments:cdn-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Deprovisioning Platform CDN. - _links: - self: - href: https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4/cdn - parent: - href: https://cloud.acquia.com/api/environments/8237-8675-93b8-4f45-cf515fec-e016647b53d4 - notification: - href: https://cloud.acquia.com/api/notifications/ea01b886-40bb-c028-b3de-4353e25fa462 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have sufficient permission to disable CDN for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not supported: - value: - error: conflict - message: This environment does not support Platform CDN. - Not enabled: - value: - error: conflict - message: Platform CDN is not enabled for this environment. - "/environments/{environmentId}/cloud-actions": - get: - tags: - - Environments - summary: Returns a list of Cloud Actions. - description: Returns a list of Cloud Actions on an environment. - operationId: getEnvironmentCloudActions - x-cli-name: environments:cloud-actions-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CloudActions" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27 - sort: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions{?filter} - templated: true - _embedded: - items: - - id: f668295f-cbba-472d-8b75-c76ab89e553a - label: Backup all databases - description: Backs up all environment databases - type: pre-deployment - flags: - enabled: false - default: true - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/f668295f-cbba-472d-8b75-c76ab89e553a - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - - id: fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70 - label: Turn on Drupal maintenance mode - description: Turns on maintenance mode on the Drupal site - type: pre-deployment - flags: - enabled: false - default: true - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70 - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - - id: 102590e4-382b-4726-8b3f-855d5ca4225d - label: Clear all Drupal caches - description: Clears all Drupal caches - type: pre-deployment - flags: - enabled: false - default: false - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/102590e4-382b-4726-8b3f-855d5ca4225d - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage Cloud Actions on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Cloud Actions unavailable: - value: - error: not_found - message: Cloud Actions are not available for this environment. - put: - tags: - - Environments - summary: Modifies an existing list of Cloud Actions. - description: Modifies an existing list of Cloud Actions on an environment. - operationId: putEnvironmentCloudActions - x-cli-name: environments:cloud-actions-update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PutCloudActions" - example: - cloud-actions: - fb4aa87a-8be2-42c6-bdf0-ef9d09a3de70: true - 9440be70-c042-47ae-9134-e85acbbd6edf: false - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PutCloudActions" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D~1cloud-actions/put/requestBody/content/application~1hal%2Bjson/example" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Cloud Actions have been updated. - notification: 42047305-e30c-4c7e-931f-5407ce55a9e9 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27 - notification: - href: https://cloud.acquia.com/api/notifications/42047305-e30c-4c7e-931f-5407ce55a9e9 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage Cloud Actions on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/cloud-actions/actions/disable": - post: - tags: - - Environments - summary: Disables Cloud Actions. - description: Disables Cloud Actions on an environment. - operationId: postEnvironmentCloudActionsDisable - x-cli-name: environments:cloud-actions-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Cloud Actions have been disabled. - notification: 2d49d11c-f81d-46dd-89f2-fb7f2f54335f - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27 - notification: - href: https://cloud.acquia.com/api/notifications/2d49d11c-f81d-46dd-89f2-fb7f2f54335f - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage Cloud Actions on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/cloud-actions/actions/enable": - post: - tags: - - Environments - summary: Enables Cloud Actions. - description: Enables Cloud Actions on an environment. - operationId: postEnvironmentCloudActionsEnable - x-cli-name: environments:cloud-actions-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Cloud Actions have been enabled. - notification: 003e8200-6105-48bc-80a7-6ba378ac8e91 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions/enable - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions - notification: - href: https://cloud.acquia.com/api/notifications/003e8200-6105-48bc-80a7-6ba378ac8e91 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage Cloud Actions on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/cloud-actions/actions/reset": - post: - tags: - - Environments - summary: Resets Cloud Actions. - description: Resets Cloud Actions to the default on an environment. - operationId: postEnvironmentCloudActionsReset - x-cli-name: environments:cloud-actions-reset - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Cloud Actions have been reset to the default. - notification: e5a15d33-ee5a-4af1-bfeb-4e76b3d33b4b - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions/reset - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/cloud-actions/actions - notification: - href: https://cloud.acquia.com/api/notifications/e5a15d33-ee5a-4af1-bfeb-4e76b3d33b4b - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage Cloud Actions on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/code": - post: - tags: - - Environments - summary: Deploys code to this environment. - description: Deploys code to this environment. - operationId: postEnvironmentsDeployCode - x-cli-name: environments:code-deploy - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/DeployCodeRequest" - example: - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - message: Optional commit message - cloud-actions: [] - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/DeployCodeRequest" - example: - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - message: Optional commit message - cloud-actions: [] - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Code being deployed: - value: - message: Deploying code. - _links: - self: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/code - notification: - href: https://cloud.acquia.com/api/notifications/a49eeebb-0929-444a-972c-07b94ce93ab9 - parent: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Can only be deployed to environment within same application: - value: - error: validation_failed - message: - source: Code can only be deployed from an environment within the same application. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to deploy code to this environment. - Cannot deploy code on non-hosted applications: - value: - error: forbidden - message: Code cannot be deployed on non-hosted applications. - Cannot deploy code on Node.js applications: - value: - error: forbidden - message: Code cannot be deployed on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot be deployed to itself: - value: - error: conflict - message: Code cannot be deployed from an environment to itself. - Not allowed on a Migrate environment: - value: - error: conflict - message: Code deploy is not allowed on the Migrate Environment. - "/environments/{environmentId}/code/actions/switch": - post: - tags: - - Environments - summary: Switches code on this environment to a different branch or release tag. - description: Switches code on this environment to a different branch or release tag. - operationId: postEnvironmentsSwitchCode - x-cli-name: environments:code-switch - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SwitchCodeRequest" - example: - branch: my-feature-branch - cloud-actions: [] - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/SwitchCodeRequest" - example: - branch: my-feature-branch - cloud-actions: [] - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Switching code: - value: - message: Switching code. - _links: - self: - href: https://cloud.acquia.com/api/environments/861-ddccebef-eb2f-48ce-a92f-e0a16a3a0b53/code/actions/switch - notification: - href: https://cloud.acquia.com/api/notifications/bfd9a39b-a85e-4de3-8a70-042d1c7e607a - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Branch does not exist: - value: - error: validation_failed - message: - branch: The branch or tag "my-feature-branch" does not exist within this environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to deploy code to this environment. - Cannot deploy code on non-hosted applications: - value: - error: forbidden - message: Code cannot be deployed on non-hosted applications. - Cannot deploy code on Node.js applications: - value: - error: forbidden - message: Code cannot be switched on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not allowed on a Migrate environment: - value: - error: conflict - message: Code switch is not allowed on the Migrate Environment. - "/environments/{environmentId}/code/actions/import": - post: - tags: - - Environments - summary: Imports a site to this environment. - description: Imports a site to this environment. - operationId: postEnvironmentsImportSite - x-cli-name: environments:site-import - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ImportSiteRequest" - example: - url: http://www.example.com/path/to/site.tar.gz - name: Drupal 8 - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/ImportSiteRequest" - example: - url: http://www.example.com/path/to/site.tar.gz - name: Drupal 8 - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Site is being imported: - value: - message: The site is being imported. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/code/actions/import - notification: - href: https://cloud.acquia.com/api/notifications/d82a122d-b7b8-46fc-9999-39cb824fac8d - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Invalid URL: - value: - error: validation_failed - message: - url: Invalid URL format. - Cannot be imported on application: - value: - error: validation_failed - message: - general: Sites cannot be imported on this application. - File format not supported: - value: - error: validation_failed - message: - general: The installation file is not supported. It must be a Drush make file (.make) or a Gzip-compressed tar archive (.tar.gz or .tgz). - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to deploy code to this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: conflict - message: Sites cannot be imported on this environment. - Not allowed on a Migrate environment: - value: - error: conflict - message: Site import is not allowed on the Migrate Environment. - "/environments/{environmentId}/crons": - get: - tags: - - Environments - summary: Return environment cron jobs. - operationId: getCronJobsByEnvironmentId - x-cli-name: environments:cron-job-list - security: - - OAuth2: [] - description: Returns a list of the cron jobs on an environment. - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Crons" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - id: e82b77cc-a9ed-4458-b12c-d87af1a795ad - server: - id: "18" - name: web-18 - command: /usr/local/bin/drush cc all - minute: "25" - hour: "7" - day_month: "*" - month: "*" - day_week: "*" - label: Clear drush caches - flags: - enabled: true - system: false - on_any_web: false - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/e82b77cc-a9ed-4458-b12c-d87af1a795ad - - id: 8eea655e-71be-4c71-bf5b-9c5c9a5c5b43 - server: - id: "6" - name: web-6 - command: /usr/local/bin/drush -r /var/www/html/qa3/docroot ah-db-backup dbname - minute: "12" - hour: "9" - day_month: "*" - month: "*" - day_week: "*" - label: Run backup - flags: - enabled: false - system: true - on_any_web: false - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/8eea655e-71be-4c71-bf5b-9c5c9a5c5b43 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Non-hosted application: - value: - error: not_found - message: Cron jobs do not exist on non-hosted applications. - post: - tags: - - Environments - summary: Creates a scheduled job with cron. - description: Creates a scheduled job with cron on an environment. - operationId: postEnvironmentCrons - x-cli-name: environments:cron-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PostCron" - example: - command: /usr/local/bin/drush cc all - frequency: "*/30 * * * *" - label: My New Cron - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PostCron" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D~1crons/post/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Adding cron: - value: - message: Creating a new cron. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/936a55fd-29eb-4317-bb6e-ad2a94b24589 - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons - notification: - href: https://cloud.acquia.com/api/notifications/01fde3bb-b65f-4629-b761-9072a35e8e50 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Label in use: - value: - error: validation_failed - message: - name: The label for the cron is already used by another cron. Please choose another label. - Invalid frequency: - value: - error: validation_failed - message: - frequency: The cron frequency does not appear to be valid. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to create a cron in this environment. - Node.js application: - value: - error: forbidden - message: Cron jobs are not available for Node.js applications. - Non-hosted application: - value: - error: forbidden - message: Cron jobs cannot be created on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Cron not found: - value: - error: not_found - message: The cron does not belong to this environment, and cannot be updated. - "/environments/{environmentId}/crons/{cronId}": - get: - tags: - - Environments - summary: Return details about a specific cron job. - description: Return details about a specific cron job by environment ID and cron job ID. - operationId: getCron - x-cli-name: environments:cron-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CronId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Cron" - example: - id: e82b77cc-a9ed-4458-b12c-d87af1a795ad - server: - id: "18" - name: web-18 - command: /usr/local/bin/drush cc all - minute: "25" - hour: "7" - day_month: "*" - month: "*" - day_week: "*" - label: Clear drush caches - flags: - enabled: true - system: false - on_any_web: true - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons/e82b77cc-a9ed-4458-b12c-d87af1a795ad - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/crons - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Non-hosted application: - value: - error: not_found - message: Cron jobs do not exist on non-hosted applications. - put: - tags: - - Environments - summary: Modify an existing scheduled job. - description: Modify an existing scheduled job on an environment. - operationId: putCron - x-cli-name: environments:cron-update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CronId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PutCron" - example: - command: /usr/local/bin/drush7 cc all - frequency: "*/5 * * * *" - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PutCron" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D~1crons~1%7BcronId%7D/put/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Update cron: - value: - message: Updating cron. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/2582 - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons - notification: - href: https://cloud.acquia.com/api/notifications/ba232d96-dfe7-4850-9ca7-02e01a04f58d - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to modify this cron. - Non-hosted application: - value: - error: forbidden - message: Cron jobs are not available on non-hosted applications. - Node.js applications: - value: - error: forbidden - message: Cron jobs are not available for Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Environment mismatch: - value: - error: not_found - message: The cron does not belong to this environment, and cannot be updated. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Label in use: - value: - error: conflict - message: - name: The label for the cron is already used by another cron. Please choose another label. - Invalid frequency: - value: - error: validation_failed - message: - frequency: The cron frequency does not appear to be valid. - delete: - tags: - - Environments - summary: Deletes a cron job. - description: Deletes a cron job. - operationId: postEnvironmentCronDelete - x-cli-name: environments:cron-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CronId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Deleting cron: - value: - message: Deleting cron. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1891 - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons - notification: - href: https://cloud.acquia.com/api/notifications/767cee8d-05f6-4761-a3dc-755957dfc9e6 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to delete this cron. - Non hosted application: - value: - error: forbidden - message: Cron jobs cannot be deleted on non-hosted applications. - Node.js application: - value: - error: forbidden - message: Cron jobs are not available for Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No environment or permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Environment mismatch: - value: - error: not_found - message: The cron does not belong to this environment, and cannot be removed. - "/environments/{environmentId}/crons/{cronId}/actions/enable": - post: - tags: - - Environments - summary: Enables a cron job. - description: Enables a cron job. - operationId: postEnvironmentCronEnable - x-cli-name: environments:cron-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CronId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The cron is being enabled. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1889/actions/enable - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/crons/1889/actions - notification: - href: https://cloud.acquia.com/api/notifications/ceda2e82-54b7-4181-ae97-6a3163b187b8 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to modify this cron. - Non-hosted application: - value: - error: forbidden - message: Cron jobs cannot be enabled on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No cron or permission: - value: - error: not_found - message: The cron you are trying to access does not exist, or you do not have permission to access it. - Environment mismatch: - value: - error: not_found - message: The cron does not belong to this environment, and cannot be enabled. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Action currently unavailable: - value: - error: conflict - message: The cron is already enabled. No action taken. - "/environments/{environmentId}/crons/{cronId}/actions/disable": - post: - tags: - - Environments - summary: Disables a cron job. - description: Disables a cron job. - operationId: postEnvironmentCronDisable - x-cli-name: environments:cron-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CronId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The cron is being disabled. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/crons/1234/actions/disable - parent: - href: https://cloud.acquia.com/api/environments/123-af127084-204d-430c-a2b7-3a6130269b27/crons/1234/actions - notification: - href: https://cloud.acquia.com/api/notifications/7b37b885-8ae4-454b-b8fa-ffaeff54f6a4 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to modify this cron. - Non-hosted application: - value: - error: forbidden - message: Cron jobs cannot be disabled on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No cron or permission: - value: - error: not_found - message: The cron you are trying to access does not exist, or you do not have permission to access it. - Environment mismatch: - value: - error: not_found - message: The cron does not belong to this environment, and cannot be disabled. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Action currently unavailable: - value: - error: conflict - message: The cron is already disabled. No action taken. - "/environments/{environmentId}/databases": - get: - tags: - - Environments - summary: Returns a list of databases. - description: | - Returns a list of databases. - - Filterable fields: - * `name` - * `id` - - Sortable fields: - * `name` - * `id` - operationId: getEnvironmentsDatabases - x-cli-name: environments:database-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Databases" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - sort: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - id: 14 - name: my_db - user_name: my_db_user - password: supersecretdbpassword1! - url: mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db - db_host: dbhost.example.com - ssh_host: sshhost.example.com - flags: - default: true - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14 - - id: 15 - name: my_db_stage - user_name: my_db_user - password: supersecretdbpassword1! - url: mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db_stage - db_host: dbhost.example.com - ssh_host: sshhost.example.com - flags: - default: false - environment: - id: 25-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/25-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/15 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases do not exist on Node.js applications - post: - tags: - - Environments - summary: Copies a database to this environment. - description: Copies a database to this environment. - operationId: postEnvironmentsDatabases - x-cli-name: environments:database-copy - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - name - - source - properties: - name: - type: string - description: The name of the database to copy to the selected environment. - source: - type: string - description: The ID of the environment to copy the database from. - minLength: 38 - example: - name: db_name - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - application/x-www-form-urlencoded: - schema: - type: object - required: - - name - - source - properties: - name: - type: string - description: The name of the database to copy to the selected environment. - source: - type: string - description: The ID of the environment to copy the database from. - minLength: 38 - example: - name: db_name - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Database being copied: - value: - message: The database is being copied - _links: - self: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93/databases - notification: - href: https://cloud.acquia.com/api/notifications/a49eeebb-0929-444a-972c-07b94ce93ab9 - parent: - href: https://cloud.acquia.com/api/environments/24-8fc7d3c6-2a53-11e9-b210-d663bd873d93 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Database does not exist in environment: - value: - error: validation_failed - message: - database: The database does not exist in this environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to copy this database. - Action not available on non-hosted applications: - value: - error: forbidden - message: Databases cannot be copied on non-hosted applications. - Action not available on Node.js applications: - value: - error: forbidden - message: Databases cannot be copied on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot be copied to itself: - value: - error: conflict - message: A database cannot be copied from an environment to itself. - Must belong to same application: - value: - error: conflict - message: The environments do not belong to the same application. - Cannot be copied to production: - value: - error: conflict - message: A database cannot be copied to an environment that is currently in production mode. - Not allowed on a Migrate environment: - value: - error: conflict - message: Database copying is not allowed on the Migrate Environment. - "/environments/{environmentId}/databases/{databaseName}": - get: - tags: - - Environments - summary: Return details about a specific database. - description: Return details about a specific database. - operationId: getEnvironmentsDatabase - x-cli-name: environments:database-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Database" - example: - id: 14 - name: my_db - user_name: my_db_user - password: supersecretdbpassword1! - url: mysql://my_db_user:supersecretdbpassword1!@dbhost.example.com/my_db - db_host: dbhost.example.com - ssh_host: sshhost.example.com - flags: - default: true - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14 - backups: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14/backups - php-config: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/14/php-config - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database not found: - value: - error: not_found - message: The database you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases do not exist on Node.js applications - "/environments/{environmentId}/databases/{databaseName}/php-config": - get: - tags: - - Environments - summary: Returns PHP configuration details for this database. - description: Returns PHP configuration details for this database. - operationId: getEnvironmentsDatabasePhpConfig - x-cli-name: environments:database-php-config-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/DatabasePhpConfig" - example: - drupal: |- - if (file_exists('/var/www/site-php')) { - require '/var/www/site-php/sitegroup/myenv-settings.inc'; - } - _links: - self: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/databases/mydb/php-config - parent: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/databases/mydb - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database not found: - value: - error: not_found - message: The database you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases do not exist on Node.js applications - "/environments/{environmentId}/databases/{databaseName}/backups": - get: - tags: - - Environments - summary: Returns a list of backups. - description: | - Returns a list of backups. - - Filterable fields: - * `type` - * `created` Specifies an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatted date. - - Sortable fields: - * `type` - * `created` - operationId: getEnvironmentsDatabaseBackups - x-cli-name: environments:database-backup-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - - $ref: "#/components/parameters/DeprecatedFrom" - - $ref: "#/components/parameters/DeprecatedTo" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Backups" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name - limit: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups{?filter} - templated: true - _embedded: - items: - - id: 1 - database: - id: 14 - name: db_name - type: daily - started_at: '2012-05-15T12:00:00Z' - completed_at: '2012-05-15T12:00:00Z' - flags: - deleted: false - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/1 - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - download: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/1/actions/download - - id: 2 - database: - id: 14 - name: db_name - type: daily - started_at: 2012-03-28T12:00:00Z - completed_at: 2012-03-28T12:00:01Z - flags: - deleted: false - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/2 - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - download: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/2/actions/download - - id: 3 - database: - id: 14 - name: db_name - type: daily - started_at: 2017-01-08T04:00:00Z - completed_at: 2017-01-08T04:00:01Z - flags: - deleted: false - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/3 - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - download: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/3/actions/download - - id: 4 - database: - id: 14 - name: db_name - type: daily - started_at: 2017-01-08T05:00:02Z - completed_at: 2017-01-08T05:00:03Z - flags: - deleted: false - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/4 - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases - download: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name/backups/4/actions/download - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases do not exist on Node.js applications - post: - tags: - - Environments - summary: Create a backup. - description: Create a backup. - operationId: postEnvironmentsDatabaseBackups - x-cli-name: environments:database-backup-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Creating backup: - value: - message: Creating the backup. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups/ - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - parent: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/ - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Database does not exist in environment: - value: - error: validation_failed - message: - database: The database does not exist in this environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to backup this database. - Action not available on non-hosted applications: - value: - error: forbidden - message: Database backups are not available on non-hosted applications. - Action not available on Node.js applications: - value: - error: forbidden - message: Database backups do not exist on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}": - get: - tags: - - Environments - summary: Return details about a specific backup. - description: Return details about a specific backup. - operationId: getEnvironmentsDatabaseBackup - x-cli-name: environments:database-backup-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - - $ref: "#/components/parameters/BackupId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Backup" - example: - id: 1 - database: - id: 14 - name: db_name - type: daily - started_at: '2012-05-15T12:00:00Z' - completed_at: '2012-05-15T12:00:00Z' - flags: - deleted: false - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups/1 - download: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups/1/actions/download - parent: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/database-backups - _embedded: - environment: - id: 1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Production - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470 - database: - id: 14 - name: db_name - _links: - self: - href: https://cloud.acquia.com/api/environments/1-a47ac10b-58cc-4372-a567-0e02b2c3d470/databases/db_name - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database backup not found: - value: - error: not_found - message: The database backup you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases backups do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases backups do not exist on Node.js applications - delete: - tags: - - Environments - summary: Deletes a database backup. - description: Deletes a database backup. - operationId: deleteEnvironmentsDatabaseBackup - x-cli-name: environments:database-backup-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - - $ref: "#/components/parameters/BackupId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Deleting backup: - value: - message: Deleting the database backup. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups/1 - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - parent: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/databases/my_db/backups - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Database does not exist in environment: - value: - error: validation_failed - message: - backup: The database does not exist in this environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to delete this backup. - Action not available on non-hosted applications: - value: - error: forbidden - message: Database backups are not available on non-hosted applications. - Action not available on Node.js applications: - value: - error: forbidden - message: Database backups do not exist on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database not found: - value: - error: not_found - message: The database you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}/actions/download": - get: - tags: - - Environments - summary: Downloads the database backup file. - description: Downloads the database backup file. - operationId: getEnvironmentsDatabaseDownloadBackup - x-cli-name: environments:database-backup-download - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - - $ref: "#/components/parameters/BackupId" - responses: - "200": - description: OK - content: - application/octet-stream: - schema: - $ref: "#/components/schemas/File" - application/hal+json: - schema: - $ref: "#/components/schemas/FileDownload" - example: - url: http://example.com/backup.gz - expires_at: '2020-06-16T15:15:05+00:00' - _links: - self: - href: https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/databases/sitedatabase/backups/4423492/actions/download - parent: - href: https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/databases/sitedatabase/backups/4423492/actions - notification: - href: https://cloud.acquia.com/api/notifications/8a1c8503-0dae-4b08-a917-d2f01f4971ca - text/html: - schema: - $ref: "#/components/schemas/FileDownload" - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to download this backup. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database not found: - value: - error: not_found - message: The database backup you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Databases backups do not exist on non-hosted applications. - Do not exist on Node.js applications: - value: - error: not_available - message: Databases backups do not exist on Node.js applications - "/environments/{environmentId}/databases/{databaseName}/backups/{backupId}/actions/restore": - post: - tags: - - Environments - summary: Restores this backup to the appropriate environment's database. - description: Restores this backup to the appropriate environment's database. - operationId: postEnvironmentsDatabaseRestoreBackup - x-cli-name: environments:database-backup-restore - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/DatabaseName" - - $ref: "#/components/parameters/BackupId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Restoring backup: - value: - message: Restoring the database backup. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/databases/test_database_1/backups/4189098/actions/restore - notification: - href: https://cloud.acquia.com/api/notifications/f295cd91-c3c0-422c-a1ab-e91fe972041a - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Does not belong to environment: - value: - error: validation_error - message: - backup: The database backup does not belong to this environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to restore a backup to this environment. - Action not available on non-hosted applications: - value: - error: forbidden - message: Database backups cannot be restored on non-hosted applications. - Action not available on Node.js applications: - value: - error: forbidden - message: Database backups cannot be restored on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Database not found: - value: - error: not_found - message: The database you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Database not available: - value: - error: conflict - message: The database backup has not completed yet, and cannot be restored at this time. - "/environments/{environmentId}/dns": - get: - tags: - - Environments - summary: Returns DNS configuration details for an environment. - description: Returns environment DNS configuration information for apex domain and subdomains. - operationId: getEnvironmentsDns - x-cli-name: environments:dns-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Dns" - example: - apex_domain: - - type: A - value: 192.0.2.1 - - type: AAAA - value: 2001:0db8:1729:aa03:80b5:1c65:bea:42ff - subdomains: - - type: CNAME - value: subdomain.example.com - regional_configuration: - apex_domain: - - type: A - value: 192.0.2.1 - - type: AAAA - value: 2001:0db8:1729:aa03:80b5:1c65:bea:42ff - subdomains: - - type: CNAME - value: subdomain.example.com - global_configuration: - apex_domain: - - type: A - value: 192.0.2.3 - - type: A - value: 192.0.2.4 - - type: AAAA - value: 2001:0db8:1730:aa03:80b5:1c65:bea:42ff - subdomains: - - type: CNAME - value: subdomain.example.com - _links: - self: - href: https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/dns - parent: - href: https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/domains": - get: - tags: - - Environments - summary: Returns a list of domains. - description: | - Returns a list of domains. - - Filterable fields: - * `hostname` - - Sortable fields: - * `hostname` - operationId: getEnvironmentsDomains - x-cli-name: environments:domain-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Domains" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains - parent: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - hostname: www.example.com - cdn: - status: installing - flags: - default: true - active: true - wildcard: false - environment: - id: 24-abcd1234-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/www.example.com - status: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/www.example.com/status - - hostname: other.example.com - cdn: null - flags: - default: false - active: false - wildcard: false - environment: - id: 24-abcd1234-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/other.example.com - status: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/other.example.com/status - dns: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/dns - - hostname: "*.example.com" - cdn: - status: active - flags: - default: false - active: false - wildcard: true - environment: - id: 24-abcd1234-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/domains/*.example.com - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Only available for hosted applications: - value: - error: not_found - message: Domain names do not exist on non-hosted applications. - post: - tags: - - Environments - summary: Adds a domain to the environment. - description: Adds a domain to the environment. - operationId: postEnvironmentsDomains - x-cli-name: environments:domain-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - hostname: - type: string - format: hostname - description: The domain name to add. - minLength: 3 - maxLength: 253 - example: - hostname: example.com - application/x-www-form-urlencoded: - schema: - type: object - properties: - hostname: - type: string - description: The domain name to add. - minLength: 3 - maxLength: 253 - example: - hostname: example.com - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Adding domain: - value: - message: Adding domain example.com - _links: - self: - href: https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/domains - notification: - href: https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5 - parent: - href: https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to add a domain to this environment. - Cannot be added with Acquia Cloud Free: - value: - error: forbidden - message: Domains cannot be added on Acquia Cloud Free subscriptions. - Cannot be added with Acquia Cloud Site Factory: - value: - error: forbidden - message: Domains cannot be added on Acquia Cloud Site Factory applications. - Can only be created on hosted applications: - value: - error: forbidden - message: Domains cannot be created on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot add names to application: - value: - error: forbidden - message: You cannot add domain names on this application. - Domain name already used: - value: - error: forbidden - message: The domain name cannot be used, as it already exists within this application's environments. - Error adding domain name: - value: - error: forbidden - message: This domain cannot be added to this environment. For more details, contact Acquia Support. - "/environments/{environmentId}/domains/actions/clear-varnish": - post: - tags: - - Environments - summary: Clears the Varnish cache for one or more domains attached to this environment. - deprecated: true - description: Clears the Varnish cache for one or more domains attached to this environment. - operationId: postEnvironmentsDomainsClearVarnish - x-cli-name: environments:domains-clear-varnish - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - required: - - domains - properties: - domains: - type: array - description: A list of domains to clear the Varnish cache for. - items: - type: string - format: hostname - example: - domains: - - domain1.example.com - - domain2.example.com - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Clearing cache: - value: - message: Varnish is being cleared for the selected domains. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/actions/clear-varnish - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to clear Varnish on this environment. - Can only be cleared on hosting applications: - value: - error: forbidden - message: Varnish cannot be cleared on non-hosted applications. - Cannot be cleared for Node.js applications: - value: - error: forbidden - message: Varnish cannot be cleared on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/domains/{domain}": - get: - tags: - - Environments - summary: Return details about a specific domain. - description: Return details about a specific domain. - operationId: getEnvironmentsDomain - x-cli-name: environments:domain-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Domain" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Domain" - example: - hostname: example.com - cdn: - status: active - flags: - default: false - active: true - wildcard: false - environment: - id: 24-47c9ae06-2a57-11e9-b210-d663bd873d93 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains/example.com - status: - href: https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains/example.com/status - parent: - href: https://cloud.acquia.com/api/environments/24-47c9ae06-2a57-11e9-b210-d663bd873d93/domains - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Only exist on hosted applications: - value: - error: not_found - message: Domain names do not exist on non-hosted applications. - delete: - tags: - - Environments - summary: Removes the domain from this environment. - description: Removes the domain from this environment. - operationId: deleteEnvironmentsDomain - x-cli-name: environments:domain-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Domain" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Deleting domain: - value: - message: Removing the domain example.com - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/domains/example.com - notification: - href: https://cloud.acquia.com/api/notifications/67b7f08f-2dff-4c86-a8a0-35c4196880a3 - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/domains - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to remove domains on this environment. - Cannot be removed with Acquia Cloud Site Factory: - value: - error: forbidden - message: Domains cannot be removed on Acquia Cloud Site Factory applications. - Can only be removed on hosted applications: - value: - error: forbidden - message: Domains cannot be removed on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Domain not found: - value: - error: not_found - message: The domain you are trying to delete does not exist, or you do not have permission to modify it. - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/domains/{domain}/actions/clear-varnish": - post: - tags: - - Environments - summary: Clears the Varnish cache for the specified domain. - deprecated: true - description: Clears the Varnish cache for the specified domain. - operationId: postEnvironmentsDomainClearVarnish - x-cli-name: environments:domain-clear-varnish - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Domain" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Clearing cache: - value: - message: Varnish is being cleared for domain 'example.com'. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/example.com/actions/clear-varnish - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to clear Varnish on this environment. - Can only be cleared on hosting applications: - value: - error: forbidden - message: Varnish cannot be cleared on non-hosted applications. - Cannot be cleared for Node.js applications: - value: - error: forbidden - message: Varnish cannot be cleared on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/domains/{domain}/actions/clear-caches": - post: - tags: - - Environments - summary: Clears the caches for the specified domain. - description: Clear caches for Varnish and Platform CDN (if Platform CDN is enabled). - operationId: postEnvironmentsDomainClearCaches - x-cli-name: environments:domain-clear-caches - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Domain" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Clearing cache: - value: - message: Caches are being cleared. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/domains/example.com/actions/clear-caches - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to clear caches on this environment. - Can only be cleared on hosting applications: - value: - error: forbidden - message: Caches cannot be cleared on non-hosted applications. - Cannot be cleared for Node.js applications: - value: - error: forbidden - message: Caches cannot be cleared on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/domains/{domain}/status": - get: - tags: - - Environments - summary: Returns details about the domain. - description: Returns details about the domain. - operationId: getEnvironmentsDomainStatus - x-cli-name: environments:domain-status-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Domain" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/DomainStatus" - example: - hostname: example.com - flags: - default: false - active: true - dns_resolves: true - acquia_hosted: true - ip_addresses: - - 12.23.34.45 - cnames: - - another.example.com - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains/example.com/status - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/domains/example.com - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Unable to determine status: - value: - error: not_found - message: Unable to determine status for this domain. - "/environments/{environmentId}/eips": - get: - tags: - - Environments - summary: Return a list of Web EIPs. - description: Returns a list of Web EIPs. - operationId: getEIPs - x-cli-name: environments:eips-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EIPs" - example: - total: 1 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/eips - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - id: f668295f-cbba-472d-8b75-c76ab89e553a - status: created - ipv4: 203.0.113.1 - ipv6: 0:0:0:0:0:ffff:cb00:7101 - flags: - active: true - legacy: false - deprecated: false - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/email": - get: - tags: - - Email - summary: Returns the status of Platform Email for an Environment. - description: Returns the status of Platform Email for an Environment. - operationId: getEmailStatus - x-cli-name: environments:email-status - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Email" - example: - status: active - _links: - self: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470/email - parent: - href: https://cloud.acquia.com/api/environments/24-abcd1234-58cc-4372-a567-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/email/actions/disable": - post: - tags: - - Environments - summary: Disables email for an environment. - description: Disables email for an environment. - operationId: postEnvironmentEmailDisable - x-cli-name: environments:email-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Platform Email is being disabled - _links: - self: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions/disable - parent: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to disable email for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment mismatch: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have access to it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Not a legacy entitlement: - value: - error: invalid_operation - message: Platform Email cannot be disabled for this subscription. - "/environments/{environmentId}/email/actions/enable": - post: - tags: - - Environments - summary: Enables email for an environment. - description: Enables email for an environment. - operationId: postEnvironmentEmailEnable - x-cli-name: environments:email-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Platform Email is being enabled - _links: - self: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/email/actions/enable - parent: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/actions/email - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to enable email for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have access to it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No Entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Already enabled: - value: - error: conflict - message: Platform Email is already enabled on this environment. - No Associated domains: - value: - error: conflict - message: There are no associated domains for this environment's application. - "/environments/{environmentId}/files": - post: - tags: - - Environments - summary: Copies files to this environment. - description: Copies files to this environment. - operationId: postEnvironmentsFiles - x-cli-name: environments:file-copy - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - source: - type: string - description: The ID of the environment to copy files from. - example: - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - application/x-www-form-urlencoded: - schema: - type: object - properties: - source: - type: string - description: The ID of the environment to copy files from. - example: - source: 14-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Files queued for copying: - value: - message: Copying files. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/files - notification: - href: https://cloud.acquia.com/api/notifications/d53fccec-5c1b-4ad4-b431-5cd39ad2b453 - parent: - href: https://cloud.acquia.com/api/environments/12-482e4650-1b74-44db-8d4e-e86a3b1ed908/files - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Must be within same application: - value: - error: validation_failed - message: - name: Files can only be copied from an environment within the same application. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to copy files to this environment. - Cannot be copied on non-hosted applications: - value: - error: forbidden - message: Files cannot be copied on non-hosted applications. - Cannot be copied on Node.js applications: - value: - error: forbidden - message: Files cannot be copied on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot be copied to itself: - value: - error: conflict - message: Files cannot be copied from an environment to itself. - Cannot be copied to production: - value: - error: conflict - message: Files cannot be copied to an environment that is currently in production mode. - Not allowed on a Migrate environment: - value: - error: conflict - message: File copying is not allowed on the Migrate Environment. - "/environments/{environmentId}/logs": - get: - tags: - - Environments - summary: Returns a list of log files for this environment available for download. - description: Returns a list of log files for this environment available for download. - operationId: getEnvironmentsLogs - x-cli-name: environments:log-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Logs" - example: - total: 6 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs - parent: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - _embedded: - items: - - type: apache-access - label: Apache access - flags: - available: false - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/apache-access - - type: apache-error - label: Apache error - flags: - available: false - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/apache-error - - type: drupal-request - label: Drupal request - flags: - available: false - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/drupal-request - - type: drupal-watchdog - label: Drupal watchdog - flags: - available: false - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/drupal-watchdog - - type: php-error - label: PHP error - flags: - available: false - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/php-error - - type: mysql-slow-query - label: MySQL slow query - flags: - available: true - _links: - download: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logs/mysql-slow-query - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Logs cannot be accessed on non-hosted environments. - "/environments/{environmentId}/logs/{logType}": - get: - tags: - - Environments - summary: Downloads the log file. - description: Downloads the log file. - operationId: getEnvironmentsLog - x-cli-name: environments:log-download - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogType" - responses: - "200": - description: OK - content: - application/octet-stream: - schema: - $ref: "#/components/schemas/File" - application/hal+json: - schema: - $ref: "#/components/schemas/FileDownload" - examples: - File download: - value: - url: http://appsiteenv.host.site-example.com/AH_DOWNLOAD?d=/mnt/gfs/appsiteenv/logs/log_type_log_appsiteenv_1574901901.sql&t=157492&env=fecac803549db0072661378f0f - expires_at: 2019-11-30T23:21:02+00:00 - text/html: - schema: - $ref: "#/components/schemas/FileDownload" - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to download logs for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Cannot be downloaded on non-hosted applications: - value: - error: not_found - message: Logs cannot be downloaded on non-hosted environments. - Does not exist: - value: - error: not_found - message: The file you are trying to access does not exist. - post: - tags: - - Environments - summary: Creates a log file snapshot. - description: Creates a log file snapshot. - operationId: postEnvironmentsLog - x-cli-name: environments:log-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogType" - requestBody: - required: false - content: - application/hal+json: - schema: - type: object - properties: - from: - type: string - description: An ISO-8601 formatted date retrieve results from. Date ranges are only supported on Acquia Cloud Next. - to: - type: string - description: An ISO-8601 formatted date retrieve results to. Date ranges are only supported on Acquia Cloud Next. - example: - from: '2021-01-28T22:45:21+00:00' - to: '2021-01-29T23:55:21+00:00' - responses: - "201": - description: Created - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Is being created: - value: - message: The log file is being created. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/logs/apache-access - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/logs - notification: - href: https://cloud.acquia.com/api/notifications/8b790313-8830-4810-baef-3b41b3786e9d - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid range: - value: - error: validation_failed - message: - general: Log snapshots must cover no more than 24 hours and can only be retrieved up to 30 days in the past. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to download logs for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Cannot be accessed on non-hosted applications: - value: - error: not_found - message: Logs cannot be accessed on non-hosted environments. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Date range not supported: - value: - error: conflict - message: Date ranges for log file snapshots are not supported on this environment. - Log snapshot not supported: - value: - error: conflict - message: Log snapshots are not supported on this environment. - Log type not supported: - value: - error: conflict - message: Log file snapshot for mysql-slow-query is not available on this environment. - "/environments/{environmentId}/logstream": - get: - tags: - - Environments - summary: Returns a logstream url and metadata. - description: Returns a logstream url and metadata. - operationId: getEnvironmentsLogstream - x-cli-name: environments:logstream-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Logstream" - example: - logstream: - url: wss://logstream.example.com/ah_websocket/logstream/v1 - params: - t: 1516990002 - hmac: d8b940bb5a1865e57b22734d541ed981c89f952e527b0a983d0e457437a43c23 - environment: prod - site: clouduidev:qa4 - commands: - - stream-environment - - enable - - disable - _links: - self: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851/logstream - wss: - href: wss://logstream.example.com/ah_websocket/logstream/v1 - parent: - href: https://cloud.acquia.com/api/environments/24-0c7e79ab-1c4a-424e-8446-76ae8be7e851 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Do not exist on non-hosted applications: - value: - error: not_found - message: Logs cannot be accessed on non-hosted environments. - "/environments/{environmentId}/livedev/actions/disable": - post: - tags: - - Environments - summary: Disable Live Development on this environment. - description: Disable Live Development on this environment. - deprecated: true - operationId: postEnvironmentsDisableLiveDev - x-cli-name: environments:livedev-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - discard: - type: integer - description: Indicates whether uncommitted changes should be discarded or not. - minimum: 0 - maximum: 1 - example: - discard: 1 - application/x-www-form-urlencoded: - schema: - type: object - properties: - discard: - type: integer - description: Indicates whether uncommitted changes should be discarded or not. - minimum: 0 - maximum: 1 - example: - discard: 1 - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Disabling LiveDev: - value: - message: Disabling LiveDev. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - LiveDev cannot be disabled on production: - value: - error: validation_failed - message: - livedev: LiveDev cannot be disabled on a production environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to disable LiveDev for this environment. - Only available on hosted applications: - value: - error: forbidden - message: LiveDev is not available on non-hosted applications. - LiveDev is not available on managed applications: - value: - error: forbidden - message: LiveDev is not available for Service Management-enabled applications. - LiveDev is not available on Node.js applications: - value: - error: forbidden - message: LiveDev is not available on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - LiveDev already disabled: - value: - error: validation_failed - message: LiveDev is already disabled on this environment. - Cannot be enabled or disabled on production: - value: - error: validation_failed - message: LiveDev cannot be disabled or enabled on a production environment. - "/environments/{environmentId}/livedev/actions/enable": - post: - tags: - - Environments - summary: Enable Live Development on this environment. - description: Enable Live Development on this environment. Not supported on Acquia Cloud Next. - deprecated: true - operationId: postEnvironmentsEnableLiveDev - x-cli-name: environments:livedev-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Enabling LiveDev: - value: - message: Enabling LiveDev. - _links: - self: - href: https://cloud.acquia.com/api/environments/642-99d416c4-88b5-48c0-ae8e-4719007d7b8d/livedev/actions/enable - notification: - href: https://cloud.acquia.com/api/notifications/737a97a4-4c02-47e4-9924-d008de1aa7e5 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Cannot be enabled on production: - value: - error: validation_failed - message: - livedev: LiveDev cannot be enabled on a production environment. - Cannot be enabled on CDE: - value: - error: validation_failed - message: - livedev: LiveDev cannot be enabled on a CD environment. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to enable LiveDev for this environment. - Only available on hosted applications: - value: - error: forbidden - message: LiveDev cannot be enabled on non-hosted applications. - Cannot cannot be enabled on managed applications: - value: - error: forbidden - message: LiveDev cannot be enabled for Service Management-enabled applications. - Cannot cannot be enabled on Node.js applications: - value: - error: forbidden - message: LiveDev cannot be enabled on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - LiveDev already enabled: - value: - error: validation_failed - message: LiveDev is already enabled on this environment. - LiveDev not supported: - value: - error: conflict - message: LiveDev is not available for Cloud Next environments. - "/environments/{environmentId}/log-forwarding-destinations": - get: - tags: - - Environments - summary: Returns a collection of log forwarding destinations for this environment. - description: | - Returns a collection of log forwarding destinations for this environment. - - Filterable fields: - * `label` - * `consumer` - - Sortable fields: - * `label` - operationId: getEnvironmentsLogForwardingDestinations - x-cli-name: environments:log-forwarding-destination-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/LogForwardingDestinations" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/log-forwarding-destinations - parent: - href: https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a - _embedded: - items: - - uuid: df4c5428-8d2e-453d-9edf-e412647449b1 - label: Test destination - consumer: sumologic - address: example.com:1234 - credentials: - certificate: - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - expires_at: 2018-07-16T16:15:33+00:00 - key: null - token: 204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5 - sources: - - apache-access - - apache-error - status: active - flags: - enabled: true - certificate_expiring: false - health: - code: "200" - details: Destination OK - summary: OK - environment: - id: 123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577 - name: Test - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - - uuid: df4c5428-8d2e-453d-9edf-e412647449b5 - label: Another test destination - consumer: syslog - address: 193.169.2.19:5678 - credentials: - certificate: - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - expires_at: 2018-07-16T16:15:33+00:00 - key: 1d0789d519c0b943cf38f401d30ffbdcd2e0c4cfb7c32ebc0c872bce62aadd4d - token: 204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5 - sources: - - drupal-request - - drupal-watchdog - status: active - flags: - enabled: false - certificate_expiring: true - health: - code: "200" - details: Destination OK - summary: OK - environment: - id: 123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577 - name: Test - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b5 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view the log forwarding destinations for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Environments - summary: Creates a log forwarding destination. - description: Creates a log forwarding destination. - operationId: postEnvironmentsLogForwardingDestinations - x-cli-name: environments:log-forwarding-destination-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - label - - sources - - consumer - - credentials - properties: - label: - type: string - description: The human-friendly identifier of the destination. - sources: - type: array - description: The list of log sources to forward. - items: - type: string - enum: - - apache-access - - apache-error - - varnish-access - - drupal-request - - drupal-watchdog - - php-error - - stdout - - stderr - consumer: - type: string - description: The application or provider consuming the logs. - enum: - - loggly - - splunk - - sumologic - - syslog - credentials: - type: object - description: Credential information. - required: - - certificate - properties: - certificate: - type: string - description: A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly. - key: - type: string - description: A certificate private key associated with the consumer. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly - token: - type: string - description: An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk. - address: - type: string - format: uri - description: The URL or host name and port of the destination. - example: - label: Test destination - sources: - - apache-access - - apache-error - consumer: syslog - credentials: - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - address: example.com:1234 - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Log forwarding destination for the environment has been created. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/log-forwarding-destinations/95739829-0093-4673-9ee0-5f5bdac04d11 - parent: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/log-forwarding-destinations - notification: - href: https://cloud.acquia.com/api/notifications/bc17cfd2-487b-4e10-b3cf-9fe1f0c10e3f - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Log Forwarding not enabled: - value: - error: validation_failed - message: - general: Destinations can only be added to environments that have log forwarding enabled. - At Log Forwarding destination maximum: - value: - error: validation_failed - message: - general: Environments may only have 2 log forwarding destinations. - Source not supported: - value: - error: validation_failed - message: - sources: \"invalid-source\" is not a supported source. - Consumer not supported: - value: - error: validation_failed - message: - consumer: \"invalid-consumer\" is not a supported consumer. - Certificate invalid: - value: - error: validation_failed - message: - credentials: The certificate is invalid. - Certificate not yet active: - value: - error: validation_failed - message: - credentials: The certificate is not yet active. - Certificate expired: - value: - error: validation_failed - message: - credentials: The certificate is expired. - Certificate expiring: - value: - error: validation_failed - message: - credentials: The certificate is expiring. Certificates must be valid for at least 30 days. - Loggly does not support certificate auth: - value: - error: validation_failed - message: - credentials: Loggly does not support certificate authentication. - Loggly requires API token: - value: - error: validation_failed - message: - credentials: An API token is required for Loggly. - Splunk requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Splunk. - Splunk does not support token auth: - value: - error: validation_failed - message: - credentials: Splunk does not support API token authentication. - Sumologic requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Sumologic. - Sumologic requires token: - value: - error: validation_failed - message: - credentials: An API token is required for Sumologic. - Syslog requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Syslog. - Loggly does not support private key auth: - value: - error: validation_failed - message: - credentials: Loggly does not support private key authentication. - Address invalid: - value: - error: validation_failed - message: - address: \"invalid-address\" is not a valid address. - Loggly does not support custom URLs: - value: - error: validation_failed - message: - address: Loggly does not support custom URLs. - Splunk only accepts socket addresses: - value: - error: validation_failed - message: - address: Splunk only accepts socket addresses, consisting of a host and port. - Sumologic only accepts socket addresses: - value: - error: validation_failed - message: - address: Sumologic only accepts socket addresses, consisting of a host and port. - Syslog only accepts socket addresses: - value: - error: validation_failed - message: - address: Syslog only accepts socket addresses, consisting of a host and port. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to create a log forwarding destinations for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}": - get: - tags: - - Environments - summary: Returns the specified log forwarding destination. - description: Returns the specified log forwarding destination. - operationId: getEnvironmentsLogForwardingDestination - x-cli-name: environments:log-forwarding-destination-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogForwardingDestinationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/LogForwardingDestination" - example: - uuid: df4c5428-8d2e-453d-9edf-e412647449b1 - label: Test destination - address: example.com:1234 - consumer: syslog - credentials: - certificate: - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - expires_at: 2018-07-16T16:15:33+00:00 - key: 1d0789d519c0b943cf38f401d30ffbdcd2e0c4cfb7c32ebc0c872bce62aadd4d - token: 204d892b449026f6e4ded264c8891c400df8fc8905f07beb5f70d706f6d4d5e5 - sources: - - apache-access - - apache-error - status: active - flags: - enabled: true - certificate_expiring: false - health: - code: "200" - details: Destination OK - summary: OK - environment: - id: 123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577 - name: Test - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view the log forwarding destination. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Log Forwarding destination not found: - value: - error: not_found - message: The log forwarding destination you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Environments - summary: Updates an environment's log forwarding destination. - description: Updates an environment's log forwarding destination. - operationId: putEnvironmentsLogForwardingDestination - x-cli-name: environments:log-forwarding-destination-update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogForwardingDestinationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - consumer - properties: - label: - type: string - description: The human-friendly identifier of the destination. - sources: - type: array - description: The list of log sources to forward. - items: - type: string - enum: - - apache-access - - apache-error - - varnish-access - - drupal-request - - drupal-watchdog - - php-error - - stdout - - stderr - consumer: - type: string - description: The application or provider consuming the logs. - enum: - - loggly - - splunk - - sumologic - - syslog - credentials: - type: object - description: Credential information. - required: - - certificate - properties: - certificate: - type: string - description: A public X.509 certificate in PEM format. Required for Splunk, Sumologic, and Syslog. Not supported by Loggly. - key: - type: string - description: A certificate private key associated with the consumer. Optional for Splunk, Sumologic, and Syslog. Not supported by Loggly - token: - type: string - description: An API token associated with the consumer. Required by Logly and Sumologic. Optional for Syslog. Not supported by Splunk. - address: - type: string - format: uri - description: The URL or host name and port of the destination. - example: - label: Test destination - sources: - - apache-access - - apache-error - consumer: syslog - credentials: - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - address: example.com:1234 - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Log forwarding destination has been updated. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/cf4c5328-8d2e-353d-9edf-e412647349b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - notification: - href: https://cloud.acquia.com/api/notifications/340bf831-5377-49b9-7b26-87014b653346 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Log Forwarding not enabled: - value: - error: validation_failed - message: - general: Destinations can only be modified to environments that have log forwarding enabled. - At Log Forwarding destination maximum: - value: - error: validation_failed - message: - general: Environments may only have 2 log forwarding destinations. - Source not supported: - value: - error: validation_failed - message: - sources: \"invalid-source\" is not a supported source. - Consumer not supported: - value: - error: validation_failed - message: - consumer: \"invalid-consumer\" is not a supported consumer. - Certificate invalid: - value: - error: validation_failed - message: - credentials: The certificate is invalid. - Certificate not yet active: - value: - error: validation_failed - message: - credentials: The certificate is not yet active. - Certificate expired: - value: - error: validation_failed - message: - credentials: The certificate is expired. - Certificate expiring: - value: - error: validation_failed - message: - credentials: The certificate is expiring. Certificates must be valid for at least 30 days. - Loggly does not support certificate auth: - value: - error: validation_failed - message: - credentials: Loggly does not support certificate authentication. - Loggly requires API token: - value: - error: validation_failed - message: - credentials: An API token is required for Loggly. - Splunk requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Splunk. - Splunk does not support token auth: - value: - error: validation_failed - message: - credentials: Splunk does not support API token authentication. - Sumologic requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Sumologic. - Sumologic requires token: - value: - error: validation_failed - message: - credentials: An API token is required for Sumologic. - Syslog requires public certificate: - value: - error: validation_failed - message: - credentials: A public X.509 certificate is required for Syslog. - Loggly does not support private key auth: - value: - error: validation_failed - message: - credentials: Loggly does not support private key authentication. - Address invalid: - value: - error: validation_failed - message: - address: \"invalid-address\" is not a valid address. - Loggly does not support custom URLs: - value: - error: validation_failed - message: - address: Loggly does not support custom URLs. - Splunk only accepts socket addresses: - value: - error: validation_failed - message: - address: Splunk only accepts socket addresses, consisting of a host and port. - Sumologic only accepts socket addresses: - value: - error: validation_failed - message: - address: Sumologic only accepts socket addresses, consisting of a host and port. - Syslog only accepts socket addresses: - value: - error: validation_failed - message: - address: Syslog only accepts socket addresses, consisting of a host and port. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to modify the log forwarding destination. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Log Forwarding destination not found on Environment: - value: - error: invalid_operation - message: The environment does not have a log forwarding destination with the UUID 2c15b578-d31a-48ac-ab28-a8ef4c65f02b. - delete: - tags: - - Environments - summary: Deletes the specified log forwarding destination. - description: Deletes the specified log forwarding destination. - operationId: deleteEnvironmentsLogForwardingDestination - x-cli-name: environments:log-forwarding-destination-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogForwardingDestinationUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Log forwarding destination has been deleted. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - notification: - href: https://cloud.acquia.com/api/notifications/dfe6afd7-3619-4ab7-8aef-ab26fb506b3a - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Log Forwarding not enabled: - value: - error: invalid_operation - message: - general: Destinations can only be removed from environments that have log forwarding enabled. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to delete the log forwarding destination. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Log Forwarding destination not found on Environment: - value: - error: invalid_operation - message: The environment does not have a log forwarding destination with the UUID 2c15b578-d31a-48ac-ab28-a8ef4c65f02b. - "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}/actions/disable": - post: - tags: - - Environments - summary: Disables the specified log forwarding destination. - description: Disables the specified log forwarding destination. - operationId: postEnvironmentsDisableLogForwardingDestination - x-cli-name: environments:log-forwarding-destination-disable - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogForwardingDestinationUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Log forwarding destination has been disabled. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - notification: - href: https://cloud.acquia.com/api/notifications/d1e9dde1-7a60-4f39-951f-295ee7fe343f - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Log Forwarding not enabled: - value: - error: invalid_operation - message: - general: Destinations can only be disabled on environments that have log forwarding enabled. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to disable this log forwarding destination. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Log Forwarding destination already disabled: - value: - error: invalid_operation - message: The destination is already disabled. - "/environments/{environmentId}/log-forwarding-destinations/{logForwardingDestinationUuid}/actions/enable": - post: - tags: - - Environments - summary: Enables the specified log forwarding destination. - description: Enables the specified log forwarding destination. - operationId: postEnvironmentsEnableLogForwardingDestination - x-cli-name: environments:log-forwarding-destination-enable - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/LogForwardingDestinationUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Log forwarding destination has been enabled. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations/df4c5428-8d2e-453d-9edf-e412647449b1 - parent: - href: https://cloud.acquia.com/api/environments/123-ea9060c5-1ed8-46ec-87d5-2ce2a0861577/log-forwarding-destinations - notification: - href: https://cloud.acquia.com/api/notifications/63a804eb-ad38-4f66-9644-725f0c04e87c - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Log Forwarding not enabled: - value: - error: invalid_operation - message: - general: Destinations can only be enabled on environments that have log forwarding enabled. - Certificate invalid: - value: - error: validation_failed - message: - credentials: The certificate is invalid. - Certificate not yet active: - value: - error: validation_failed - message: - credentials: The certificate is not yet active. - Certificate expired: - value: - error: validation_failed - message: - credentials: The certificate is expired. - Certificate expiring: - value: - error: validation_failed - message: - credentials: The certificate is expiring. Certificates must be valid for at least 30 days. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to enable this log forwarding destination. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Log Forwarding destination not found on Environment: - value: - error: invalid_operation - message: The destination is already enabled. - "/environments/{environmentId}/metrics": - get: - tags: - - Environments - summary: Does not return any data. Allows traversal to metrics groups endpoints. - description: Does not return any data. Allows traversal to metrics groups endpoints. - operationId: getEnvironmentsMetrics - x-cli-name: environments:metrics - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Metrics" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics - stackmetrics: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics - parent: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available on Acquia Cloud Free: - value: - error: forbidden - message: Metrics are not available to Acquia Cloud Free subscriptions. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/metrics/stackmetrics": - get: - tags: - - Environments - summary: Does not return any data. Allows traversal to StackMetrics endpoints. - description: Does not return any data. Allows traversal to StackMetrics endpoints. - operationId: getEnvironmentsStackMetrics - x-cli-name: environments:stack-metrics-data-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Metrics" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics - data: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics/stackmetrics/data - parent: - href: https://cloud.acquia.com/api/environments/18-185f07c7-9c4f-407b-8968-67892ebcb38a/metrics - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available on Acquia Cloud Free: - value: - error: forbidden - message: Metrics are not available to Acquia Cloud Free subscriptions. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/metrics/stackmetrics/data": - get: - tags: - - Environments - summary: Returns StackMetrics data for the metrics specified in the filter paramater (e.g., apache-access, web-cpu). - description: Returns StackMetrics data for the metrics specified by the filter paramater (e.g., apache-access, web-cpu). - operationId: getEnvironmentsStackMetricsData - x-cli-name: environments:stack-metrics-data-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/FilterStackMetrics" - - $ref: "#/components/parameters/FromStackMetrics" - - $ref: "#/components/parameters/ToNoDefault" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/StackMetricsData" - example: - total: 4 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/metrics/stackmetrics/data?filter=metric=db-cpu,metric=web-cpu&from=2019-06-20 - _embedded: - items: - - metric: db-cpu - datapoints: - - - "2.5395360194838" - - "1447876380" - - - "3.3012513318685" - - "1447876680" - - - "4.568567607842" - - "1447876980" - last_data_at: '2019-06-19T00:00:00+00:00' - metadata: - host: fsdb-1.prod.hosting.acquia.com - - metric: db-cpu - datapoints: - - - "22.1395360194838" - - "1447876380" - - - "23.7012513318685" - - "1447876680" - - - "24.168567607842" - - "1447876980" - last_data_at: '2019-06-19T00:00:00+00:00' - metadata: - host: fsdb-2.prod.hosting.acquia.com - - metric: web-cpu - datapoints: - - - "12.1395360194838" - - "1447876380" - - - "12.7012513318685" - - "1447876680" - - - "12.168567607842" - - "1447876980" - last_data_at: '2019-06-19T00:00:00+00:00' - metadata: - host: web-1.prod.hosting.acquia.com - - metric: web-cpu - datapoints: - - - "2.1395360194838" - - "1447876380" - - - "2.7012513318685" - - "1447876680" - - - "2.168567607842" - - "1447876980" - last_data_at: '2019-06-19T00:00:00+00:00' - metadata: - host: web-2.prod.hosting.acquia.com - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available on Acquia Cloud Free: - value: - error: forbidden - message: Metrics are not available to Acquia Cloud Free subscriptions. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/metrics/usage": - get: - tags: - - Environments - summary: Retrieves traversal links for an environment's usage data. - description: Retrieves traversal links for an environment's usage data. - operationId: getEnvironmentsUsageLinks - x-cli-name: environments:usage-links - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Usage" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics - data: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data - views: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - visits: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/metrics/usage/data": - get: - tags: - - Environments - summary: Retrieves usage data for an environment. - description: | - Filterable fields: - * `metric` - One of: {`views`, `visits`} - operationId: getEnvironmentsUsageData - x-cli-name: environments:usage-data - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentUsageMetrics" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - filter: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/data{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/metrics/usage/{usageMetric}": - get: - tags: - - Environments - summary: Retrieves usage metric data for an environment. - description: Retrieves usage metric data for an environment. - operationId: getEnvironmentsUsageMetricData - x-cli-name: environments:usage-metric-data - parameters: - - $ref: "#/components/parameters/UsageMetric" - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentUsageMetric" - example: - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/environments/123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view pricing metric data. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Data not found: - value: - error: not_found - message: Pricing metric data for the environment with ID @id cannot be found, or you do not have access to it. - "/environments/{environmentId}/mod-proxy": - get: - tags: - - Environments - summary: Returns the mod proxy status for an Environment. - description: Returns the mod proxy status for an Environment. - operationId: getModProxyStatus - x-cli-name: environments:mod-proxy-status - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ModProxy" - example: - status: active - _links: - self: - href: https://cloud.acquia.com/api/environments/24-eba23ecc-aa7c-41b0-8aa4-9d7ef250357d/mod-proxy - parent: - href: https://cloud.acquia.com/api/environments/24-eba23ecc-aa7c-41b0-8aa4-9d7ef250357d - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Not available - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: conflict - message: Mod proxy configuration is not available for this environment. - "/environments/{environmentId}/mod-proxy/actions/disable": - post: - tags: - - Environments - summary: Disables mod proxy for an environment. - description: Disables mod proxy for an environment. - operationId: postDisableModProxy - x-cli-name: environments:mod-proxy-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/12-5ee5d7be-ec42-4ea3-9d98-1363dcfacfd23/mod-proxy/actions/disable - message: Mod proxy is being disabled. - "403": - description: Forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to disable mod proxy for this environment. - "404": - description: Not Found - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Not available - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: conflict - message: Mod proxy configuration is not available for this environment. - "/environments/{environmentId}/mod-proxy/actions/enable": - post: - tags: - - Environments - summary: Enables mod proxy for an environment. - description: Enables mod proxy for an environment. - operationId: postEnableModProxy - x-cli-name: environments:mod-proxy-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/12-5ee5d7be-ec42-4ea3-9d98-1363dcfacfd23/mod-proxy/actions/enable - message: Mod proxy is being enabled. - "403": - description: Forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to enable mod proxy for this environment. - "404": - description: Not Found - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Not available - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: conflict - message: Mod proxy configuration is not available for this environment. - "/environments/{environmentId}/production-mode/actions/disable": - post: - tags: - - Environments - summary: Disables production mode for an environment. - description: Removes protection from a production environment, taking it out of production mode. - operationId: postEnvironmentsDisableProductionMode - x-cli-name: environments:production-mode-disable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Production mode disabled: - value: - message: Production mode has been disabled for this environment. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only production can be unprotected: - value: - error: validation_failed - message: - productionmode: Only production environments can be unprotected. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to disable Production mode for this environment. - Only available on hosted applications: - value: - error: forbidden - message: Production mode is not available on non-hosted applications. - Cannot cannot be disabled on Node.js applications: - value: - error: forbidden - message: Production mode is not available on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not in production mode: - value: - error: conflict - message: This environment is not currently in production mode. - "/environments/{environmentId}/production-mode/actions/enable": - post: - tags: - - Environments - summary: Enables production mode for an environment. - description: Enables production mode for an environment. While production mode is enabled, files and databases cannot be copied to the production environment. - operationId: postEnvironmentsEnableProductionMode - x-cli-name: environments:production-mode-enable - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Production mode enabled: - value: - message: Production mode has been enabled for this environment. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only production can be protected: - value: - error: validation_failed - message: - productionmode: Only production environments can be protected. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to enable Production mode for this environment. - Only available on hosted applications: - value: - error: forbidden - message: Production mode is not available on non-hosted applications. - Cannot cannot be enabled on Node.js applications: - value: - error: forbidden - message: Production mode cannot be enabled on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already in production mode: - value: - error: conflict - message: This environment is already in production mode. - "/environments/{environmentId}/search": - get: - tags: - - Environments - summary: Returns a traversal endpoint for search entities for the environment. - description: Does not return any data. Allows traversal to search entity endpoints. - operationId: getEnvironmentSearchList - x-cli-name: environments:search:list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Search" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905 - indexes: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Forbidden: - value: - error: forbidden - message: You do not have permission to manage search for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/search/indexes": - get: - tags: - - Environments - summary: Returns a collection of search indexes for an environment. - description: A collection of search indexes for an environment. - operationId: getEnvironmentSearchIndexes - x-cli-name: environments:search:indexes-list - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Indexes" - example: - total: 2 - pagination: - total: 2 - limit: 0 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search - limit: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes{?filter} - templated: true - _embedded: - items: - - id: ABCDE-1234.test.example - environment_id: 123-3f6d06a9-9236-411e-9dcc-44f0003a5905 - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - database_role: example - status: active - solr_version: "7" - url: https://example.com/solr/ABCDE-1234.test.example/ - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes - _embedded: - configuration_set: - id: shared-1234567891011-121 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-0 - flags: - custom: false - status: active - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/shared-1234567891011-121 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - - id: ABCDE-1235.test.example - environment_id: 123-3f6d06a9-9236-411e-9dcc-44f0003a5905 - config_set_id: ABCD5-1234.12345ab6c7e8f90g12i1jk234l56mn78 - database_role: example - status: active - solr_version: "7" - url: https://example.com/solr/ABCDE-1235.test.example/ - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1235.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes - _embedded: - configuration_set: - id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-1 - flags: - custom: true - status: pending - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to view the search indexes on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Environments - summary: Creates a search index for an environment. - description: Creates a search index for an environment. - operationId: postEnvironmentSearchIndexes - x-cli-name: environments:search:index-create - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - database_role - properties: - config_set_id: - type: string - description: A configuration set ID to assign to the index. - database_role: - type: string - description: The database role for the search index. - example: - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - database_role: example - application/x-www-form-urlencoded: - schema: - type: object - required: - - database_role - properties: - config_set_id: - type: string - description: A configuration set ID to assign to the index. - database_role: - type: string - description: The database role for the search index. - example: - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - database_role: example - responses: - "202": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The search index for example is being created. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ - notification: - href: https://cloud.acquia.com/api/notifications/5494cbe6-fe98-4cfa-877b-05bab3be3bf8 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to create search configuration sets on this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found or not enough permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Configuration set not found or not enough permission: - value: - error: not_found - message: The configuration set you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Search not available: - value: - error: validation_failed - message: Acquia Search is not available for this subscription. - Search index already available: - value: - error: validation_failed - message: The search index is already available for this environment. - Database does not exist: - value: - error: validation_failed - message: The database does not exist in this environment. - Configuration set not available: - value: - error: validation_failed - message: The configuration set is not available for this environment. - "/environments/{environmentId}/search/indexes/{indexId}": - get: - tags: - - Environments - summary: Returns a search configuration set for an application - description: A specific search configuration set. - operationId: getEnvironmentSearchIndex - x-cli-name: environments:search:index-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/IndexId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Index" - example: - id: ABCDE-1234.test.example - environment_id: 123-3f6d06a9-9236-411e-9dcc-44f0003a5905 - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - database_role: example - status: active - health: - code: OK - summary: Search index active - details: No issues. - solr_version: "7" - url: https://example.com/solr/ABCDE-1234.test.example/ - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes - _embedded: - configuration_set: - id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - application_uuid: 3f6d06a9-9236-411e-9dcc-44f0003a5905 - label: example-1 - flags: - custom: true - status: pending - _links: - self: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets/ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - parent: - href: https://cloud.acquia.com/api/applications/3f6d06a9-9236-411e-9dcc-44f0003a5905/search/config-sets - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to view the search indexes on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No environment or not enough permissions: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - No index or not enough permissions: - value: - error: not_found - message: The search index you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Environments - summary: Updates a search index on an environment. - description: Updates a search index on an environment. - operationId: putEnvironmentSearchIndex - x-cli-name: environments:search:index-update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/IndexId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - config_set_id: - type: string - description: The configuration set ID to update to. - example: - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - application/x-www-form-urlencoded: - schema: - type: object - properties: - config_set_id: - type: string - description: The configuration set ID to update to. - example: - config_set_id: ABCDE-1234.12345ab6c7e8f90g12i1jk234l56mn78 - responses: - "202": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The search index ABCDE-1234.test.example is being updated. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ - notification: - href: https://cloud.acquia.com/api/notifications/a0733378-eee4-4c29-bc2d-dea85e17b1aa - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to make a change in a search index on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Search not available: - value: - error: conflict - message: Acquia Search is not available for this subscription. - Configuration set not available: - value: - error: conflict - message: The configuration set is not available for this environment. - delete: - tags: - - Environments - summary: Removes and deletes a specific search index from an environment - description: Removes and deletes a specific search index from an environment - operationId: deleteEnvironmentSearchIndex - x-cli-name: environments:search:index-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/IndexId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The search index has been removed from the environment. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ABCDE-1234.test.example - parent: - href: https://cloud.acquia.com/api/environments/123-3f6d06a9-9236-411e-9dcc-44f0003a5905/search/indexes/ - notification: - href: https://cloud.acquia.com/api/notifications/d64552a2-7e3e-46af-b2a0-b122aae26a7d - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to delete search indexes on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or not enough permissions: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Search index not available: - value: - error: not_found - message: The search index is not available to this environment. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: validation_failed - message: Acquia Search is not available for this subscription. - "/environments/{environmentId}/servers": - get: - tags: - - Environments - summary: Returns a list of servers. - description: | - Returns a list of servers. - - Filterable fields: - * `name` - * `region` - * `hostname` - * `ip` - * `status` - - Sortable fields: - * `name` - * `region` - * `hostname` - * `ip` - * `status` - operationId: getEnvironmentsServers - x-cli-name: environments:servers-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Servers" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - id: 6 - name: ded-6 - hostname: ded-6.servers.acquia.com - ssh_user: user.dev - ip: 10.0.0.1 - status: normal - region: us-west-1 - roles: - - web - - db - ami_type: c1.medium - operating_system: xenial - configuration: - memcache: 64 - ecu: 5 - memory: 1.7 - flags: - elastic_ip: false - active_web: true - active_bal: false - primary_db: true - web: true - database: true - balancer: false - fs: false - memcache: true - dedicated: false - self_service: false - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/6 - - id: 4 - name: bal-4 - hostname: bal-4.servers.acquia.com - ssh_user: user.dev - ip: 10.0.0.2 - status: normal - region: us-west-1 - roles: - - bal - ami_type: m1.small - operating_system: xenial - configuration: - memcache: null - ecu: 1 - memory: 1.7 - flags: - elastic_ip: false - active_web: false - active_bal: false - primary_db: true - web: false - database: false - balancer: true - fs: false - memcache: false - dedicated: true - self_service: false - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/4 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Not available on non-hosted applications: - value: - error: not_found - message: Servers are not available on non-hosted applications. - Cannot be viewed for CDEs: - value: - error: not_available - message: Servers cannot be viewed for CD environments. - Cannot be viewed for managed applications: - value: - error: not_available - message: Servers cannot be viewed for Service Management-enabled applications. - Cannot be viewed on Node.js applications: - value: - error: not_available - message: Servers cannot be viewed on Node.js applications. - "/environments/{environmentId}/servers/{serverId}": - get: - tags: - - Environments - summary: Return details about a specific server. - description: Return details about a specific server. - operationId: getEnvironmentsServer - x-cli-name: environments:server-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Server" - example: - id: 6 - name: ded-6 - hostname: ded-6.servers.acquia.com - ssh_user: user.dev - ip: 10.0.0.1 - status: normal - region: us-west-1 - roles: - - web - - db - ami_type: c1.medium - operating_system: xenial - configuration: - memcache: 64 - ecu: 5 - memory: 1.7 - flags: - elastic_ip: false - active_web: true - active_bal: false - primary_db: true - web: true - database: true - balancer: false - fs: false - memcache: true - dedicated: false - self_service: false - environment: - id: 24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: dev - _links: - self: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470/servers/6 - parent: - href: https://cloud.acquia.com/api/environments/24-a47ac10b-58cc-4372-a567-0e02b2c3d470 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Not available on non-hosted applications: - value: - error: not_found - message: Servers are not available on non-hosted applications. - Cannot be viewed for CDEs: - value: - error: not_available - message: Servers cannot be viewed for CD environments. - Cannot be viewed for managed applications: - value: - error: not_available - message: Servers cannot be viewed for Service Management-enabled applications. - Cannot be viewed on Node.js applications: - value: - error: not_available - message: Servers cannot be viewed on Node.js applications. - put: - tags: - - Environments - summary: Modifies configuration settings for a server. - description: Modifies configuration settings for a server. - operationId: putEnvironmentsServer - x-cli-name: environments:server-update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - memcache: - type: integer - description: The size (in MB) of memcache on this server. - default: 64 - minimum: 0 - example: - memcache: 128 - application/x-www-form-urlencoded: - schema: - type: object - properties: - memcache: - type: integer - description: The size (in MB) of memcache on this server. - default: 64 - minimum: 0 - example: - memcache: 128 - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Server configuration being updated: - value: - message: The server configuration is being updated. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - No options set to update: - value: - error: validation_failed - message: - general: No configuration options were set to update. No action performed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot be configured for free tier: - value: - error: forbidden - message: Configuration cannot be modified for this application. - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to configure this server. - Not available on non-hosted applications: - value: - error: not_found - message: Servers are not available on non-hosted applications. - Cannot be configured on Node.js applications: - value: - error: not_available - message: Server configuration cannot be modified on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - Cannot be configured for CDEs: - value: - error: not_available - message: Servers cannot be configured for CD environments. - Cannot be configured for managed applications: - value: - error: not_available - message: Servers cannot be configured for Service Management-enabled applications. - Server not found in application: - value: - error: not_found - message: The server with ID 42 does not exist in this application. - "/environments/{environmentId}/servers/{serverId}/actions/reboot": - post: - tags: - - Environments - summary: Reboots a server. - description: Reboots a server. This will cause all applications on this server to be unavailable while the server reboots. - operationId: postEnvironmentsServerReboot - x-cli-name: environments:server-reboot - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Server is being rebooted: - value: - message: The server is being rebooted. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only Acquia Cloud Professional can be rebooted: - value: - error: validation_failed - message: - general: Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually rebooted. - Only self-service can be rebooted: - value: - error: validation_failed - message: - general: Only self-service servers can be manually rebooted. - CDEs cannot be rebooted: - value: - error: validation_failed - message: - general: CD environments cannot be rebooted. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to reboot this server. - Not available on non-hosted applications: - value: - error: not_found - message: Rebooting a server is not available on non-hosted applications. - Not available on managed applications: - value: - error: not_available - message: Servers cannot be rebooted for Service Management-enabled applications. - Not available on Node.js applications: - value: - error: not_available - message: Servers cannot be rebooted on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Server not found: - value: - error: not_found - message: The server you are trying to access does not exist, or you do not have permission to access it. - Not available on CDEs: - value: - error: not_available - message: Servers cannot be rebooted for CD environments. - Server not found in application: - value: - error: not_found - message: The server with ID 42 does not exist in this application. - "/environments/{environmentId}/servers/{serverId}/actions/relaunch": - post: - tags: - - Environments - summary: Relaunches a server. - description: Relaunches a server. This will cause all applications on this server to be unavailable while the server relaunches. - operationId: postEnvironmentsServerRelaunch - x-cli-name: environments:server-relaunch - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Server is being relaunched: - value: - message: The server is being relaunched. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only Acquia Cloud Professional can be relaunched: - value: - error: validation_failed - message: - general: Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually relaunched. - Only self-service can be relaunched: - value: - error: validation_failed - message: - general: Only self-service servers can be manually relaunched. - CDEs cannot be relaunched: - value: - error: validation_failed - message: - general: CD environments cannot be relaunched. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to relaunch this server. - Not available on non-hosted applications: - value: - error: not_found - message: Relaunching servers is not available on non-hosted applications. - Not available on managed applications: - value: - error: not_available - message: Servers cannot be relaunched for Service Management-enabled applications. - Not available on Node.js applications: - value: - error: not_available - message: Servers cannot be relaunched on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Server not found: - value: - error: not_found - message: The server you are trying to access does not exist, or you do not have permission to access it. - Not available on CDEs: - value: - error: not_available - message: Servers cannot be relaunched for CD environments. - Server not found in application: - value: - error: not_found - message: The server with ID 42 does not exist in this application. - "/environments/{environmentId}/servers/{serverId}/actions/suspend": - post: - tags: - - Environments - summary: Suspends a server. - description: Suspends a server. The server will no longer respond to web requests. - operationId: postEnvironmentsServerSuspend - x-cli-name: environments:server-suspend - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Server is being suspended: - value: - message: The server is being suspended. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only Acquia Cloud Professional can be suspended: - value: - error: validation_failed - message: - general: Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually suspended. - Only self-service can be suspended: - value: - error: validation_failed - message: - general: Only self-service servers can be manually suspended. - CDEs cannot be suspended: - value: - error: validation_failed - message: - general: CD environments cannot be suspended. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to suspend this server. - Not available on non-hosted applications: - value: - error: not_found - message: Suspending servers is not available on non-hosted applications. - Not available on managed applications: - value: - error: not_available - message: Servers cannot be suspended for Service Management-enabled applications. - Not available on Node.js applications: - value: - error: not_available - message: Servers cannot be suspended on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Server not found: - value: - error: not_found - message: The server you are trying to access does not exist, or you do not have permission to access it. - Not available on CDEs: - value: - error: not_available - message: Servers cannot be suspended for CD environments. - Server not found in application: - value: - error: not_found - message: The server with ID 42 does not exist in this application. - "/environments/{environmentId}/servers/{serverId}/actions/upgrade": - post: - tags: - - Environments - summary: Upgrades a server from "precise" to "xenial". - description: Upgrades a server from "precise" to "xenial". - operationId: postEnvironmentsServerUpgrade - x-cli-name: environments:server-upgrade - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/ServerId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Server is being upgraded: - value: - message: The server is being upgraded. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only Acquia Cloud Professional can be upgraded: - value: - error: validation_failed - message: - general: Servers belonging to subscriptions that are not Acquia Cloud Professional cannot be manually upgraded. - Only self-service can be upgraded: - value: - error: validation_failed - message: - general: Only self-service servers can be manually upgraded. - CDEs cannot be upgraded: - value: - error: validation_failed - message: - general: CD environments cannot be upgraded. - Can only be upgraded from "precise": - value: - error: validation_failed - message: - general: Only servers running "precise" may be upgraded. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to upgrade this server. - Not available on non-hosted applications: - value: - error: not_found - message: Upgrading servers is not available on non-hosted applications. - Not available on managed applications: - value: - error: not_available - message: Servers cannot be upgraded for Service Management-enabled applications. - Not available on Node.js applications: - value: - error: not_available - message: Servers cannot be upgraded on Node.js applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Server not found: - value: - error: not_found - message: The server you are trying to access does not exist, or you do not have permission to access it. - Not available on CDEs: - value: - error: not_available - message: Servers cannot be upgraded for CD environments. - Server not found in application: - value: - error: not_found - message: The server with ID 42 does not exist in this application. - "/environments/{environmentId}/settings": - get: - tags: - - Environments - summary: Provides links to environment settings. - description: Provides links to environment settings. - operationId: getEnvironmentsSettings - x-cli-name: environments:settings - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentSettings" - example: - _links: - self: - href: https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123/settings - apm: - href: https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123/settings/apm - parent: - href: https://cloud.acquia.com/api/environments/24-12345678-abcd-4372-a567-0e02b2c3a123 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/settings/apm": - get: - tags: - - Application Performance Monitoring Services - deprecated: true - summary: Returns a list of Application Performance Monitoring services associated with the environment. - description: Returns a list of Application Performance Monitoring services associated with the environment. - operationId: getEnvironmentsApmSetting - x-cli-name: environments:apm-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Apm" - example: - type: newrelic - key: 123456789abcdef037dea2e355bc43987a123456 - name: TestApplication - flags: - enabled: true - _links: - self: - href: https://cloud.acquia.com/api/environments/6-252031e4-59f0-7914-95a5-ff83699fdcde/settings/apm - _embedded: - environment: - - _links: - self: - href: https://cloud.acquia.com/api/environments/6-252031e4-59f0-7914-95a5-ff83699fdcde - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available: - value: - error: forbidden - message: APM settings are not available for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Not available on non-hosted applications: - value: - error: not_found - message: APM settings are not available on non-hosted applications. - put: - tags: - - Application Performance Monitoring Services - deprecated: true - summary: Update configuration for an Application Performance Monitoring tool. - description: Update configuration for an Application Performance Monitoring tool. - operationId: putEnvironmentsApmSetting - x-cli-name: environments:apm-update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - status: - type: boolean - description: Whether the APM tool should be enabled or disabled. If updating an existing install, this value does not need to be provided. - type: - type: string - description: The APM tool to install. Required if installing or updating a configuration. - enum: - - newrelic - key: - type: string - description: The key for the APM tool. Required if installing or updating a configuration. This value should be available from your APM provider. - example: - type: newrelic - key: Some New Relic key - application/x-www-form-urlencoded: - schema: - type: object - properties: - status: - type: boolean - description: Whether the APM tool should be enabled or disabled. If updating an existing install, this value does not need to be provided. - type: - type: string - description: The APM tool to install. Required if installing or updating a configuration. - enum: - - newrelic - key: - type: string - description: The key for the APM tool. Required if installing or updating a configuration. This value should be available from your APM provider. - example: - type: newrelic - key: Some New Relic key - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Settings are being updated: - value: - message: APM settings are being updated for this environment. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: bad_request - message: APM names may only contain alphanumeric, dashes, dots, colons, underscores and space characters. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to adjust APM settings for this environment. - Acquia Cloud Free cannot modify: - value: - error: forbidden - message: Acquia Cloud Free accounts are not able to modify APM settings. - Not available on non-hosted applications: - value: - error: forbidden - message: APM settings are not available on non-hosted applications. - Hosted on Acquia Cloud Enterprise: - value: - error: forbidden - message: Please contact support to modify APM settings for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/ssl": - get: - tags: - - Environments - summary: Returns the SSL settings for this environment. - description: Returns the SSL settings for this environment. - operationId: getSsl - x-cli-name: environments:ssl-settings-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Ssl" - example: - balancer: - hostname: example.us-east-1.elb.amazonaws.com - ips: - - 127.0.0.1 - _links: - self: - href: https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl - certificates: - href: https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl/certificates - csrs: - href: https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2/ssl/csrs - parent: - href: https://cloud.acquia.com/api/environments/3-110075c3-126e-6b43-c2ce-30be75fb33c2 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available for free tier: - value: - error: not_found - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "/environments/{environmentId}/ssl/certificates": - get: - tags: - - Environments - summary: Return a list of SSL certificates. - description: Returns the SSL certificates that are installed on this environment. - operationId: getCertificates - x-cli-name: environments:certificate-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Certificates" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates - parent: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl - _embedded: - items: - - id: 7 - label: null - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - ca: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - flags: - active: true - csr: true - legacy: true - expires_at: '2022-03-28T00:12:34-0400' - domains: - - example.com - - www.example.com - environment: - id: 5-a1a10dab-62f4-418c-bc58-ab7742078ba8 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/7 - csr: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/7 - - id: 3 - label: Test Certificate 1 - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - ca: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - flags: - active: true - csr: false - legacy: false - expires_at: '2021-01-01T00:00:00-0400' - domains: - - example2.com - - www.example2.com - environment: - id: 5-a1a10dab-62f4-418c-bc58-ab7742078ba8 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/3 - - id: 4 - label: Test Certificate 2 - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - ca: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - flags: - active: false - csr: true - legacy: false - expires_at: '2021-01-01T00:00:00-0400' - domains: - - example3.com - - www.example3.com - environment: - id: 5-a1a10dab-62f4-418c-bc58-ab7742078ba8 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/4 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Non-hosted application: - value: - error: not_found - message: SSL Certificates are not available on non-hosted applications. - post: - tags: - - Environments - summary: Install an SSL certificate. - description: Install a new SSL certificate on this environment. - operationId: postCertificate - x-cli-name: environments:certificate-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PostCertificate" - example: - legacy: false - certificate: -----BEGIN CERTIFICATE-----abc123....-----END CERTIFICATE----- - private_key: -----BEGIN RSA PRIVATE KEY-----secret....-----END RSA PRIVATE KEY----- - ca_certificates: -----BEGIN CERTIFICATE-----123abc....-----END CERTIFICATE----- - csr_id: 123 - label: My New Cert - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PostCertificate" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D~1ssl~1certificates/post/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Site is being imported: - value: - message: Installing the certificate. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl/certificates - notification: - href: https://cloud.acquia.com/api/notifications/8fdacf25-38e4-4621-b5de-e78638fe2ceb - parent: - href: https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Cannot install: - value: - error: system - message: Unable to install a certificate on environment ID 5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4. Site certificate CA chain certificates are out of order or contain unused certificates. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - Non-hosted application: - value: - error: forbidden - message: SSL certificates cannot be managed on non-hosted applications. - No permission: - value: - error: forbidden - message: You do not have permission to manage SSL certificates on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid country code: - value: - error: validation_failed - message: - general: Invalid country code. Country codes should be alphabetic and less than 2 characters long. - Invalid domain: - value: - error: validation_failed - message: - domain: The domain invalid does not appear to be a valid domain name. - "/environments/{environmentId}/ssl/certificates/{certificateId}": - get: - tags: - - Environments - summary: Returns a specific certificate by certificate id. - description: Returns details about a specific SSL certificate. - operationId: getCertificate - x-cli-name: environments:certificate-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Certificate" - example: - id: 13 - label: Test Certificate - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - ca: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - flags: - active: true - csr: true - legacy: false - expires_at: '2022-03-28T00:12:34-0400' - domains: - - example.com - - www.example.com - environment: - id: 5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4/ssl/certificates/13 - parent: - href: https://cloud.acquia.com/api/environments/5-9d46fd9d-e58b-47a3-8e9e-e8e0c2a854b4/ssl/certificates - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Non-hosted application: - value: - error: not_found - message: SSL certificates are not available on non-hosted applications. - delete: - tags: - - Environments - summary: Deletes a specific certificate by its ID. - description: Deletes a specific certificate by its ID. - operationId: deleteCertificate - x-cli-name: environments:certificate-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Deleting the certificate. - _links: - self: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/9 - parent: - href: https://cloud.acquia.com/api/environments/286-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates - notification: - href: https://cloud.acquia.com/api/notifications/767cee8d-05f6-4761-a3dc-755957dfc9e6 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - No permission: - value: - error: forbidden - message: You do not have permission to delete SSL certificates on this environment. - Non-hosted application: - value: - error: forbidden - message: SSL certificates are not available on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No environment or permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Incorrect certificate: - value: - error: not_found - message: This certificate does not belong to the environment, and cannot be removed. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Not on Acquia Cloud Free: - value: - error: validation_failed - message: - general: The currently active certificate cannot be removed. - "/environments/{environmentId}/ssl/certificates/{certificateId}/actions/activate": - post: - tags: - - Environments - summary: Activates an SSL certificate. - description: Activates an SSL certificate. - operationId: postActivateCertificate - x-cli-name: environments:certificate-activate - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Activating the certificate. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/1/actions/activate - notification: - href: https://cloud.acquia.com/api/notifications/4ee513c7-13b4-459f-af60-ba50c4f7cb5d - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Only installable on production: - value: - error: validation_failed - message: - general: Legacy certificates may only be installed on production environments. - Cannot be installed on CD environments: - value: - error: validation_failed - message: - general: Legacy certificates cannot be installed on CD environments. - Name already exists: - value: - error: validation_failed - message: - name: A certificate with that label already exists. Please choose another label. - Legacy cannot be installed using non-legacy: - value: - error: validation_failed - message: - csr_id: A legacy certificate cannot be installed using a non-legacy certificate signing request. - Non-legacy cannot be installed using legacy: - value: - error: validation_failed - message: - csr_id: A certificate cannot be installed using a legacy certificate signing request. - Invalid private key: - value: - error: validation_failed - message: - private_key: The supplied private key is invalid. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - No permission: - value: - error: forbidden - message: You do not have permission to activate SSL certificates on this environment. - Non-hosted application: - value: - error: forbidden - message: SSL certificates cannot be activated on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or no permission: - value: - error: forbidden - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Incorrect certificate: - value: - error: forbidden - message: This certificate does not belong to the environment, and cannot be set to active. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Legacy certificate: - value: - error: validation_failed - message: - general: Legacy certificates cannot be set to active. - Already active: - value: - error: validation_failed - message: - general: This certificate is already set as active. - "/environments/{environmentId}/ssl/certificates/{certificateId}/actions/deactivate": - post: - tags: - - Environments - summary: Deactivates an active SSL certificate. - description: Deactivates an active SSL certificate. - operationId: postDeactivateCertificate - x-cli-name: environments:certificate-deactivate - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Deactivating the certificate. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-a027502b-ad6c-a48e-a7e8-aa0def7d25e1/ssl/certificates/4547/actions/deactivate - notification: - href: https://cloud.acquia.com/api/notifications/cb5de18e-5721-4c26-9f67-1a7d806dd09e - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Legacy certificate: - value: - error: validation_failed - message: - general: Legacy certificates cannot be deactivated. In order to deactivate a legacy certificate, the certificate must be removed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - No permission: - value: - error: forbidden - message: You do not have permission to deactivate SSL certificates on this environment. - Non-hosted application: - value: - error: forbidden - message: SSL certificates cannot be deactivated on non-hosted applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or no permission: - value: - error: forbidden - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Incorrect certificate: - value: - error: forbidden - message: This certificate does not belong to the environment, and cannot be deactivated. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already active: - value: - error: validation_failed - message: This certificate is already deactivated. - "/environments/{environmentId}/ssl/csrs": - get: - tags: - - Environments - summary: Returns certificate signing requests. - description: Returns the certificate signing requests for this environment. - operationId: getCertificateSigningRequests - x-cli-name: environments:csr-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CertificateSigningRequests" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/ssl/csrs - parent: - href: https://cloud.acquia.com/api/environments/5-185f07c7-9c4f-407b-8968-67892ebcb38a/ssl - _embedded: - items: - - id: 7 - csr: -----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - country: US - state: Massachusetts - locality: Boston - organization: Example Inc. - organizational_unit: IT - common_name: www.example.com - alternate_names: - - site.example.com - - other.example.com - flags: - used: true - legacy: false - environment: - id: 5-a1a10dab-62f4-418c-bc58-ab7742078ba8 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/7 - certificate: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/7 - - id: 8 - csr: -----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - country: US - state: Massachusetts - locality: Boston - organization: Example Inc. - organizational_unit: IT - common_name: www.example.com - alternate_names: [] - flags: - used: false - legacy: true - environment: - id: 5-a1a10dab-62f4-418c-bc58-ab7742078ba8 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/csrs/8 - certificate: - href: https://cloud.acquia.com/api/environments/5-a1a10dab-62f4-418c-bc58-ab7742078ba8/ssl/certificates/8 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Non-hosted application: - value: - error: not_found - message: Certificate Signing Requests are not available on non-hosted applications. - post: - tags: - - Environments - summary: Generates a certificate signing request (CSR) for one or more domains. - description: Generates a CSR for one or more domains. - operationId: postCertificateSigningRequest - x-cli-name: environments:csr-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PostCsr" - example: - country: CA - state: Ontario - locality: Toronto - organization: Acquia - organizational_unit: Networking - common_name: www.example.com - alternate_names: - - www2.example.com - - www3.example.com - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PostCsr" - example: - $ref: "#/paths/~1environments~1%7BenvironmentId%7D~1ssl~1csrs/post/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: A CSR is being generated for the selected domain. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl/csrs - parent: - href: https://cloud.acquia.com/api/environments/123-4ba86d4a-e193-4282-8963-d9d24746f444/ssl - notification: - href: https://cloud.acquia.com/api/notifications/8fdacf25-38e4-4621-b5de-e78638fe2ceb - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - Non-hosted application: - value: - error: forbidden - message: SSL certificates cannot be managed on non-hosted applications. - No permission: - value: - error: forbidden - message: You do not have permission to manage SSL certificates on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Incorrect certificate: - value: - error: forbidden - message: This certificate signing request does not belong to the environment, and cannot be used to install a certificate. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Legacy certificate: - value: - error: validation_failed - message: - general: Legacy certificates may only be installed on production environments. - CD environments: - value: - error: validation_failed - message: - general: Legacy certificates may not be installed on CD environments. - Legacy mismatch: - value: - error: validation_failed - message: - csr_id: A legacy certificate cannot be installed using a non-legacy certificate signing request. - Legacy CSR: - value: - error: validation_failed - message: - csr_id: A certificate cannot be installed using a legacy certificate signing request. - Duplicate label: - value: - error: validation_failed - message: - label: A certificate with that label already exists. Please choose another label. - Invalid format: - value: - error: validation_failed - message: - certificate: The certificate format is invalid. - Invalid public key: - value: - error: validation_failed - message: - certificate: The certificate public key is invalid. - Certificate unavailable: - value: - error: validation_failed - message: - certificate: Certificate CERTIFICATE was issued by UNKNOWN ISSUER for which no certificate is available. - Invalid private key: - value: - error: validation_failed - message: - private_key: The supplied private key is invalid. - Certificate expired: - value: - error: validation_failed - message: - certificate: The supplied certificate has expired. - Intermediate certificate expired: - value: - error: validation_failed - message: - ca_certificates: Intermediate certificate Example Certificate has expired. - "/environments/{environmentId}/ssl/csrs/{certificateId}": - get: - tags: - - Environments - summary: Returns the certificate signing request for the certificate specified by id. - description: Returns details about a specific certificate signing request. - operationId: getCertificateSigningRequest - x-cli-name: environments:csr-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CertificateSigningRequest" - example: - id: 7 - csr: -----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST----- - private_key: -----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY----- - country: US - state: Massachusetts - locality: Boston - organization: Example Inc. - organizational_unit: IT - common_name: www.example.com - alternate_names: - - site.example.com - - other.example.com - flags: - used: true - legacy: false - environment: - id: 5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5 - name: prod - _links: - self: - href: https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs/7 - certificate: - href: https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/certificates/7 - parent: - href: https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - No permission: - value: - error: forbidden - message: You do not have permission to view Certificate Signing Requests on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No environment or permission: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - No CSR or permission: - value: - error: not_found - message: The CSR you are trying to access does not exist, or you do not have permission to access it. - Non-hosted application: - value: - error: not_found - message: Certificate Signing Requests are not available on non-hosted applications. - delete: - tags: - - Environments - summary: Deletes the certificate signing request. - description: Deletes the certificate signing request for the certificate specified by id. - operationId: deleteCertificateSigningRequest - x-cli-name: environments:csr-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/CertificateId" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: Deleting the certificate signing request. - _links: - self: - href: https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs/7 - parent: - href: https://cloud.acquia.com/api/environments/5-aeb8e8a6-0eef-4a1e-8d8d-545e025b12a5/ssl/csrs - notification: - href: https://cloud.acquia.com/api/notifications/87c0f979-2f84-4b88-bc5e-8c1670fd2f01 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Not on Acquia Cloud Free: - value: - error: validation_failed - message: - general: This certificate signing request is used for a certificate, and cannot be removed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not on Acquia Cloud Free: - value: - error: forbidden - message: SSL certificates are not available to Acquia Cloud Free subscriptions. - No permission: - value: - error: forbidden - message: You do not have permission to delete Certificate Signing Requests on this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No environment or permission: - value: - error: not_found - message: The environment you are trying to administer does not exist, or you do not have permission to administer it. - Incorrect certificate signing request: - value: - error: not_found - message: This certificate signing request does not belong to the environment, and cannot be removed. - "/environments/{environmentId}/variables": - get: - tags: - - Environments - summary: Returns a list of environment variables associated with this environment. - description: | - Returns a list of environment variables associated with this environment. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getEnvironmentsVariables - x-cli-name: environments:variable-list - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentVariables" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/environment/24-569086da-2b1f-11e9-b210-d663bd873d93/variables - sort: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93 - _embedded: - items: - - name: variable_one - value: Sample Value One - _links: - self: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_one - - name: variable_two - value: Sample Value Two - _links: - self: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_two - - name: variable_three - value: Sample Value Three - _links: - self: - href: https://cloud.acquia.com/api/environments/24-569086da-2b1f-11e9-b210-d663bd873d93/variables/variable_three - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view environment variables for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Not available on managed applications: - value: - error: not_available - message: Environment variables are not available for Service Management-enabled applications. - Not available on Acquia Cloud Site Factory: - value: - error: not_available - message: Environment variables are not available for Acquia Cloud Site Factory applications. - post: - tags: - - Environments - summary: Adds a new environment variable to an environment. - description: Adds a new environment variable to an environment. - operationId: postEnvironmentsVariables - x-cli-name: environments:variable-create - parameters: - - $ref: "#/components/parameters/EnvironmentId" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - name: - type: string - description: The name of the environment variable to add. - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - value: - type: string - description: The value of the environment variable to add. - minLength: 0 - maxLength: 255 - example: - name: APP_KEY - value: aaaabbbbccccddddeee - application/x-www-form-urlencoded: - schema: - type: object - properties: - name: - type: string - description: The name of the environment variable to add. - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - value: - type: string - description: The value of the environment variable to add. - minLength: 0 - maxLength: 255 - example: - name: APP_KEY - value: aaaabbbbccccddddeee - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Variable is being added: - value: - message: The environment variable is being added. - _links: - self: - href: https://cloud.acquia.com/api/environments/123-c7056b9e-0fb7-44e9-a434-426a404211c1/variables - notification: - href: https://cloud.acquia.com/api/notifications/f3c2bdc1-60c1-48af-8777-996477f901d5 - parent: - href: https://cloud.acquia.com/api/environments/123-c7056b9e-0fb7-44e9-a434-426a404211c1 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid variable name: - value: - error: validation_failed - message: - name: The environment variable name is invalid. It must contain only letters, numbers, and underscores; it cannot start with a number, AH_, or ACQUIA_; and it must be under 256 characters long. - Invalid value: - value: - error: not_available - message: - value: "The environment variable value is invalid: it must be less than 256 characters long." - Variable name already exists: - value: - error: not_available - message: - name: The environment already has an environment variable with that name. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to create environment variables for this environment. - Not available on managed applications: - value: - error: not_available - message: Environment variables are not available for Service Management-enabled applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Not available on Acquia Cloud Site Factory: - value: - error: not_available - message: Environment variables are not available for Acquia Cloud Site Factory applications. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available: - value: - error: conflict - message: Environment variables are not available for this environment. - "/environments/{environmentId}/variables/{environmentVariableName}": - get: - tags: - - Environments - summary: Get an environment variable associated with this environment. - description: Get an environment variable associated with this environment. - operationId: getEnvironmentsVariable - x-cli-name: environments:variable-find - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/EnvironmentVariableName" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/EnvironmentVariable" - example: - name: variable_one - value: Sample Value One - _links: - self: - href: https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables/variable_one - parent: - href: https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view environment variables for this environment. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - Environment variable not found: - value: - error: not_found - message: The environment variable you are trying to access does not exist, or you do not have permission to access it. - Not available on managed applications: - value: - error: not_available - message: Environment variables are not available for Service Management-enabled applications. - Not available on Acquia Cloud Site Factory: - value: - error: not_available - message: Environment variables are not available for Acquia Cloud Site Factory applications. - delete: - tags: - - Environments - summary: Removes an environment variable from an environment. - description: Removes an environment variable from an environment. - operationId: deleteEnvironmentsVariable - x-cli-name: environments:variable-delete - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/EnvironmentVariableName" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Variable is being removed: - value: - message: The environment variable is being removed. - _links: - self: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/variables/EXAMPLE_VARIABLE_NAME - notification: - href: https://cloud.acquia.com/api/notifications/42b56cff-0b55-4bdf-a949-1fd0fca61c6c - parent: - href: https://cloud.acquia.com/api/environments/12-d314739e-296f-11e9-b210-d663bd873d93/variables - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid value: - value: - error: validation_failed - message: - name: The environment does not have an environment variable with that name. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to remove environment variables for this environment. - Environment variable not found: - value: - error: not_found - message: The environment variable you are trying to access does not exist, or you do not have permission to access it. - Not available on managed applications: - value: - error: not_available - message: Environment variables are not available for Service Management-enabled applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available: - value: - error: conflict - message: Environment variables are not available for this environment. - put: - tags: - - Environments - summary: Updates an environment variable on an environment. - description: Updates an environment variable on an environment. - operationId: putEnvironmentsVariable - x-cli-name: environments:variable-update - parameters: - - $ref: "#/components/parameters/EnvironmentId" - - $ref: "#/components/parameters/EnvironmentVariableName" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - name - - value - properties: - name: - type: string - description: The name of the environment variable to add. - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - value: - type: string - description: The value of the environment variable to add. - minLength: 0 - maxLength: 255 - example: - name: APP_KEY - value: aaaabbbbccccddddeee - application/x-www-form-urlencoded: - schema: - type: object - required: - - name - - value - properties: - name: - type: string - description: The name of the environment variable to add. - minLength: 1 - maxLength: 255 - pattern: ^(?!(ACQUIA_|AH_))[A-Za-z_][A-Za-z0-9_]*$ - value: - type: string - description: The value of the environment variable to add. - minLength: 0 - maxLength: 255 - example: - name: APP_KEY - value: aaaabbbbccccddddeee - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - Variable is being updated: - value: - message: The environment variable is being updated. - _links: - self: - href: https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables/name - notification: - href: https://cloud.acquia.com/api/notifications/37c8646c-bbe8-423a-970b-cbeb530b981d - parent: - href: https://cloud.acquia.com/api/environments/24-734b7960-2b1f-11e9-b210-d663bd873d93/variables - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid value: - value: - error: validation_failed - message: - value: "The environment variable value is invalid: it must be less than 5000 characters long." - Variable name already exists: - value: - error: validation_failed - message: - name: The environment already has an environment variable with that name. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to modify environment variables for this environment. - Environment variable not found: - value: - error: not_found - message: The environment variable you are trying to access does not exist, or you do not have permission to access it. - Not available on managed applications: - value: - error: not_available - message: Environment variables are not available for Service Management-enabled applications. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Environment not found: - value: - error: not_found - message: The environment you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not available: - value: - error: conflict - message: Environment variables are not available for this environment. - "/ides/{ideUuid}": - get: - tags: - - Cloud IDE - summary: Returns Cloud IDE info. - description: Returns Cloud IDE info. - operationId: getIde - x-cli-name: ide:find - parameters: - - $ref: "#/components/parameters/IdeUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Ide" - example: - uuid: 215824ff-272a-4a8c-9027-df32ed1d68a9 - label: Example IDE - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/215824ff-272a-4a8c-9027-df32ed1d68a9 - parent: - href: https://cloud.acquia.com/api/ides - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - web: - href: https://ide-215824ff-272a-4a8c-9027-df32ed1d68a9.prod.acquia-sites.com - ide: - href: https://215824ff-272a-4a8c-9027-df32ed1d68a9.ides.acquia.com - _embedded: - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - last_login_at: '2019-01-31T10:53:11-05:00' - created_at: '2016-08-14T17:38:59-04:00' - email: user.name@example.com - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The IDE you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Cloud IDE - summary: De-provisions a specific Cloud IDE. - description: De-provisions a specific Cloud IDE. - operationId: deleteIde - x-cli-name: ide:delete - parameters: - - $ref: "#/components/parameters/IdeUuid" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - De-provisioning IDE: - value: - message: The Cloud IDE is being deleted. - _links: - self: - href: https://cloud.acquia.com/api/ides/215824ff-272a-4a8c-9027-df32ed1d68a9 - parent: - href: https://cloud.acquia.com/api/ides - notification: - href: https://cloud.acquia.com/api/notifications/e98577df-840a-4fef-8775-66cf90b3530e - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The IDE you are trying to access does not exist, or you do not have permission to access it. - /identity-providers: - get: - tags: - - Identity Providers - summary: Returns a list of identity providers for a user. - description: | - Returns a list of identity providers you have access to. - - Filterable fields: - * `label` - - Sortable fields: - * `label` - operationId: getIdentityProviders - x-cli-name: identity-providers:list - parameters: - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IdentityProviders" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/identity-providers - parent: - href: https://cloud.acquia.com/api/ - filter: - href: https://cloud.acquia.com/api/identity-providers{?filter} - templated: true - sort: - href: https://cloud.acquia.com/api/identity-providers{?sort} - templated: true - limit: - href: https://cloud.acquia.com/api/identity-providers{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/identity-providers{?offset} - templated: true - _embedded: - items: - - uuid: 5fa84b25-a269-44bd-a2ae-e76d08ac8245 - label: Identity provider label - idp_entity_id: https://idp.example.com/saml - sp_entity_id: https://sp.example.com/saml - sso_url: https://example.com/sso - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - status: enabled - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/5fa84b25-a269-44bd-a2ae-e76d08ac8245 - parent: - href: https://cloud.acquia.com/api/identity-providers - acs: - href: https://accounts.acquia.com/api/auth/saml/acs/5fa84b25-a269-44bd-a2ae-e76d08ac8245 - - uuid: 908914ec-2354-4fb1-9298-637247eccc3a - label: Identity provider label 2 - idp_entity_id: https://idp2.example.com/saml - sp_entity_id: https://sp2.example.com/saml - sso_url: https://example.com/sso - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - status: enabled - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a - parent: - href: https://cloud.acquia.com/api/identity-providers - acs: - href: https://accounts.acquia.com/api/auth/saml/acs/908914ec-2354-4fb1-9298-637247eccc3a - "/identity-providers/{identityProviderUuid}": - get: - tags: - - Identity Providers - summary: Returns a specific identity provider by UUID. - description: Returns a specific identity provider. - operationId: getIdentityProvider - x-cli-name: identity-providers:find - parameters: - - $ref: "#/components/parameters/IdentityProviderUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IdentityProvider" - example: - uuid: 1bc5dbb4-6d59-403b-afc7-777e520aaa40 - label: Test identity provider - idp_entity_id: https://idp.example.com/saml - sp_entity_id: https://sp.example.com/saml - sso_url: https://example.com/sso - certificate: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- - status: enabled - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/1bc5dbb4-6d59-403b-afc7-777e520aaa40 - parent: - href: https://cloud.acquia.com/api/identity-providers - acs: - href: https://accounts.acquia.com/api/auth/saml/acs/1bc5dbb4-6d59-403b-afc7-777e520aaa40 - organization: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Identity Providers - summary: Modifies an identity provider by its UUID. - description: Modifies an identity provider. - operationId: putIdentityProvider - x-cli-name: identity-providers:update - parameters: - - $ref: "#/components/parameters/IdentityProviderUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - label: - type: string - description: The new identity provider label. - entity_id: - type: string - description: The entity ID of the identity provider - sso_url: - type: string - format: uri - description: The URL of the SSO identity provider. - certificate: - type: string - description: The PEM-encoded X.509 certificate. - example: - label: New label - entity_id: entity-id - sso_url: https://idp.example.com - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - application/x-www-form-urlencoded: - schema: - type: object - properties: - label: - type: string - description: The new identity provider label. - entity_id: - type: string - description: The entity ID of the identity provider - sso_url: - type: string - format: uri - description: The URL of the SSO identity provider. - certificate: - type: string - description: The PEM-encoded certificate. - example: - label: New label - entity_id: entity-id - sso_url: https://idp.example.com - certificate: -----BEGIN CERTIFICATE-----...-----END CERTIFICATE----- - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: Identity Provider has been updated. - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/8030f025-47dc-4926-940b-0b04d98d1ea2 - parent: - href: https://cloud.acquia.com/api/identity-providers - notification: - href: https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - No Parameters: - value: - error: validation_failed - message: - general: No update executed, as no parameters were provided. Please update at least one property. - Invalid Certificate: - value: - error: validation_failed - message: - credentials: The certificate is invalid. - Inactive Certificate: - value: - error: validation_failed - message: - credentials: The certificate is not yet active. - Expired Certificate: - value: - error: validation_failed - message: - credentials: The certificate is expired. - Expiring Certificate: - value: - error: validation_failed - message: - credentials: The certificate is expiring. Certificates must be valid for at least 90 days. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to edit the identity provider. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found or Does Not Exist: - value: - error: not_found - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - Does Not Exist: - value: - error: not_found - message: An identity provider with UUID idp1234-aaaa-1234-abcd-0123456789ab does not exist. - No Associated Organization: - value: - error: not_found - message: An organization with associated identity provider UUID idp1234-aaaa-1234-abcd-0123456789ab cannot be found. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already Enabled and Active: - value: - error: conflict - message: Updates cannot be made to identity providers that are enabled and active. - Not Registered to Organization: - value: - error: conflict - message: The organization does not have an identity provider registered with the UUID idp1234-aaaa-1234-abcd-0123456789ab. - delete: - tags: - - Identity Providers - summary: Deletes a specific identity provider by its UUID. - description: Deletes a specific identity provider. - operationId: deleteIdentityProvider - x-cli-name: identity-providers:delete - parameters: - - $ref: "#/components/parameters/IdentityProviderUuid" - security: - - OAuth2: [] - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Identity provider has been deleted. - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/da1c0a8e-ff69-45db-88fc-acd6d2affbb7 - parent: - href: https://cloud.acquia.com/api/identity-providers - notification: - href: https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to delete the identity provider. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found or Does Not Exist: - value: - error: not_found - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - No Associated Organization: - value: - error: not_found - message: An organization with associated identity provider UUID da1c0a8e-ff69-45db-88fc-acd6d2affbb7 cannot be found. - "/identity-providers/{identityProviderUuid}/actions/enable": - post: - tags: - - Identity Providers - summary: Enables an identity provider by its UUID. - description: Enables an identity provider. - operationId: postEnableIdentityProvider - x-cli-name: identity-providers:enable - parameters: - - $ref: "#/components/parameters/IdentityProviderUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Identity Provider has been enabled. - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77 - parent: - href: https://cloud.acquia.com/api/identity-providers - notification: - href: https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: You do not have permission to enable this identity provider. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already enabled: - value: - error: conflict - message: The identity provider is already enabled. - "/identity-providers/{identityProviderUuid}/actions/disable": - post: - tags: - - Identity Providers - summary: Disables an identity provider by its UUID. - description: Disables an identity provider. - operationId: postDisableIdentityProvider - x-cli-name: identity-providers:disable - parameters: - - $ref: "#/components/parameters/IdentityProviderUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Identity Provider has been disabled. - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77 - parent: - href: https://cloud.acquia.com/api/identity-providers - notification: - href: https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: You do not have permission to disable this identity provider. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: conflict - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already disabled: - value: - error: conflict - message: The identity provider is already disabled. - "/invites/{token}": - get: - tags: - - Invite - summary: Returns details about an invitation. - description: Returns details about an invitation. - operationId: getInviteByToken - x-cli-name: invites:find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/Token" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Invite" - example: - applications: - - uuid: 7659fe2a-7322-4132-a4b7-0795f1246a54 - name: App 1 - - uuid: 23a99f37-0eb8-450e-a5bf-e69c48e25e86 - name: App 2 - author: - uuid: 2429bf71-9145-4266-b532-1f4e3beaed55 - first_name: Joe - last_name: Smith - last_login_at: '2019-01-30T08:58:07-05:00' - created_at: '2015-08-14T17:37:23-04:00' - mail: joe.smith@example.com - picture_url: https://accounts.acquia.com/images/users/2429bf71-9145-4266-b532-1f4e3beaed55/style/avatar - username: joe.smith - organization: - uuid: d258dc23-90c5-447c-b550-981b469796d9 - name: My Organization - roles: - - uuid: d258dc23-90c5-447c-b550-981b469796d9 - name: My Role - team: - uuid: d258dc23-90c5-447c-b550-981b469796d9 - name: My Team - uuid: d258dc23-90c5-447c-b550-981b469796d9 - email: joe.smith@example.com - created_at: '2019-01-30T09:12:15-05:00' - token: 189d2089-c7f1-418c-a437-9676f4edb1b3 - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/189d2089-c7f1-418c-a437-9676f4edb1b3 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No invite or permission: - value: - error: unauthorized - message: You do not have permission to access this resource. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No invite or permission: - value: - error: not_found - message: The invite you are trying to view does not exist, or you do not have permission to view it. - delete: - tags: - - Invite - summary: Cancels an invitation. - description: Cancels an invitation. - operationId: postInviteCancel - x-cli-name: invites:cancel - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/Token" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Cancelled invite: - value: - message: Cancelled invite. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No invite or permission: - value: - error: unauthorized - message: You do not have permission to access this resource. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No invite or permission: - value: - error: not_found - message: The invite you are trying to view does not exist, or you do not have permission to view it. - "/invites/{token}/actions/accept": - post: - tags: - - Invite - summary: Accepts an invite. - description: Accepts an invite. - operationId: postInviteAcceptByToken - x-cli-name: invites:accept - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/Token" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Accepted invite: - value: - message: The invite has been accepted. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: not_found - message: The invite you are trying to accept does not exist, or you do not have permission to accept it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already accepted: - value: - error: conflict - message: This invite has already been accepted. - "/invites/{token}/actions/decline": - post: - tags: - - Invite - summary: Declines an invite. - description: Declines an invite. - operationId: postInviteDecline - x-cli-name: invites:decline - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/Token" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Declined invite: - value: - message: The invite has been declined. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: not_found - message: The invite you are trying to decline does not exist, or you do not have permission to decline it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Already declined: - value: - error: conflict - message: This invite has already been declined. - "/invites/{token}/actions/resend": - post: - tags: - - Invite - summary: Resend an invite. - description: Resend an invite. - operationId: postInviteResend - x-cli-name: invites:resend - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/Token" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Declined invite: - value: - message: Resent invitation. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: not_found - message: The invite you are trying to resent does not exist, or you do not have permission to resent it. - "/messages/{messageUuid}/actions/dismiss": - post: - tags: - - Messages - summary: Dismisses a message. - description: Dismisses a message. - operationId: postDismissMessage - x-cli-name: messages:dismiss - parameters: - - $ref: "#/components/parameters/MessageUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Site revoked: - value: - message: Message dismissed. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission or message: - value: - error: forbidden - message: The message you are trying to dismiss does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Message already dismissed: - value: - error: conflict - message: This message has already been dismissed. - Message cannot be dismissed: - value: - error: conflict - message: This message cannot be dismissed. - "/messages/{messageUuid}/actions/follow": - get: - tags: - - Messages - summary: Follows an in-product message link. - description: Follows an in-product message link. - operationId: getMessageFollow - x-cli-name: messages:follow - parameters: - - $ref: "#/components/parameters/MessageUuid" - responses: - "301": - description: Moved Permanently - headers: - Location: - schema: - type: string - description: The redirect destination URL. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No application or permission: - value: - error: not_found - message: The message you are trying to follow the link for does not exist, or you do not have permission to access it. - "/notifications/{notificationUuid}": - get: - tags: - - Notifications - summary: Returns a single notification. - description: Returns a single notification. - operationId: getNotificationByUuid - x-cli-name: notifications:find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/NotificationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Notification" - example: - uuid: 1bd3487e-71d1-4fca-a2d9-5f969b3d35c1 - event: ApplicationAddedToRecents - label: Application added to recents list - description: '"Canary QA 11 - ACE" was added to your recent applications list.' - created_at: '2019-07-29T20:47:13+00:00' - completed_at: '2019-07-29T20:47:13+00:00' - status: completed - progress: 100 - context: - author: - uuid: 5391a8a9-d273-4f88-8114-7f884bbfe08b - actual_uuid: 5391a8a9-d273-4f88-8114-7f884bbfe08b - user: - uuids: - - 5391a8a9-d273-4f88-8114-7f884bbfe08b - _links: - self: - href: https://cloud.acquia.com/api/notifications/1bd3487e-71d1-4fca-a2d9-5f969b3d35c1 - parent: - href: https://cloud.acquia.com/api/notifications - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No data or permission: - value: - error: not_found - message: The data you are trying to access does not exist, or you do not have permission to access it. - /options: - get: - tags: - - Options - summary: Does not return any data. Allows traversal of options groups endpoints. - description: Does not return any data. Allows traversal of options groups endpoints. - operationId: getOptions - x-cli-name: options:list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - properties: - _links: - $ref: "#/components/schemas/Links" - example: - _links: - self: - href: https://cloud.acquia.com/api/options - cde-sizes: - href: https://cloud.acquia.com/api/options/cde-sizes - log-forwarding: - href: https://cloud.acquia.com/api/options/log-forwarding - /options/cde-sizes: - get: - tags: - - Options - summary: Displays the various CD Environment size options. - description: Displays the various CD Environment size options. - operationId: getCdeSizes - x-cli-name: options:cde-sizes-list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CdeSizes" - example: - total: 5 - _links: - self: - href: https://cloud.acquia.com/api/options/cde-sizes - parent: - href: https://cloud.acquia.com/api/options - _embedded: - items: - - name: 1X - size: 1x - memory: 256 - storage: 5 - databases: 3 - slots: 1 - - name: 2X - size: 2x - memory: 512 - storage: 10 - databases: 6 - slots: 2 - - name: 3X - size: 3x - memory: 768 - storage: 15 - databases: 9 - slots: 3 - - name: 4X - size: 4x - memory: 1024 - storage: 20 - databases: 12 - slots: 4 - - name: 8X - size: 8x - memory: 2048 - storage: 40 - databases: 24 - slots: 8 - /options/log-forwarding: - get: - tags: - - Options - summary: Does not return any data. Allows traversal of options groups endpoints. - description: Does not return any data. Allows traversal of options groups endpoints. - operationId: getLogForwarding - x-cli-name: options:log-forwarding - responses: - "200": - description: OK - content: - application/hal+json: - schema: - properties: - _links: - $ref: "#/components/schemas/Links" - example: - _links: - self: - href: https://cloud.acquia.com/api/options/log-forwarding - sources: - href: https://cloud.acquia.com/api/options/log-forwarding/sources - consumers: - href: https://cloud.acquia.com/api/options/log-forwarding/consumers - /options/log-forwarding/sources: - get: - tags: - - Options - summary: Displays available log forwarding sources. - description: Displays available log forwarding sources. - operationId: getLogForwardingSources - x-cli-name: options:log-forwarding-source-list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/LogForwardingSources" - example: - total: 1 - _links: - self: - href: https://cloud.acquia.com/api/log-forwarding/sources - parent: - href: https://cloud.acquia.com/api/log-forwarding - _embedded: - items: - - name: apache-access - label: Apache access - platforms: - - drupal - /options/log-forwarding/consumers: - get: - tags: - - Options - summary: Displays available log forwarding consumers. - description: Displays available log forwarding consumers. - operationId: getLogForwardingConsumers - x-cli-name: options:log-forwarding-consumer-list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/LogForwardingConsumers" - example: - total: 1 - _links: - self: - href: https://cloud.acquia.com/api/log-forwarding/consumers - parent: - href: https://cloud.acquia.com/api/log-forwarding - _embedded: - items: - - name: sumologic - label: Sumologic - /options/colors: - get: - tags: - - Options - summary: Displays the various color options. - description: Displays the various color options. - operationId: getColors - x-cli-name: colors:list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Colors" - example: - total: 10 - _links: - self: - href: https://cloud.acquia.com/api/options/colors - parent: - href: https://cloud.acquia.com/api/options - limit: - href: https://cloud.acquia.com/api/options/colors{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/options/colors{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/options/colors{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/options/colors{?filter} - templated: true - _embedded: - items: - - color: blue - - color: blush - - color: gray - - color: green - - color: light-blue - - color: orange - - color: pink - - color: purple - - color: teal - - color: yellow - /organizations: - get: - tags: - - Organizations - summary: Return a list of organizations. - description: | - An organization is a container for some or all of a customer's subscriptions. The owner of the organization is the - main billing contact. The owner, along with organization administrators, can set up teams and roles to grant various - permissions to access the applications within each subscription in the organization. Results can be filtered and - sorted by name. - operationId: getOrganizations - x-cli-name: organizations:list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Organizations" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/organizations - sort: - href: https://cloud.acquia.com/api/organizations{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/ - _embedded: - items: - - id: "6" - uuid: bfafd31a-83a6-4257-b0ec-afdeff83117a - name: Sample organization - subscriptions_total: 115 - admins_total: 2 - users_total: 82 - teams_total: 13 - roles_total: 4 - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - mail: user.name@example.com - flags: - federated_authentication: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/bfafd31a-83a6-4257-b0ec-afdeff83117a - - id: "4841" - uuid: 1992bfe6-c5bf-4a90-810e-a65acab42c6e - name: Sample organization 2 - subscriptions_total: 4 - admins_total: 0 - users_total: 0 - teams_total: 0 - roles_total: 0 - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - mail: user.name@example.com - flags: - federated_authentication: true - _links: - self: - href: https://cloud.acquia.com/api/organizations/1992bfe6-c5bf-4a90-810e-a65acab42c6e - - id: "4841" - uuid: 3ff5a541-64cf-4334-acc7-af70b4374373 - name: Sample organization 3 - subscriptions_total: 4 - admins_total: 0 - users_total: 0 - teams_total: 0 - roles_total: 0 - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - mail: user.name@example.com - flags: - federated_authentication: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/3ff5a541-64cf-4334-acc7-af70b4374373 - "/organizations/{organizationUuid}": - get: - tags: - - Organizations - summary: Return details about a specific organization. - operationId: getOrganizationByUuid - x-cli-name: organizations:find - security: - - OAuth2: [] - description: A specific organization. - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Organization" - example: - id: "6" - uuid: a81c08c6-a02f-4b57-87e3-c3f395a2bb34 - name: Sample organization - subscriptions_total: 115 - admins_total: 2 - users_total: 82 - teams_total: 13 - roles_total: 4 - owner: - uuid: 98d56f28-cff0-421d-9985-58f15cbd6907 - first_name: First - last_name: Last - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - mail: user.name@example.com - flags: - federated_authentication: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34 - admin-invites: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/admin-invites - admins: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/admins - applications: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/applications - identity-provider: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/identity-provider - members: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/members - roles: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/roles - subscriptions: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/subscriptions - team-invites: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/team-invites - teams: - href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34/teams - parent: - href: https://cloud.acquia.com/api/organizations - _embedded: - owner: - uuid: 98d56f28-cff0-421d-9985-58f15cbd6907 - first_name: First - last_name: Last - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - mail: user.name@example.com - _links: - self: - href: https://cloud.acquia.com/api/users/98d56f28-cff0-421d-9985-58f15cbd6907 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Organizations - summary: Renames an organization. - description: Renames an organization. - operationId: putOrganization - x-cli-name: organizations:update - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - name - properties: - name: - type: string - description: The new name of the organization. - minLength: 1 - maxLength: 255 - example: - name: My renamed organization - application/x-www-form-urlencoded: - schema: - type: object - required: - - name - properties: - name: - type: string - description: The new name of the organization. - minLength: 1 - maxLength: 255 - example: - name: My renamed organization - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Organization renamed: - value: - message: Organization renamed. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Name unavailable: - value: - error: conflict - message: - name: The organization owner already has an organization with this name. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found or Does Not Exist: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Organizations - summary: Deletes a specific organization by its UUID. - description: Deletes a specific organization. - operationId: deleteOrganization - x-cli-name: organizations:delete - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Deleted organization: - value: - message: Deleted organization. - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Associated subscriptions: - value: - error: validation_error - message: - general: This organization has associated subscriptions and cannot be deleted. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No Permission: - value: - error: forbidden - message: You do not have permission to delete this organization. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found or No Permission: - value: - error: not_found - message: The organization you are trying to delete does not exist, or you do not have permission to delete it. - Not Found: - value: - error: not_found - message: The organization with UUID bfafd31a-83a6-4257-b0ec-afdeff83117a does not exist. - "/organizations/{organizationUuid}/actions/change-owner": - post: - tags: - - Organizations - summary: Changes the organization owner. - description: Changes the organization owner. - operationId: postChangeOrganizationOwner - x-cli-name: organizations:owner-change - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - user_uuid - properties: - user_uuid: - type: string - description: The uuid of the user you want to make the owner for this organization. - format: uuid - application/x-www-form-urlencoded: - schema: - type: object - required: - - user_uuid - properties: - user_uuid: - type: string - description: The uuid of the user you want to make the owner for this organization. - format: uuid - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Changed owner: - value: - message: Changed organization owner. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to change the organization owner. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No organization or permission: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - No organization: - value: - error: not_found - message: The organization with UUID 07557159-264f-45eb-8f70-553b8ed21b16 does not exist. - No user: - value: - error: not_found - message: The user with UUID 3ba405e6-8621-4557-b78a-7d92baa79783 does not exist. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - New owner must be administrator: - value: - error: conflict - message: The new owner must be an existing administrator of the organization. - "/organizations/{organizationUuid}/actions/leave": - post: - tags: - - Organizations - summary: Removes your account from an organization. - description: Removes your account from an organization. - operationId: postLeaveOrganization - x-cli-name: organizations:leave - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Left organization: - value: - message: Left organization. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No organization or permission: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - No organization: - value: - error: not_found - message: The organization with UUID 07557159-264f-45eb-8f70-553b8ed21b16 does not exist. - Not a member: - value: - error: not_found - message: You are not a member of this organization. - No user: - value: - error: not_found - message: The user with UUID 3ba405e6-8621-4557-b78a-7d92baa79783 does not exist. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Organization owner cannot be removed: - value: - error: conflict - message: The organization owner cannot be removed. - "/organizations/{organizationUuid}/admins": - get: - tags: - - Organizations - summary: Returns a list of organization administrators. - description: | - Returns a list of organization administrators. - - Filterable fields: - * `first_name` - * `last_name` - * `mail` - * `username` - - Sortable fields: - * `first_name` - * `last_name` - * `mail` - * `username` - operationId: getOrganizationAdmins - x-cli-name: organizations:admin-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationAdminUserProfiles" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins - parent: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a - _embedded: - items: - - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - last_login_at: '2017-03-28T13:07:54-0500' - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar - username: james.kirk - flags: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - - uuid: 30dacb5e-4122-11e1-9eb5-12313928d3c2 - first_name: Christopher - last_name: Pike - last_login_at: 2016-03-28T13:07:54-0500 - mail: chris.pike@example.com - picture_url: https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar - username: chris.pike - flags: - owner: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/30dacb5e-4122-11e1-9eb5-12313928d3c2 - - uuid: 3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - first_name: Jonathan - last_name: Archer - last_login_at: null - mail: jonathan.archer@example.com - picture_url: https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar - username: jonathan.archer - flags: - owner: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admins/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/admins/{userUuid}": - get: - tags: - - Organizations - summary: Returns the user profile of this organization administrator. - description: Returns the user profile of this organization administrator. - operationId: getOrganizationAdmin - x-cli-name: organizations:admin-find - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/UserUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationAdminUserProfile" - example: - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - last_login_at: '2017-03-28T13:07:54-0500' - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar - username: james.kirk - flags: - owner: true - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/admins/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - parent: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/admins - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to view this administrator. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or no permission: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Organizations - summary: Removes the user from the list of administrators for the organization. - description: Removes the user from the list of administrators for the organization. - operationId: deleteOrganizationAdmin - x-cli-name: organizations:admin-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/UserUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Member removed: - value: - message: Organization administrator removed. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No organization or permission: - value: - error: not_found - message: The organization you are trying to administer does not exist, or you do not have permission to administer it. - Organization not found: - value: - error: not_found - message: The organization with UUID 653077de-9349-4822-a104-5e5a8dd2ba05 does not exist. - User mismatch: - value: - error: validation_failed - message: The user is not an administrator for this organization. - User not found: - value: - error: not_found - message: The user with UUID 5404f30f-465c-4d94-80f1-61f1d35fde0b does not exist. - "/organizations/{organizationUuid}/admin-invites": - get: - tags: - - Organizations - summary: Gets a list of invitations of administrators for this organization. - description: | - Gets a list of invitations of administrators for this organization. - - Filterable fields: - * `first_name` - * `last_name` - * `permission` - - Sortable fields: - * `first_name` - * `last_name` - * `permission` - operationId: getOrganizationAdminInvites - x-cli-name: organizations:admin-invite-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Range" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationAdminInvites" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/admin-invites - parent: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a - _embedded: - items: - - author: - uuid: 0f1915e8-cd84-4386-94b8-21926fc376f5 - username: jane.doe - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - organization: - name: Organization Name - uuid: a45a99ce-e1ae-47ac-a570-8189bc4d3347 - uuid: f921fa88-47e3-49df-9dbb-75950aaca428 - email: invitee@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ec - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec - - organization: - name: Organization Name - uuid: a45a99ce-e1ae-47ac-a570-8189bc4d3347 - author: - uuid: 3f694d6e-3aec-4408-a04f-26ac026118d9 - username: john.doe - first_name: John - last_name: Doe - mail: john.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com - uuid: 857a8ec9-ac33-428d-8b1c-718d7f6f9aa4 - email: invitee2@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ed - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Organizations - summary: Invites a user to be an administrator in this organization. - description: Invites a user to be an administrator in this organization. - operationId: postOrganizationAdminInvite - x-cli-name: organizations:admin-invite-create - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - email - properties: - email: - type: string - description: The email address of the user to invite as an administrator for this organization. - minLength: 1 - maxLength: 255 - example: - email: invitee@example.com - application/x-www-form-urlencoded: - schema: - type: object - required: - - email - properties: - email: - type: string - description: The email address of the user to invite as an administrator for this organization. - minLength: 1 - maxLength: 255 - example: - email: invitee@example.com - security: - - OAuth2: [] - responses: - "200": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Role created: - value: - message: Invited organization administrator. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to retrieve does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Missing team: - value: - error: conflict - message: An invitation to test@example.com has already been sent. It was sent on May 6, 2016 - 7:26pm. - "/organizations/{organizationUuid}/applications": - get: - tags: - - Organizations - summary: Returns a list of applications that belong to the organization. - description: | - Returns a list of applications that belong to the organization. - - Filterable fields: - * `name` - * `organization_name` - - Sortable fields: - * `name` - * `organization_name` - operationId: getOrganizationApplications - x-cli-name: organizations:applications-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationApplications" - example: - total: 2 - pagination: - total: 2 - limit: 10 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications - sort: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/applications{?offset} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481 - _embedded: - items: - - id: 241643 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample application 1 - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: be3a7975-d62b-4e29-b24f-dfb2a43468e6 - name: Sample subscription - organization: - uuid: d4e44648-8780-4105-905c-43a1eb486481 - name: Sample organization - flags: - remote_admin: true - status: normal - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - tags: - - name: tag-1 - color: blue - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - name: tag-2 - color: green - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - id: 954291 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d471 - name: Sample application 2 - hosting: - type: free - id: devcloud:devcloud2 - subscription: - uuid: be3a7975-d62b-4e29-b24f-dfb2a43468e6 - name: Sample subscription - organization: - uuid: d4e44648-8780-4105-905c-43a1eb486481 - name: Sample organization - flags: - remote_admin: false - status: provisioning - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471 - tags: - - name: tag-1 - color: blue - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-1 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - - name: tag-2 - color: green - _links: - self: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags/tag-2 - parent: - href: https://cloud.acquia.com/api/applications/957bec0e-30c1-4971-ae2a-2ec4071cdd4e/tags - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/available-tags": - get: - tags: - - Organizations - summary: Returns a list of all available application tags. - description: Returns a list of all available application tags. - operationId: getOrganizationAvailableTags - x-cli-name: organizations:available-tags-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationAvailableTags" - example: - total: 1 - pagination: - total: 1 - limit: 1 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags - parent: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c - limit: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/available-tags{?filter} - templated: true - _embedded: - items: - - name: Dev - color: orange - context: - organization: - uuids: - - 2375e327-3fff-11e3-9170-12313920a02c - application: - uuids: - - 185f07c7-9c4f-407b-8968-67892ebcb38a - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Organizations - summary: Adds bulk tags to organization resources. - description: Adds bulk tags to organization resources. - operationId: postOrganizationAvailableTags - x-cli-name: organizations:available-tags-create - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - tags - - context - properties: - tags: - type: array - description: A list of tags to be added. - items: - type: object - description: Tag object. - required: - - name - - color - properties: - name: - type: string - description: The label of the tag. - minLength: 2 - maxLength: 16 - color: - type: string - description: The color name of the tag found via the GET /api/options/colors endpoint. - context: - type: object - description: Context resources of tags. Currently supports `application` identifier and `uuids` type. - required: - - application - properties: - application: - type: object - description: The resource identifier for applications. - required: - - uuids - properties: - uuids: - type: array - description: A list of application uuids as a resource type. - items: - type: string - description: An application UUID. - format: uuid - minLength: 36 - maxLength: 36 - example: - tags: - - name: tag-name-1 - color: green - - name: tag-name-2 - color: blue - context: - application: - uuids: - - 96e10bfb-1e4f-41c3-9d07-fffe8aba50d5 - application/x-www-form-urlencoded: - schema: - type: object - required: - - tags - - context - properties: - tags: - type: array - description: A list of tags to be added. - items: - type: object - description: Tag object. - required: - - name - - color - properties: - name: - type: string - description: The label of the tag. - minLength: 2 - maxLength: 16 - color: - type: string - description: The color name of the tag found via the GET /api/options/colors endpoint. - context: - type: object - description: Context resources of tags. Currently supports `application` identifier and `uuids` type. - required: - - application - properties: - application: - type: object - description: The resource identifier for applications. - required: - - uuids - properties: - uuids: - type: array - description: A list of application uuids as a resource type. - items: - type: string - description: An application UUID. - format: uuid - minLength: 36 - maxLength: 36 - example: - tags: - - name: tag-name-1 - color: green - - name: tag-name-2 - color: blue - context: - application: - uuids: - - 96e10bfb-1e4f-41c3-9d07-fffe8aba50d5 - security: - - OAuth2: [] - responses: - "201": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Tags have been updated. - _links: - self: - href: https://cloud.acquia.com/api/organizations/87c7be4d-d65d-4a5c-b36b-d921ca86c590/available-tags - notification: - href: https://cloud.acquia.com/api/notifications/6992a41d-a953-4ded-ae99-41d2f4d62f69 - parent: - href: https://cloud.acquia.com/api/organizations/87c7be4d-d65d-4a5c-b36b-d921ca86c590 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Forbidden: - value: - error: forbidden - message: You do not have permission to add tags to one or more of the specified resources. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Organizations - summary: Deletes bulk tags from organization resources. - description: Deletes bulk tags from organization resources. - operationId: deleteOrganizationAvailableTags - x-cli-name: organizations:available-tags-delete - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - tags - - context - properties: - tags: - type: array - description: A list of tags to be deleted. - items: - type: object - description: Tag name object. - required: - - name - properties: - name: - type: string - description: The label of the tag. - minLength: 2 - maxLength: 16 - context: - type: object - description: Context resources of tags. Currently supports `application` identifier and `uuids` type. - required: - - application - properties: - application: - type: object - description: The resource identifier for applications. - required: - - uuids - properties: - uuids: - type: array - description: A list of application uuids as a resource type. - items: - type: string - description: An application UUID. - format: uuid - minLength: 36 - maxLength: 36 - example: - tags: - - name: tag-name-1 - - name: tag-name-2 - context: - application: - uuids: - - 96e10bfb-1e4f-41c3-9d07-fffe8aba50d5 - application/x-www-form-urlencoded: - schema: - type: object - required: - - tags - - context - properties: - tags: - type: array - description: A list of tags to be deleted. - items: - type: object - description: Tag object. - required: - - name - properties: - name: - type: string - description: The label of the tag. - minLength: 2 - maxLength: 16 - context: - type: object - description: Context resources of tags. Currently supports `application` identifier and `uuids` type. - required: - - application - properties: - application: - type: object - description: The resource identifier for applications. - required: - - uuids - properties: - uuids: - type: array - description: A list of application uuids as a resource type. - items: - type: string - description: An application UUID. - format: uuid - minLength: 36 - maxLength: 36 - example: - tags: - - name: tag-name-1 - - name: tag-name-2 - context: - application: - uuids: - - 96e10bfb-1e4f-41c3-9d07-fffe8aba50d5 - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Tags have been updated. - _links: - self: - href: https://cloud.acquia.com/api/organizations/1be8dcdf-e4fd-4a89-9d64-9e4486272c7a/available-tags - parent: - href: https://cloud.acquia.com/api/organizations/1be8dcdf-e4fd-4a89-9d64-9e4486272c7a - notification: - href: https://cloud.acquia.com/api/notifications/154f88be-b9c0-47c4-b0cb-83eb6aebb7b7 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Forbidden: - value: - error: forbidden - message: You do not have permission to remove tags from one or more of the specified resources. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not Found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/identity-provider": - get: - tags: - - Organizations - summary: Returns an identity provider for an organization. - description: Returns an identity provider for an organization. - operationId: getOrganizationIdentityProvider - x-cli-name: organizations:identity-provider-find - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/IdentityProvider" - example: - uuid: 1bc5dbb4-6d59-403b-afc7-777e520aaa40 - label: Test identity provider - idp_entity_id: https://idp.example.com/saml - sp_entity_id: https://sp.example.com/saml - sso_url: https://example.com/sso - certificate: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- - status: enabled - _links: - self: - href: https://cloud.acquia.com/api/identity-providers/1bc5dbb4-6d59-403b-afc7-777e520aaa40 - parent: - href: https://cloud.acquia.com/api/identity-providers - acs: - href: https://accounts.acquia.com/api/auth/saml/acs/1bc5dbb4-6d59-403b-afc7-777e520aaa40 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The identity provider you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/members": - get: - tags: - - Organizations - summary: Returns a list of all organization members. - description: | - Returns a list of all organization members, from all teams in this organization. - - Filterable fields: - * `first_name` - * `last_name` - * `permission` - - Sortable fields: - * `first_name` - * `last_name` - * `permission` - operationId: getOrganizationMembers - x-cli-name: organizations:members-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationMembers" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members - sort: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a/members{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/3c9ea553-3216-11e3-9170-12313920a23a - _embedded: - items: - - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - last_login_at: '2017-03-28T13:07:54-0500' - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar - username: james.kirk - teams: - - name: Team Name 1 - uuid: 26c4af83-545b-45cb-b165-d537adc9e0b4 - roles: - - uuid: 5f7da0a9-9ff0-4db8-802e-9d2b9969efc2 - name: Senior Developer - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - - uuid: 30dacb5e-4122-11e1-9eb5-12313928d3c2 - first_name: Christopher - last_name: Pike - mail: chris.pike@example.com - last_login_at: '2018-02-19T13:07:54-0500' - picture_url: https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar - username: chris.pike - teams: - - name: Team Name 2 - uuid: af55adc6-14d4-4f10-92d7-99c673549935 - roles: - - uuid: d33cd9ff-281d-4bcf-9f89-b10b249caa35 - name: Developer - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/30dacb5e-4122-11e1-9eb5-12313928d3c2 - - uuid: 3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - first_name: Jonathan - last_name: Archer - last_login_at: null - mail: jonathan.archer@example.com - picture_url: https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar - username: jonathan.archer - teams: - - name: Team Name 1 - uuid: 26c4af83-545b-45cb-b165-d537adc9e0b4 - roles: - - uuid: 312c0121-906b-4498-8402-7b479172768c - name: Team Lead - - name: Team Name 2 - uuid: af55adc6-14d4-4f10-92d7-99c673549935 - roles: - - uuid: d33cd9ff-281d-4bcf-9f89-b10b249caa35 - name: Developer - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/members/{userUuid}": - get: - tags: - - Organizations - description: Returns the user profile of this organization member. - summary: Returns the user profile of this organization member. - operationId: getOrganizationMember - x-cli-name: organizations:member-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/UserUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationUserProfile" - example: - uuid: 3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - first_name: Jonathan - last_name: Archer - last_login_at: '2017-03-28T13:07:54-0500' - mail: jonathan.archer@example.com - picture_url: https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar - username: jonathan.archer - teams: - - name: Team Name 1 - uuid: 7325ba1a-5bfd-4341-9b23-55ffada3c131 - roles: - - uuid: 312c0121-906b-4498-8402-7b479172768c - name: Team Lead - - name: Team Name 2 - uuid: bca134fb-55d4-41ec-9558-d14531fa9899 - roles: - - uuid: d33cd9ff-281d-4bcf-9f89-b10b249caa35 - name: Developer - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - parent: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members - applications: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c/members/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/applications - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: forbidden - message: You do not have permission to view this member. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No organization or permission: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Organizations - summary: Removes the member from the organization. - description: Removes the member from the organization. - operationId: postOrganizationMemberDelete - x-cli-name: organizations:member-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/UserUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Member removed: - value: - message: Organization member removed. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No organization or permission: - value: - error: not_found - message: The organization you are trying to administer does not exist, or you do not have permission to administer it. - Organization not found: - value: - error: not_found - message: The organization with UUID 653077de-9349-4822-a104-5e5a8dd2ba05 does not exist. - User not found: - value: - error: not_found - message: The user with UUID 5404f30f-465c-4d94-80f1-61f1d35fde0b does not exist. - User mismatch: - value: - error: not_found - message: The user is not a member of this organization. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application mismatch: - value: - error: conflict - message: The organization owner cannot be removed. - "/organizations/{organizationUuid}/members/{userUuid}/applications": - get: - tags: - - Organizations - summary: Returns a list of applications that an organization member has access to. - description: Returns a list of applications that an organization member has access to. - operationId: getOrganizationMemberApplications - x-cli-name: organizations:member-application-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/UserUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Applications" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications - sort: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de/applications{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/d4e44648-8780-4105-905c-43a1eb486481/members/48b8085f-defd-423b-96ca-0f634bcf07de - _embedded: - items: - - id: 241643 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample application 1 - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: be3a7975-d62b-4e29-b24f-dfb2a43468e6 - name: Sample subscription - organization: - uuid: d4e44648-8780-4105-905c-43a1eb486481 - name: Sample organization - flags: - remote_admin: true - status: normal - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - - id: 954291 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d471 - name: Sample application 2 - hosting: - type: free - id: devcloud:devcloud2 - subscription: - uuid: be3a7975-d62b-4e29-b24f-dfb2a43468e6 - name: Sample subscription - organization: - uuid: d4e44648-8780-4105-905c-43a1eb486481 - name: Sample organization - flags: - remote_admin: false - status: provisioning - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found or no permission: - value: - error: forbidden - message: You do not have permission to view the applications this member has access to. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/notifications": - get: - tags: - - Organizations - summary: Returns a list of notifications associated with this organization by its UUID. - description: | - Returns a list of notifications associated with this organization. A notification represents an item of work to be done, initiated by someone (typically the current user) associated with the organization. - - Filterable fields: - * `event` - * `label` - * `description` - * `status` - * `author` - * `created_at` - * `completed_at` - - Sortable fields: - * `event` - * `label` - * `description` - * `status` - * `author` - * `created_at` - * `completed_at` - operationId: getOrganizationNotifications - x-cli-name: organizations:notification-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - organization/json: - schema: - $ref: "#/components/schemas/OrganizationsNotifications" - example: - total: 1 - pagination: - total: 1 - limit: 1 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications - parent: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d - limit: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d/notifications{?filter} - templated: true - _embedded: - items: - - uuid: 5c5e848b-296a-4c64-94aa-5a97d99da189 - event: TeamCreated - label: Team created - description: Created a new team project anomaly. - created_at: '2022-12-08T15:42:37+00:00' - completed_at: '2022-12-08T15:42:37+00:00' - status: completed - progress: 100 - context: - team: - new_name: project anomaly - uuids: - - 4002d7cb-9c89-42f8-8515-4cfc3eb03230 - author: - uuid: 08a44409-568f-46f6-8038-4f30e19e3eb2 - actual_uuid: 08a44409-568f-46f6-8038-4f30e19e3eb2 - user: - uuids: - - 08a44409-568f-46f6-8038-4f30e19e3eb2 - organization: - uuids: - - 2be7b4e8-6e9b-4314-8ad5-6a0b3f54c38d - role: - uuids: - - 8095f9db-5f02-4338-9e90-7772715b5345 - - b9f366a5-210f-41ad-b99f-feaa61e71394 - - ddd251c6-5095-4cdb-8902-b3839edfffb4 - - 3c4b2884-60c8-4ca3-9be5-b01c0159658c - - 3cb1519a-20be-4f69-8a5f-4037dff0acd1 - - 1dd0f44b-6118-4c95-a3a2-a9deea32b2b0 - _links: - self: - href: https://cloud.acquia.com/api/notifications/5c5e848b-296a-4c64-94aa-5a97d99da189 - parent: - href: https://cloud.acquia.com/api/notifications - _embedded: - author: - uuid: 08a44409-568f-46f6-8038-4f30e19e3eb2 - first_name: Thomas - last_name: Anderson - last_login_at: '2022-11-30T16:22:48+00:00' - created_at: '2019-10-15T20:22:19+00:00' - email: thomas.a.anderson@acquia.com - picture_url: https://accounts.acquia.com/images/users/08a44409-568f-46f6-8038-4f30e19e3eb2/style/avatar - username: thomas.a.anderson@acquia.com - "404": - description: Not Found - content: - organization/json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/roles": - get: - tags: - - Organizations - summary: Returns a list of all the canonical roles within the organization. - description: | - Returns a list of all the canonical roles within the organization. - - Filterable fields: - * `name` - * `edited_at' - - Sortable fields: - * `name` - * `edited_at` - operationId: getOrganizationRoles - x-cli-name: organizations:roles-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Range" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Roles" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles - sort: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baedc/roles{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede - _embedded: - items: - - uuid: 312c0121-906b-4498-8402-7b479172768c - name: Team Lead - description: Some details about team lead. - permissions: - - name: administer team - label: Add or remove a user of a team - description: Granting this permission will give any user with this role full permissions on this team. - group_label: Administration - flags: - deprecated: false - organization: - uuid: 065f4d9e-efbf-4b0e-8cf6-42fa432baede - name: Example Organization - last_edited: - edited_at: 2011-03-28T13:09:41-04:00 - user: - uuid: aaaa1234-11e2-c374-6954-6931d150b259 - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - username: jane.doe - flags: - default: true - _links: - self: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/312c0121-906b-4498-8402-7b479172768c - - uuid: 5f7da0a9-9ff0-4db8-802e-9d2b9969efc2 - name: Senior Developer - description: Some details about senior developer. - permissions: - - name: access cloud api - label: Access the Cloud API - description: Grants the ability to use the API and bypass all other permissions via command line tools. - group_label: Administration - flags: - deprecated: false - - name: administer team - label: Add or remove a user of a team - description: Granting this permission will give any user with this role full permissions on this team. - group_label: Administration - flags: - deprecated: false - organization: - uuid: 065f4d9e-efbf-4b0e-8cf6-42fa432baede - name: Example Organization - last_edited: - edited_at: 2011-03-28T13:09:41-04:00 - user: - uuid: 6661357e-f562-4b77-8de9-60b4bf83e01b - first_name: Acquia - last_name: Support - mail: support@acquia.com - picture_url: null - username: support.acquia - flags: - default: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/5f7da0a9-9ff0-4db8-802e-9d2b9969efc2 - - uuid: d33cd9ff-281d-4bcf-9f89-b10b249caa35 - name: Developer - description: Some details about developer. - permissions: - - name: access cloud api - label: Access the Cloud API - description: Grants the ability to use the API and bypass all other permissions via command line tools. - group_label: Administration - flags: - deprecated: false - organization: - uuid: 065f4d9e-efbf-4b0e-8cf6-42fa432baede - name: Example Organization - last_edited: - edited_at: 2011-03-28T13:09:41-04:00 - user: - uuid: bbbb1234-11e2-c374-6954-6931d150b259 - first_name: John - last_name: Doe - mail: john.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com - username: john.doe - flags: - default: false - _links: - self: - href: https://cloud.acquia.com/api/organizations/065f4d9e-efbf-4b0e-8cf6-42fa432baede/roles/5f7da0a9-9ff0-4db8-802e-9d2b9969efc2 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Organizations - summary: Creates a role. - description: Creates a role. - operationId: postOrganizationRoles - x-cli-name: organizations:role-create - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - name - - permissions - properties: - name: - type: string - description: The name of the new role to create. - minLength: 1 - maxLength: 255 - description: - type: string - description: The description of the new role. - minLength: 1 - maxLength: 255 - permissions: - type: array - description: An array of permissions to grant to this role. - items: - type: string - description: A permission. - example: - name: My new role - description: My role description - permissions: - - permission 1 - - permission 2 - application/x-www-form-urlencoded: - schema: - type: object - required: - - name - - permissions - properties: - name: - type: string - description: The name of the new role to create. - minLength: 1 - maxLength: 255 - description: - type: string - description: The description of the new role. - minLength: 1 - maxLength: 255 - permissions: - type: array - description: An array of permissions to grant to this role. - items: - type: string - description: A permission. - example: - name: My new role - description: My role description - permissions: - - permission 1 - - permission 2 - security: - - OAuth2: [] - responses: - "200": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Role created: - value: - message: Role created. - "400": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Invalid permission: - value: - error: validation_failed - message: - permissions: The permission 'permission 1' is not a valid permission - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to retrieve does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role already exists: - value: - error: conflict - message: The name for this role is already being used within this organization. - Missing team: - value: - error: conflict - message: An organization must have at least one team in order to create new roles. - "/organizations/{organizationUuid}/subscriptions": - get: - tags: - - Organizations - summary: Returns a list of subscriptions that belong to the organization. - description: | - Returns a list of subscriptions that belong to the organization. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getOrganizationSubscriptions - x-cli-name: organizations:subscriptions-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Range" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Applications" - example: - $ref: "#/paths/~1organizations~1%7BorganizationUuid%7D~1applications/get/responses/200/content/application~1hal%2Bjson/example" - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/team-invites": - get: - tags: - - Organizations - summary: Gets a list of member invitations for all teams in this organization. - description: | - Gets a list of member invitations for all teams in this organization. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getOrganizationTeamInvites - x-cli-name: organizations:team-invite-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/OrganizationTeamInvites" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites - sort: - href: https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96/team-invites{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/d72c0cf8-62e2-418d-8530-6e54f122cf96 - _embedded: - items: - - applications: [] - author: - uuid: 879fc134-e8d9-49ab-a1a8-ffa33fddf8c9 - first_name: Joe - last_name: Smith - last_login_at: '2019-01-30T08:58:07-05:00' - created_at: 2014-08-14T17:37:23-04:00 - mail: joe.smith@example.com - picture_url: https://accounts.acquia.com/images/users/879fc134-e8d9-49ab-a1a8-ffa33fddf8c9/style/avatar - username: joe.smith - organization: - uuid: d72c0cf8-62e2-418d-8530-6e54f122cf96 - name: Organization Name - roles: - - uuid: f540b0ba-d32e-4f48-be78-e932ccb8c201 - name: Senior Developer - team: - uuid: c682c830-f67a-4c49-9444-9ef8cec46f43 - name: Team Name 1 - uuid: fd745f4b-178f-4c09-87cc-4061a60eb1c9 - email: invitee@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ec - flags: - declined: true - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec - - applications: [] - author: - uuid: 7e181890-bfb9-40d7-874b-ec78912c7525 - first_name: Jane - last_name: Smith - last_login_at: '2018-01-30T08:58:07-05:00' - created_at: '2017-08-14T17:37:23-04:00' - mail: jane.smith@example.com - picture_url: https://accounts.acquia.com/images/users/7e181890-bfb9-40d7-874b-ec78912c7525/style/avatar - username: joe.smith - organization: - uuid: d72c0cf8-62e2-418d-8530-6e54f122cf96 - name: Organization Name - roles: - - uuid: f540b0ba-d32e-4f48-be78-e932ccb8c201 - name: Senior Developer - - uuid: 84217d35-78df-4d1b-91b5-de165ce6c2e7 - name: Team Lead - team: - uuid: c682c830-f67a-4c49-9444-9ef8cec46f43 - name: Team Name 1 - uuid: 036612d0-8879-44a6-b2e2-93e0e30fc7fb - email: invitee2@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ed - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed - - applications: [] - author: - uuid: 36dd8434-8eda-4c75-9f80-4f8a76d622b2 - first_name: David - last_name: Green - last_login_at: '2018-03-21T08:48:07-05:00' - created_at: '2016-03-14T17:37:23-04:00' - mail: david.green@example.com - picture_url: https://accounts.acquia.com/images/users/36dd8434-8eda-4c75-9f80-4f8a76d622b2/style/avatar - username: joe.smith - organization: - uuid: d72c0cf8-62e2-418d-8530-6e54f122cf96 - name: Organization Name - roles: - - uuid: f540b0ba-d32e-4f48-be78-e932ccb8c201 - name: Senior Developer - team: - uuid: 16fa24c5-ff65-4e21-902d-58af2aa11b4c - name: Team Name 2 - uuid: 24f7baea-5d0c-4860-8838-23130f092c48 - email: invitee2@example.com - created_at: '2013-05-15T12:00:00Z' - token: aa1ea69fdcb6bee08b31a858b85535ee - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/aa1ea69fdcb6bee08b31a858b85535ee - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - "/organizations/{organizationUuid}/teams": - get: - tags: - - Organizations - summary: Returns a list of teams associated with the organization. - description: | - Returns a list of teams associated with the organization. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getOrganizationTeams - x-cli-name: organizations:team-list - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Teams" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams - sort: - href: https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc/teams{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/organizations/3856ef7d-5c9a-49e2-8fff-649e9a81a3bc - _embedded: - items: - - uuid: e8a29774-8f46-4765-9529-d564c81ba05f - name: Team Name 1 - created_at: '2013-10-28T14:16:07-0700' - updated_at: '2015-02-19T08:53:10-0800' - organization: - uuid: 842da900-3488-4139-9f31-656665857267 - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c - - uuid: 4b30d7e6-84af-4d80-931a-4172f57fe1b0 - name: Team Name 2 - created_at: '2014-05-27T11:55:39-0700' - updated_at: '2015-01-30T05:49:16-0800' - organization: - uuid: 842da900-3488-4139-9f31-656665857267 - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Organizations - summary: Creates a team. - description: Creates a team. - operationId: postOrganizationTeams - x-cli-name: organizations:team-create - parameters: - - $ref: "#/components/parameters/OrganizationUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - name - properties: - name: - type: string - description: The name of the new team to create. - minLength: 1 - maxLength: 255 - example: - name: My new team - application/x-www-form-urlencoded: - schema: - type: object - required: - - name - properties: - name: - type: string - description: The name of the new team to create. - minLength: 1 - maxLength: 255 - example: - name: My new team - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Invited: - value: - message: Team created. - "201": - description: Created - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Team" - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The organization you are trying to retrieve does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Team name already exists: - value: - error: conflict - message: A team with this name already exists in this organization. - /permissions: - get: - tags: - - Teams and Permissions - summary: Return a list of permissions. - description: | - Displays a list of all available permissions currently in the system. This will include permissions that the user - may not have access to. - operationId: getPermissions - x-cli-name: permissions:list - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Permissions" - example: - total: 49 - _links: - self: - href: https://cloud.acquia.com/api/permissions - _embedded: - items: - - name: deploy to non-prod - label: Pull and deploy code, files, or databases to non-production environments - description: Grants the ability to enable or disable live development and non-production work. - group_label: Workflow - flags: - deprecated: false - - name: deploy to prod - label: Deploy code, files, or databases to the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: pull from prod - label: Pull files or databases from the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file to non-prod - label: Move files to non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file to prod - label: Move files to the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file from prod - label: Move files from production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: move file from non-prod - label: Move files from non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: clear varnish on non-prod - label: Clear Varnish cache for non-production environments - description: null - group_label: Workflow - flags: - deprecated: true - - name: clear varnish on prod - label: Clear Varnish cache for the production environment - description: null - group_label: Workflow - flags: - deprecated: true - - name: configure prod env - label: Configure production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: configure non-prod env - label: Configure non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: add an environment - label: Add an environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: delete an environment - label: Delete an environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: administer domain non-prod - label: Add or remove domains for non-production environments - description: null - group_label: Domains - flags: - deprecated: false - - name: administer domain prod - label: Add or remove domains for the production environment - description: null - group_label: Domains - flags: - deprecated: false - - name: administer ssl prod - label: Add or remove SSL certificates for the production environment - description: null - group_label: Domains - flags: - deprecated: false - - name: administer ssl non-prod - label: Add or remove SSL certificates for the non-production environments - description: null - group_label: Domains - flags: - deprecated: false - - name: reboot server - label: Reboot server - description: null - group_label: Server administration - flags: - deprecated: false - - name: resize server - label: Resize server - description: Increasing the size of your server costs money. - group_label: Server administration - flags: - deprecated: false - - name: suspend server - label: Suspend server - description: null - group_label: Server administration - flags: - deprecated: false - - name: configure server - label: Configure server - description: null - group_label: Server administration - flags: - deprecated: false - - name: download logs non-prod - label: Download logs for non-production environments - description: null - group_label: Logs - flags: - deprecated: false - - name: download logs prod - label: Download logs for the production environment - description: null - group_label: Logs - flags: - deprecated: false - - name: add database - label: Add a database - description: null - group_label: Databases - flags: - deprecated: false - - name: remove database - label: Remove a database - description: null - group_label: Databases - flags: - deprecated: false - - name: view database connection - label: View database connection details (username, password, or hostname) - description: null - group_label: Databases - flags: - deprecated: false - - name: download db backup non-prod - label: Download database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: download db backup prod - label: Download database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: create db backup non-prod - label: Create database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: create db backup prod - label: Create database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: restore db backup non-prod - label: Restore database backups for non-production environments - description: null - group_label: Databases - flags: - deprecated: false - - name: restore db backup prod - label: Restore database backups for the production environment - description: null - group_label: Databases - flags: - deprecated: false - - name: administer team - label: Add or remove a user of a team - description: Granting this permission will give any user with this role full permissions on this team. - group_label: Administration - flags: - deprecated: false - - name: access cloud api - label: Access the Cloud API - description: Grants the ability to use the API and bypass all other permissions via command line tools. - group_label: Administration - flags: - deprecated: false - - name: administer cron non-prod - label: Modify cron tasks for non-production environments - description: null - group_label: Cron - flags: - deprecated: false - - name: administer cron prod - label: Modify cron tasks for the production environment - description: null - group_label: Cron - flags: - deprecated: false - - name: create support ticket - label: Create a support ticket - description: null - group_label: Support - flags: - deprecated: false - - name: edit any support ticket - label: View and edit any support tickets for a subscription - description: null - group_label: Support - flags: - deprecated: false - - name: view build plans - label: View Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: edit build plans - label: Edit Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: run build plans - label: Run Build plans - description: null - group_label: Build - flags: - deprecated: false - - name: add ssh key to git - label: Add SSH key to git repository - description: null - group_label: SSH keys - flags: - deprecated: false - - name: add ssh key to non-prod - label: Add SSH key to non-production environments - description: null - group_label: SSH keys - flags: - deprecated: false - - name: add ssh key to prod - label: Add SSH key to the production environment - description: null - group_label: SSH keys - flags: - deprecated: false - - name: view remote administration - label: View Remote Administration - description: This permission is only relevant if your subscription has remote administration. - group_label: Administration - flags: - deprecated: false - - name: edit remote administration - label: Edit Remote Administration - description: This permission is only relevant if your subscription has remote administration. - group_label: Administration - flags: - deprecated: false - - name: clear caches on prod - label: Clear caches for the production environment - description: null - group_label: Workflow - flags: - deprecated: false - - name: clear caches on non-prod - label: Clear caches for non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - "/roles/{roleUuid}": - get: - tags: - - Teams and Permissions - summary: Return details about a specific role. - description: | - Roles may be assigned to team members, and grant various permissions to the applications that the team is assigned - to. Roles are unique within a organization. - operationId: getRole - x-cli-name: tps:role-find - parameters: - - $ref: "#/components/parameters/RoleUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Role" - example: - uuid: c885728d-cbbe-4e54-bf09-19b751b6d0c7 - name: My Custom Role - description: Some details about my custom role. - permissions: - - name: deploy to non-prod - label: Pull and deploy code, files, or databases to non-production environments - description: Grants the ability to enable or disable live development and non-production work. - group_label: Workflow - flags: - deprecated: false - - name: configure non-prod env - label: Configure non-production environments - description: null - group_label: Workflow - flags: - deprecated: false - - name: download logs non-prod - label: Download logs for non-production environments - description: null - group_label: Logs - flags: - deprecated: false - - name: view database connection - label: View database connection details (username, password, or hostname) - description: null - group_label: Databases - flags: - deprecated: false - organization: - uuid: d122cc06-35bd-41bf-9baa-5b770c8ca0f1 - name: My Organization - last_edited: - edited_at: 2011-03-28T13:09:41-04:00 - user: - uuid: 590909a0-e819-43e6-a8e3-212dc3e35852 - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - username: jane.doe - flags: - default: false - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role not found: - value: - error: not_found - message: The role you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Teams and Permissions - summary: Deletes a specific role by its UUID. - description: Deletes a specific role. - operationId: deleteRole - x-cli-name: tps:roles-delete - parameters: - - $ref: "#/components/parameters/RoleUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: Deleted role. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role not found: - value: - error: not_found - message: The role you are trying to delete does not exist, or you do not have permission to delete it. - put: - tags: - - Teams and Permissions - summary: Updates a role. - operationId: putRoleByUuid - x-cli-name: tps:role-update - security: - - OAuth2: [] - description: Modifies a role. - parameters: - - $ref: "#/components/parameters/RoleUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - name: - type: string - description: The new name of the role. - minLength: 1 - maxLength: 255 - description: - type: string - description: The new description of the role. - minLength: 1 - maxLength: 255 - permissions: - type: array - description: An array of the permissions associated with the role. - items: - type: string - example: - name: My new role name - description: My new role description. - permisions: - - permission 4 - - permission 5 - application/x-www-form-urlencoded: - schema: - type: object - properties: - name: - description: The updated name of the role. - type: string - minLength: 1 - maxLength: 255 - description: - description: The updated description of the role. - type: string - minLength: 1 - maxLength: 255 - permissions: - description: A list of permissions to grant to this role. - type: array - items: - type: string - example: - name: My new role name - description: My new role description. - status: - - permission 4 - - permission 5 - example: - name: My new application name - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - example: - message: Updating role. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role not found: - value: - error: not_found - message: The role you are trying to access does not exist, or you do not have permission to edit it. - /subscriptions: - get: - tags: - - Subscriptions - summary: Return a list of subscription. - description: | - Filterable fields: - * `from` - * `to` - * `sort` - * `filter` - * `limit` - * `offset` - - Sortable fields: - * `from` - * `to` - * `sort` - * `filter` - * `limit` - * `offset` - operationId: getSubscriptions - x-cli-name: subscriptions:list - parameters: - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Subscriptions" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions - sort: - href: https://cloud.acquia.com/api/subscriptions{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/subscriptions{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/ - _embedded: - items: - - id: 123 - uuid: faa297f3-f59a-4abc-8d71-904f51bcb1c5 - name: Acquia Cloud Free Subscription - start_at: 2011-03-28T00:00:00 - expire_at: 2015-11-11T00:00:00 - product: - id: 1890149 - name: Acquia Cloud Free - type: free - applications_total: 3 - applications_used: 1 - organization: - uuid: 39f38840-c494-4622-80a5-fc40269cb42d - name: Acquia Inc. - flags: - active: true - expired: true - zuora: false - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/faa297f3-f59a-4abc-8d71-904f51bcb1c5 - _embedded: - organization: - uuid: 39f38840-c494-4622-80a5-fc40269cb42d - name: Acquia Inc. - _links: - self: - href: https://cloud.acquia.com/api/organizations/39f38840-c494-4622-80a5-fc40269cb42d - parent: - href: https://cloud.acquia.com/api/organizations - - id: 222 - uuid: 36496037-6eb5-482d-8549-e45e1718f2b7 - name: My Acquia Subscription - start_at: '2012-05-15T12:00:00Z' - expire_at: 2015-05-15T12:00:00Z - product: - id: 8999 - name: Enterprise - type: enterprise - applications_total: 5 - applications_used: 2 - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - flags: - active: true - expired: true - zuora: false - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/36496037-6eb5-482d-8549-e45e1718f2b7 - _embedded: - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - _links: - self: - href: https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e - parent: - href: https://cloud.acquia.com/api/organizations - - id: 333 - uuid: 2d92f652-882c-458a-8183-4d9cef7c2fde - name: My Acquia Subscription 2 - start_at: '2012-05-15T12:00:00Z' - expire_at: 2015-05-15T12:00:00Z - product: - id: 8999 - name: Enterprise - type: enterprise - applications_total: 5 - applications_used: 2 - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - flags: - active: true - expired: true - zuora: false - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/2d92f652-882c-458a-8183-4d9cef7c2fde - _embedded: - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - _links: - self: - href: https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e - parent: - href: https://cloud.acquia.com/api/organizations - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: You do not have permission to view subscriptions. - "/subscriptions/{subscriptionUuid}": - get: - tags: - - Subscriptions - summary: Return details about a specific subscription. - description: Return details about a specific subscription. - operationId: getSubscription - x-cli-name: subscriptions:find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Subscription" - example: - id: 329876 - uuid: 8533debb-ae4e-427b-aa34-731719b4201a - name: My Subscription - start_at: 2015-05-13T00:00:00 - expire_at: 2018-05-12T00:00:00 - product: - id: 8999 - name: Enterprise - type: enterprise - applications_total: 10 - applications_used: 0 - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - flags: - active: true - expired: true - zuora: false - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a - applications: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications - entitlements: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/entitlements - ides: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/ides - shield-acl: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/shield-acl - parent: - href: https://cloud.acquia.com/api/subscriptions - _embedded: - organization: - uuid: 93c97126-2870-47f0-9ffd-9a92033c443e - name: My Organization - _links: - self: - href: https://cloud.acquia.com/api/organizations/93c97126-2870-47f0-9ffd-9a92033c443e - parent: - href: https://cloud.acquia.com/api/organizations - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Subscriptions - summary: Modifies a subscription. - description: Modifies a subscription. - operationId: putSubscription - x-cli-name: subscriptions:update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - name: - type: string - description: The new subscription name. - maxLength: 255 - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Subscription updated: - value: - message: Subscription updated. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/apm": - get: - tags: - - Application Performance Monitoring Services - summary: Returns a list of Application Performance Monitoring services associated with the subscription. - description: Returns a list of Application Performance Monitoring services associated with the subscription. - operationId: getSubscriptionApmTypes - x-cli-name: subscriptions:apm-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApmTypes" - example: - total: 1 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm - parent: - href: https://cloud.acquia.com/api/subscriptions - sort: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm{?filter} - templated: true - _embedded: - items: - - type: newrelic - flags: - opted-in: true - key: 2d1dfa83d5e1494793957e7ce572942b - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic - parent: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to access APM summaries for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/apm/{apmType}": - get: - tags: - - Application Performance Monitoring Services - summary: Returns the Application Performance Monitoring service type associated with the subscription. - description: Returns the Application Performance Monitoring service type associated with the subscription. - operationId: getSubscriptionApmType - x-cli-name: subscriptions:apm-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/ApmType" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ApmType" - example: - type: newrelic - flags: - opted-in: true - key: 2d1dfa83d5e1494793957e7ce572942b - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a - parent: - href: https://cloud.acquia.com/api/subscriptions - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: forbidden - message: You do not have permission to access this APM summary type. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/apm/{apmType}/actions/opt-in": - post: - tags: - - Application Performance Monitoring Services - summary: Enables New Relic Pro APM license for all applications on a subscription. - description: Enables New Relic Pro APM license for all applications on a subscription. This authorizes Acquia to create a new user account on the third-party New Relic platform using the name and e-mail address of the organization owner. - operationId: postSubscriptionApmOptIn - x-cli-name: subscriptions:apm-opt-in - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/ApmType" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - examples: - APM Type Enabled: - value: - message: APM type newrelic has been enabled on the example subscription. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic/actions/opt-in - parent: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/apm/newrelic/actions - notification: - href: https://cloud.acquia.com/api/notifications/7b37b885-8ae4-454b-b8fa-ffaeff54f6a4 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - APM type unavailable: - value: - error: validation_failed - message: - name: New Relic is not available for this subscription. - Must be organization owner: - value: - error: validation_failed - message: - name: Only the organization owner may opt into data sharing. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to opt-in to APM settings for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/applications": - get: - tags: - - Subscriptions - summary: Provides a list of applications that are a part of the subscription. - description: | - Filterable fields: - * `from` - * `to` - * `sort` - * `filter` - * `limit` - * `offset` - - Sortable fields: - * `from` - * `to` - * `sort` - * `filter` - * `limit` - * `offset` - operationId: getSubscriptionApplications - x-cli-name: subscriptions:application-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionApplications" - example: - total: 2 - pagination: - total: 2 - limit: 10 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications - parent: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a - sort: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/applications{?limit} - templated: true - _embedded: - items: - - id: 241643 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample application 1 - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - flags: - remote_admin: true - status: normal - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d470 - - id: 954291 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d471 - name: Sample application 2 - hosting: - type: free - id: devcloud:devcloud2 - subscription: - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d470 - name: Sample subscription - organization: - uuid: 6a907396-abfd-4d01-9da6-64c8efc04519 - name: Sample organization - flags: - remote_admin: false - status: provisioning - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/a47ac10b-58cc-4372-a567-0e02b2c3d471 - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - example: - error: not_found - message: You do not have permission to view applications. - "/subscriptions/{subscriptionUuid}/code-studio": - get: - tags: - - Subscriptions - summary: Retrieves Code Studio metadata for a subscription. - description: Retrieves Code Studio metadata for a subscription. - operationId: getCodeStudioSubscriptionMetadata - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioSubscriptionMetadata" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio - subscription: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - users: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - applications: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications - code-studio: - href: https://code.acquia.com - code-studio-api: - href: https://code.acquia.com/api/v4 - _embedded: - subscription: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - uuid: e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - name: My Subscription - status: active - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - options: - tags: - - Subscriptions - summary: Displays Code Studio options for a subscription. - description: Displays Code Studio options for a subscription. - operationId: optionsCodeStudio - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioOptions" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - roles: - a9bdb481-63f4-4770-93ee-bf6c630238cf: Guest - c6c76597-dd30-4149-8a76-3c58d764bc66: Reporter - 4a996644-5a6e-4403-9306-6c08cb212ee1: Developer - 90abb6cc-f609-41db-a92d-1900b1c7d93f: Maintainer - e62722c0-64dc-4d87-88ac-9f7bef645572: Owner - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/code-studio/actions/enable": - post: - tags: - - Subscriptions - summary: Enables Code Studio for a subscription. - description: Enables and provisions Code Studio at the subscription level. - operationId: postEnableCodeStudio - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/actions/enable - notification: - href: https://cloud.acquia.com/api/notifications/34c7ed7e-2db8-433f-b6a8-96bc1080e3c9 - notification_id: 34c7ed7e-2db8-433f-b6a8-96bc1080e3c9 - message: Code Studio has been enabled for the Subscription. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to enable Code Studio for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/code-studio/applications": - get: - tags: - - Subscriptions - summary: Retrieves a list of Code Studio enabled applications for a subscription. - description: Retrieves a list of Code Studio enabled applications for a subscription. - operationId: getCodeStudioApplications - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioApplications" - example: - total: 1 - pagination: - limit: 10 - total: 1 - offset: 0 - _links: - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - code-studio: - href: https://code.acquia.com - code-studio-api: - href: https://code.acquia.com/api/v4 - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1 - filter: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1{&filter} - templated: true - sort: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/applications?offset=1{&sort} - templated: true - _embedded: - items: - - _links: - self: - href: https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343 - project: - href: https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343/code-studio - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342 - _embedded: - project: - _links: - self: - href: https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343/code-studio - parent: - href: https://cloud.acquia.com/api/applications/b91be25b-8eba-4ff7-94c8-d51637da2343 - code-studio: - href: https://code.acquia.com/path/to/project - code-studio-api: - href: https://code.acquia.com/api/v4/path/to/project - application_id: b91be25b-8eba-4ff7-94c8-d51637da2343 - status: active - uuid: b91be25b-8eba-4ff7-94c8-d51637da2343 - name: My Application - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/code-studio/users": - get: - tags: - - Subscriptions - summary: Retrieves a list of users assigned to Code Studio for a subscription. - description: Retrieves a list of users assigned to Code Studio for a subscription. - operationId: getCodeStudioUsers - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioUsers" - example: - total: 1 - pagination: - limit: 10 - total: 1 - offset: 0 - _links: - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - code-studio: - href: https://code.acquia.com - code-studio-api: - href: https://code.acquia.com/api/v4 - filter: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users{?filter} - templated: true - sort: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users{?sort} - templated: true - _embedded: - items: - - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users/cc27c5b6-d641-4e72-8897-75874ecf82e6 - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - code-studio: - href: https://code.acquia.com - code-studio-api: - href: https://code.acquia.com/api/v4 - uuid: cc27c5b6-d641-4e72-8897-75874ecf82e6 - first_name: Jane - last_name: Doe - mail: jane.doe@test.com - role: b3d8e9f1-8cb6-43c0-b579-0c465f5fdf49 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Subscriptions - summary: Assigns a user to a Code Studio seat for a subscription. - description: Assigns a user to Code Studio seat for a subscription. - operationId: postCodeStudioUsers - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - user_id: - type: string - description: The ID of the user to assign. - role: - type: string - description: The ID of the Code Studio role to assign to the user. - example: - user_id: 0b9bea4e-f469-44dd-a4b6-965aad734198 - role: ba8e9a8b-5e98-43b0-a0ec-40b2a813879a - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - notification: - href: https://cloud.acquia.com/api/notifications/4e3cae56-5547-4ac7-b552-5dc87b50a8d3 - message: A Code Studio user has been added to the Subscription. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to add a Code Studio user to this Subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/code-studio/users/{userUuid}": - get: - tags: - - Subscriptions - summary: Retrieves details about a specific Code Studio user. - description: Retrieves details about a specific Code Studio user. - operationId: getCodeStudioUser - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/UserUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/CodeStudioUser" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users/bd06a2fe-a103-400e-b397-b4d27538e1b3 - parent: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - code-studio: - href: https://code.acquia.com - code-studio-api: - href: https://code.acquia.com/api/v4 - uuid: bd06a2fe-a103-400e-b397-b4d27538e1b3 - first_name: Jane - last_name: Doe - mail: jane.doe@test.com - role: 90ad1576-84d9-43e5-b9db-0aad54dd5ade - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: forbidden - message: Code Studio is not available for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - Code Studio user not found: - value: - error: not_found - message: The Code Studio user you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Subscriptions - summary: Unassigns a user from a Code Studio seat. - description: Unassigns a user from a Code Studio seat. - operationId: deleteCodeStudioUser - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/UserUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/e5bfb18f-2c6c-4534-bb9b-15ba73e17342/code-studio/users - notification: - href: https://cloud.acquia.com/api/notifications/4e3cae56-5547-4ac7-b552-5dc87b50a8d3 - message: The Code Studio user is being removed from the Subscription. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to remove the Code Studio user from this Subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/domains": - get: - tags: - - Subscriptions - summary: Returns a list of Domains registered with this subscription. - description: Returns a list of Domains registered with this subscription. - operationId: getSubscriptionDomainRegistrations - x-cli-name: subscriptions:domain-registrations-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/DomainRegistrations" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000 - limit: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?offset} - templated: true - sort: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains{?filter} - templated: true - _embedded: - items: - - uuid: 123e4567-e89b-12d3-a456-426614174000 - domain_name: example.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record. - summary: Missing DNS record - dns_records: - - type: TXT - name: _amazonses.example.com - value: AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: TXT - name: _acquiaplatform.example.com - value: aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: MX - name: mail.example.com - value: 10 feedback-smtp.us-east-1.amazonses.com - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: TXT - name: mail.example.com - value: v=spf1 include:amazonses.com ~all - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - - uuid: 123e4567-e89b-12d3-a456-426614174000 - domain_name: example2.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record. - summary: Missing DNS record - dns_records: - - type: TXT - name: _amazonses.example2.com - value: AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: TXT - name: _acquiaplatform.example2.com - value: aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: MX - name: mail.example2.com - value: 10 feedback-smtp.us-east-1.amazonses.com - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: TXT - name: mail.example2.com - value: v=spf1 include:amazonses.com ~all - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example2.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage domain registrations for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Subscriptions - summary: Registers a Domain with this subscription. - description: Registers a Domain with this subscription. - operationId: postSubscriptionDomainRegistration - x-cli-name: subscriptions:post-domain-registration - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - domain: - type: string - format: hostname - description: The domain name to add. - minLength: 3 - maxLength: 253 - example: - domain: example.com - application/x-www-form-urlencoded: - schema: - type: object - properties: - domain: - type: string - description: The domain name to add. - minLength: 3 - maxLength: 253 - example: - domain: example.com - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The domain has been registered. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to manage domain registrations for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - No domain or permission: - value: - error: not_found - message: The domain registration you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Domain limit: - value: - error: conflict - message: The maximum number of domains for Platform Email have been registered. - "/subscriptions/{subscriptionUuid}/domains/{domainRegistrationUuid}": - get: - tags: - - Subscriptions - summary: Returns a speicific Domain registered with this subscription. - description: Returns a speicific Domain registered with this subscription. - operationId: getSubscriptionDomainRegistration - x-cli-name: subscriptions:get-domain-registration - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/DomainRegistrationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/DomainRegistration" - example: - uuid: 123e4567-e89b-12d3-a456-426614174000 - domain_name: example.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM/SPF/TXT DNS record. - summary: Missing DNS record - dns_records: - - type: TXT - name: _amazonses.example.com - value: AB/CD4Hef1+c0D7+wYS2xQ+EBr3HZiXRWDJHrjEWOhs= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: TXT - name: _acquiaplatform.example.com - value: aGh54oW35sd5LMGhas1fWrnRrticnsdndf,43= - health: - code: "404" - details: Acquia could not verify the presence of the required TXT DNS record - summary: Missing DNS record - - type: MX - name: mail.example.com - value: 10 feedback-smtp.us-east-1.amazonses.com - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: TXT - name: mail.example.com - value: v=spf1 include:amazonses.com ~all - health: - code: "202" - details: Acquia is in the process of verifying SPF DNS records. - summary: Verification pending - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - - type: CNAME - name: abcdefgh1ijkl2mnopq34rstuvwxyz._domainkey.example.com - value: abcdefgh1ijkl2mnopq34rstuvwxyz.dkim.amazonses.com - health: - code: "404" - details: Acquia could not verify the presence of the required DKIM DNS record - summary: Missing DNS record - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - No domain or permission: - value: - error: not_found - message: The domain registration you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Subscriptions - summary: Unregisters a Domain registered with this subscription. - description: Unregisters a Domain registered with this subscription. - operationId: deleteSubscriptionDomainRegistration - x-cli-name: subscriptions:delete-domain-registration - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/DomainRegistrationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The domain has been unregistered from the subscription. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to remove domains from this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - No domain or permission: - value: - error: not_found - message: The domain you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Domain not registered: - value: - error: conflict - message: example.com is not registered with this subscription. - "/subscriptions/{subscriptionUuid}/domains/{domainRegistrationUuid}/actions/verify": - post: - tags: - - Subscriptions - summary: Triggers re-verification and update to the domain verification status. - description: Triggers re-verification and update to the domain verification status. - operationId: postSubscriptionVerifyDomainRegistration - x-cli-name: subscriptions:post-verify-domain-registration - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/DomainRegistrationUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: The domain status is being verified. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000/actions/verify - parent: - href: https://cloud.acquia.com/api/subscriptions/123e4567-e89b-12d3-a456-426614174000/domains/123e4567-e89b-12d3-a456-426614174000 - notification: - href: https://cloud.acquia.com/api/notifications/123e4567-e89b-12d3-a456-426614174000 - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No domain or permission: - value: - error: not_found - message: The domain registration you are trying to access does not exist, or you do not have permission to access it. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription with UUID 123e4567-e89b-12d3-a456-426614174000 does not exist. - No domain or permission: - value: - error: not_found - message: The domain registration you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No entitlement: - value: - error: conflict - message: Platform Email is not available for this subscription. - Verification already pending: - value: - error: conflict - message: This domain cannot be reverified at this time. - "/subscriptions/{subscriptionUuid}/entitlements": - get: - tags: - - Subscriptions - summary: Provides a list of entitlements that are a part of the subscription. - description: Provides a list of entitlements that are a part of the subscription. - operationId: getSubscriptionEntitlements - x-cli-name: subscriptions:entitlements-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Entitlements" - example: - _embedded: - items: - - name: cde - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: - databases_total: 3 - total: 10 - used: 1 - - name: pipelines - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: [] - - name: newrelic - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: - id: 03816870a4724c900292bc9f0955a315 - level: pro - - name: log-forwarding - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: [] - - name: shield - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: [] - - name: consumption-based-pricing - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: - visits: 10000000 - views: 500000000 - - name: migrate-accelerator - offering_ids: - - b2a188df-00b7-47bf-a664-66835cde53b0 - expires_at: '2023-05-16T11:15:05+00:00' - flags: - trial: true - properties: [] - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a/entitlements - parent: - href: https://cloud.acquia.com/api/subscriptions/8533debb-ae4e-427b-aa34-731719b4201a - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/ides": - get: - tags: - - Subscriptions - summary: Returns a list of Cloud IDEs associated with this subscription. - description: Returns a list of Cloud IDEs associated with this subscription. - operationId: getSubscriptionIdes - x-cli-name: subscriptions:ide-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Ides" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/5d278c52-4876-4c70-a666-d671f77a602d/ides - parent: - href: https://cloud.acquia.com/api/subscriptions/5d278c52-4876-4c70-a666-d671f77a602d - _embedded: - items: - - uuid: 9a83c081-ef78-4dbd-8852-11cc3eb248f7 - label: IDE Label 1 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/9a83c081-ef78-4dbd-8852-11cc3eb248f7 - web: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.web.ahdev.cloud - ide: - href: https://9a83c081-ef78-4dbd-8852-11cc3eb248f7.ides.acquia.com - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - _embedded: - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - last_login_at: '2019-01-31T10:53:11-05:00' - created_at: '2016-08-14T17:38:59-04:00' - email: user.name@example.com - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - - uuid: feea197a-9503-4441-9f49-b4d420b0ecf8 - label: IDE Label 2 - status: active - _links: - self: - href: https://cloud.acquia.com/api/ides/feea197a-9503-4441-9f49-b4d420b0ecf8 - web: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.web.ahdev.cloud - ide: - href: https://feea197a-9503-4441-9f49-b4d420b0ecf8.ides.acquia.com - application: - href: https://cloud.acquia.com/api/applications/461fe350-7988-42b3-a73e-cffcdbb94199 - _embedded: - owner: - uuid: 10be1d3e-f2b4-4d34-855d-321df3938ffd - first_name: First - last_name: Last - last_login_at: '2019-01-31T10:53:11-05:00' - created_at: '2016-08-14T17:38:59-04:00' - email: user.name@example.com - picture_url: https://accounts.acquia.com/path/to/image.png - username: user.name - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage": - get: - tags: - - Subscriptions - summary: Retrieves traversal links for a subscription's usage data. - description: Retrieves traversal links for a subscription's usage data. - operationId: getSubscriptionsUsageLinks - x-cli-name: subscriptions:usage-links - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Usage" - example: - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics - data: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data - data-by-application: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application - views: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views - views-by-application: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application - visits: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits - visits-by-application: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Subscription not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage/data": - get: - tags: - - Subscriptions - summary: Retrieves aggregate usage data for a subscription. - description: | - Filterable fields: - * `metric` - One of: {`views`, `visits`} - * `application` - * `from` - * `to` - operationId: getSubscriptionsUsageData - x-cli-name: subscriptions:usage-data - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionUsageMetrics" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - filter: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this subscription. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage/data-by-application": - get: - tags: - - Subscriptions - summary: Retrieves usage data for a subscription, broken down by application. - description: | - Filterable fields: - * `metric` - One of: {`views`, `visits`} - * `application` - operationId: getSubscriptionsUsageDataByApplication - x-cli-name: subscriptions:usage-data-by-application - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionUsageMetrics" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - limit: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/data-by-application{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage/{usageMetric}": - get: - tags: - - Subscriptions - summary: Retrieves aggregate usage metric data for a subscription. - description: | - Filterable fields: - * `application` - operationId: getSubscriptionsUsageMetricData - x-cli-name: subscriptions:usage-metric-data - parameters: - - $ref: "#/components/parameters/UsageMetric" - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionUsageMetric" - example: - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage/views-by-application": - get: - tags: - - Subscriptions - summary: Retrieves views data for a subscription, broken down by application. - description: | - Filterable fields: - * `application` - operationId: getSubscriptionsUsageViewsDataByApplication - x-cli-name: subscriptions:usage-views-data-by-application - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionUsageMetrics" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - limit: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/views-by-application{?filter} - templated: true - _embedded: - items: - - metric: views - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "9" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/views - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/metrics/usage/visits-by-application": - get: - tags: - - Subscriptions - summary: Retrieves visits data for a subscription, broken down by application. - description: | - Filterable fields: - * `application` - operationId: getSubscriptionsUsageVisitsDataByApplication - x-cli-name: subscriptions:usage-visits-data-by-application - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/From" - - $ref: "#/components/parameters/To" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Resolution" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/SubscriptionUsageMetrics" - example: - total: 2 - pagination: - total: 2 - limit: 2 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application - parent: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage - limit: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?limit} - templated: true - offset: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?offset} - templated: true - filter: - href: https://cloud.acquia.com/api/subscriptions/9567a611-4cdd-4586-8b3f-f3980a87e471/metrics/usage/visits-by-application{?filter} - templated: true - _embedded: - items: - - metric: visits - datapoints: - - - '2019-03-13T00:00:00+00:00' - - "3" - - - '2019-03-14T00:00:00+00:00' - - "1" - last_data_at: '2019-03-14T00:00:00+00:00' - metadata: - subscription: - uuids: - - 9567a611-4cdd-4586-8b3f-f3980a87e471 - application: - uuids: - - 1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - environment: - ids: - - 123-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 124-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - - 125-1df8bff7-ffda-4571-b64a-f90f60f4dbf8 - _links: - self: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage/visits - parent: - href: https://cloud.acquia.com/api/applications/1df8bff7-ffda-4571-b64a-f90f60f4dbf8/metrics/usage - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to view usage metrics for this application. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application not found: - value: - error: not_found - message: The application you are trying to access does not exist, or you do not have permission to access it. - "/subscriptions/{subscriptionUuid}/shield-acl": - get: - tags: - - Subscriptions - summary: Provides a list of Shield ACL rules. - description: Provides a list of Shield ACL rules. - operationId: getShieldAcl - x-cli-name: subscriptions:shield-acl-list - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ShieldAclCollection" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/abcd1234-58cc-4372-a567-0e02b2c3d470/shield-acl - parent: - href: https://cloud.acquia.com/api/subscriptions/abcd1234-58cc-4372-a567-0e02b2c3d470 - _embedded: - items: - - uuid: d5afa695-92a0-401b-b973-1f09992d6ba2 - subscription: - uuid: 720d4df4-7469-47f2-9e42-a6a5152761bf - name: Example Subscription - description: My rule 1 - service: ssh - addresses: - - 127.0.0.82/32 - - 127.0.0.83/32 - action: allow - status: active - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba2 - parent: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl - - uuid: d5afa695-92a0-401b-b973-1f09992d6ba3 - subscription: - uuid: 720d4df4-7469-47f2-9e42-a6a5152761bf - name: Example Subscription - description: My rule 2 - service: ssh - addresses: - - 192.168.2.2/24 - action: allow - status: active - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba3 - parent: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl - "403": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: not_found - message: You do not have permission to view the Shield ACL rules for subscription d17b25bb-28dd-4a24-8f89-bfe8b1e151e9. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Subscriptions - summary: Creates a Shield ACL rule. - description: Creates a Shield ACL rule. - operationId: postShieldAcl - x-cli-name: subscriptions:shield-acl-create - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - description: - type: string - description: The description of the new Shield ACL rule. - minLength: 1 - maxLength: 255 - addresses: - type: array - description: A list of IP addresses and/or CIDRs for this Shield ACL rule. - items: - type: string - description: An IP address and/or CIDRs for this Shield ACL rule. - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Shield ACL rule for subscription has been created. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl/bf8b6858-1e36-4b8e-bb05-35bdd986f5d2 - parent: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl - notification: - href: https://cloud.acquia.com/api/notifications/fbd0581d-7606-43d0-9d2e-4d9fa6570a0d - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Acquia Shield not available: - value: - error: validation_failed - message: - general: Shield rules can only be added to subscriptions that have Acquia Shield. - Maximum Shield ACL rules: - value: - error: validation_failed - message: - general: You have already used the maximum number of Shield rules for this subscription. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: You do not have permission to create a new Shield ACL rule. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Shield ACL updates in progress: - value: - error: conflict - message: - general: Shield ACL rules cannot be created while ACL rule updates are in progress. - "/subscriptions/{subscriptionUuid}/shield-acl/{shieldAclUuid}": - get: - tags: - - Subscriptions - summary: Returns the specified Shield ACL rule. - operationId: getShieldAclRuleByUuid - x-cli-name: subscriptions:shield-acl-find - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/ShieldAclUuid" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ShieldAcl" - example: - uuid: d5afa695-92a0-401b-b973-1f09992d6ba2 - subscription: - uuid: 720d4df4-7469-47f2-9e42-a6a5152761bf - name: Example Subscription - description: My rule 1 - service: ssh - addresses: - - 127.0.0.82/32 - - 127.0.0.83/32 - action: allow - status: active - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/d5afa695-92a0-401b-b973-1f09992d6ba2 - parent: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to view the Shield ACL rules for subscription 720d4df4-7469-47f2-9e42-a6a5152761bf - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No Shield Acl: - value: - error: not_found - message: The Shield ACL rule you are trying to access does not exist, or you do not have permission to access it. - No subscription: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Subscriptions - summary: Updates a Shield ACL rule. - description: Updates a Shield ACL rule. - operationId: putShieldAcl - x-cli-name: subscriptions:shield-acl-update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/ShieldAclUuid" - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - description: - type: string - description: The description of the new Shield ACL rule. - minLength: 1 - maxLength: 255 - addresses: - type: array - description: A list of IP addresses and/or CIDRs for this Shield ACL rule. - items: - type: string - description: An IP address and/or CIDRs for this Shield ACL rule. - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Updated ACL rule for subscription. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl/b23588f8-dbfa-4fb8-92a1-60e0dd08eee9 - parent: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl - notification: - href: https://cloud.acquia.com/api/notifications/87ae4d57-24d6-4b4b-8552-d9658b4e2dea - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to edit a Shield ACL rule. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Validation failed: - value: - error: conflict - message: The Shield ACL rule is not active. - Same values: - value: - error: conflict - message: The Shield ACL rule already contains the same values. - delete: - tags: - - Subscriptions - summary: Deletes a Shield ACL rule. - description: Deletes a Shield ACL rule. - operationId: deleteShieldAcl - x-cli-name: subscriptions:shield-acl-delete - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - - $ref: "#/components/parameters/ShieldAclUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: "Deleted ACL rule (UUID: 93136254-7d65-465c-82e9-5e92d74ae6b4) for subscription (UUID: 720d4df4-7469-47f2-9e42-a6a5152761bf)." - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl/93136254-7d65-465c-82e9-5e92d74ae6b4 - parent: - href: https://cloud.acquia.com/api/subscriptions/720d4df4-7469-47f2-9e42-a6a5152761bf/shield-acl - notification: - href: https://cloud.acquia.com/api/notifications/98c1c68d-d33d-4340-8cd2-f32bdbf035f3 - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Acquia Shield not available: - value: - error: validation_failed - message: - general: Shield rules can only be deleted from subscriptions that have Acquia Shield. - Shield ACL rule not associated: - value: - error: validation_failed - message: - general: The Shield ACL Rule with UUID 638c13e7-0455-45de-ab63-def9d348d50f does not belong to the subscription with UUID e3959c8a-f53d-49a1-adb7-acdc8e717940. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: unauthorized - message: You do not have permission to delete a Shield ACL rule. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - No subscription: - value: - error: not_found - message: The subscription with UUID 720d4df4-7469-47f2-9e42-a6a5152761bf does not exist. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Shield ACL updates in progress: - value: - error: conflict - message: - general: Shield ACL rules cannot be deleted while ACL rule updates are in progress. - "/subscriptions/{subscriptionUuid}/shield-acl/actions/reset": - post: - tags: - - Subscriptions - summary: Resets Shield ACL rules to default settings. - operationId: postResetShieldAcl - x-cli-name: subscriptions:shield-acl-reset - parameters: - - $ref: "#/components/parameters/SubscriptionUuid" - responses: - "202": - description: Accepted - content: - application/hal+json: - schema: - $ref: "#/components/schemas/MessageWithLinks" - example: - message: Shield ACL rules reset for subscription with UUID 94afc849-3b5a-49cd-bcae-464333994019. - _links: - self: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019/shield-acl - parent: - href: https://cloud.acquia.com/api/subscriptions/94afc849-3b5a-49cd-bcae-464333994019 - notification: - href: https://cloud.acquia.com/api/notifications/a894467e-8ea2-4b0d-9b03-27909098ee3a - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Acquia Shield not available: - value: - error: validation_failed - message: - general: Shield rules can only be reset on subscriptions that have Acquia Shield. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to reset Shield ACL rules. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No subscription or permission: - value: - error: not_found - message: The subscription you are trying to access does not exist, or you do not have permission to access it. - No subscription: - value: - error: not_found - message: A subscription with UUID 720d4df4-7469-47f2-9e42-a6a5152761bf cannot be found. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Shield ACL updates in progress: - value: - error: conflict - message: - general: Shield ACL rules cannot be reset while ACL rule updates are in progress. - /teams: - get: - tags: - - Teams and Permissions - summary: Return teams the current user has access to. - description: | - Returns a list of teams the current user has access to. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getTeams - x-cli-name: tps:teams-list - parameters: - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Range" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Teams" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/teams - _embedded: - items: - - uuid: abcd1234-82b5-11e3-9170-12313920a02c - name: Team Name 1 - created_at: '2013-10-28T14:16:07-0700' - updated_at: '2015-02-19T08:53:10-0800' - organization: - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c - - uuid: 1234abcd-82b5-11e3-9170-12313920a02c - name: Team Name 2 - created_at: '2014-05-27T11:55:39-0700' - updated_at: '2015-01-30T05:49:16-0800' - organization: - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/9ca6ecc0-e5d0-11e3-9eb3-22000b04072f - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to view teams. - "/teams/{teamUuid}": - get: - tags: - - Teams and Permissions - summary: Return details about a specific team. - description: Return details about a specific team. - operationId: getTeam - x-cli-name: tps:team-find - parameters: - - $ref: "#/components/parameters/TeamUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Team" - example: - uuid: 2c9ea556-4016-11e3-9170-12313920a02c - name: Sample Team - created_at: '2013-10-28T14:16:07-0700' - updated_at: '2015-02-19T08:53:10-0800' - organization: - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c - members: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/members - applications: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/applications - invites: - href: https://cloud.acquia.com/api/teams/2c9ea556-4016-11e3-9170-12313920a02c/invites - parent: - href: https://cloud.acquia.com/api/teams - _embedded: - organization: - - uuid: 2375e327-3fff-11e3-9170-12313920a02c - name: Sample Organization - _links: - self: - href: https://cloud.acquia.com/api/organizations/2375e327-3fff-11e3-9170-12313920a02c - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - put: - tags: - - Teams and Permissions - summary: Change the name of a team. - description: Change the name of a team. - operationId: putTeamsName - x-cli-name: tps:team-update - security: - - OAuth2: [] - parameters: - - $ref: "#/components/parameters/TeamUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - properties: - name: - type: string - description: The new name of the team. - minLength: 1 - maxLength: 255 - example: - name: My new team name - application/x-www-form-urlencoded: - schema: - type: object - properties: - name: - type: string - description: The new name of the team. - minLength: 1 - maxLength: 255 - example: - name: My new team name - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Team renamed: - value: - message: Team renamed. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Role not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to rename it. - delete: - tags: - - Teams and Permissions - summary: Deletes a specific team by its UUID. - description: Deletes a specific team by its UUID. - operationId: deleteTeam - x-cli-name: tps:team-delete - parameters: - - $ref: "#/components/parameters/TeamUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Removed team: - value: - message: Removed team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Team not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to remove it. - "/teams/{teamUuid}/actions/leave": - post: - tags: - - Teams and Permissions - summary: Removes the current user from a team. - description: Removes the current user from a team. - operationId: postLeaveTeam - x-cli-name: tps:user-leave - parameters: - - $ref: "#/components/parameters/TeamUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Left team: - value: - message: You have left the team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - Invalid team: - value: - error: not_found - message: Invalid team supplied. No action performed. - Invalid user: - value: - error: not_found - message: Invalid user supplied. No action performed. - User not on team: - value: - error: not_found - message: The user is not a member of this team. - "/teams/{teamUuid}/applications": - get: - tags: - - Teams and Permissions - summary: Returns a list of applications this team has access to. - description: | - Returns a list of applications this team has access to. - - Filterable fields: - * `name` - - Sortable fields: - * `name` - operationId: getTeamApplications - x-cli-name: tps:team-application-list - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/TeamApplications" - example: - total: 2 - pagination: - total: 2 - limit: 10 - offset: 0 - _links: - self: - href: https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications - sort: - href: https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5/applications{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/teams/f6c5006c-f670-4778-9ae5-49018475ece5 - _embedded: - items: - - id: 241643 - uuid: 50cf9819-6f99-4ef2-be10-1a85dc354ca1 - name: Sample application 1 - hosting: - type: acp - id: devcloud:devcloud2 - subscription: - uuid: fc04cc3e-8d91-4fb4-a8dd-15dc81df7458 - name: Sample subscription - organization: - uuid: 434aac3d-bb5f-44d1-bea4-398addbf5a04 - name: Sample organization - flags: - remote_admin: true - status: normal - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/applications/50cf9819-6f99-4ef2-be10-1a85dc354ca1 - - id: 954291 - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d471 - name: Sample application 2 - hosting: - type: free - id: devcloud:devcloud2 - subscription: - uuid: fc04cc3e-8d91-4fb4-a8dd-15dc81df7458 - name: Sample subscription - organization: - uuid: 434aac3d-bb5f-44d1-bea4-398addbf5a04 - name: Sample organization - flags: - remote_admin: false - status: provisioning - type: drupal - _links: - self: - href: https://cloud.acquia.com/api/teams/a47ac10b-58cc-4372-a567-0e02b2c3d471/applications - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Teams and Permissions - summary: Adds an application to this team. - description: Adds an application to this team. - operationId: postTeamAddApplication - x-cli-name: tps:team-application-add - parameters: - - $ref: "#/components/parameters/TeamUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - uuid - properties: - uuid: - type: string - description: The uuid of the application to add to this team. - format: uuid - minLength: 36 - maxLength: 36 - example: - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - application/x-www-form-urlencoded: - schema: - type: object - required: - - uuid - properties: - uuid: - type: string - description: The uuid of the application to add to this team. - format: uuid - minLength: 36 - maxLength: 36 - example: - uuid: a47ac10b-58cc-4372-a567-0e02b2c3d470 - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Added application: - value: - message: Added application to team. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: forbidden - message: The application you are trying to access does not exist, or you do not have permission to access it. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - Application mismatch: - value: - error: not_found - message: The application must belong to the same organization as this team. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Application already on team: - value: - error: conflict - message: The application is already on this team. - "/teams/{teamUuid}/applications/{applicationUuid}": - delete: - tags: - - Teams and Permissions - summary: Removes the application from this team. - description: Removes the application from this team. Team members will immediately lose access to this application. - operationId: deleteTeamsRemoveApplication - x-cli-name: tps:team-application-remove - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/ApplicationUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Removed application: - value: - message: Removed application from team. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: forbidden - message: The application you are trying to access does not exist, or you do not have permission to access it. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Team not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - Application mismatch: - value: - error: not_found - message: The application is not associated with this team. - "/teams/{teamUuid}/invites": - get: - tags: - - Teams and Permissions - summary: Returns a list of invitations to this team. - description: | - Returns a list of invitations to this team. - - Filterable fields: - * `mail` - * `token` - * `author` - - Sortable fields: - * `mail` - * `token` - * `author` - operationId: getTeamInvites - x-cli-name: tps:team-invite-list - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Range" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/TeamInvites" - example: - total: 2 - _links: - self: - href: https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites - sort: - href: https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?sort} - templated: true - filter: - href: https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?filter} - templated: true - limit: - href: https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625/invites{?limit} - templated: true - parent: - href: https://cloud.acquia.com/api/teams/06adb604-d918-49f0-8ad6-06f037a4c625 - _embedded: - items: - - applications: - - uuid: 88dc87db-1169-4908-9384-2328a7bd5cc1 - name: Main Application - author: - uuid: ff4d12d9-1aba-472a-b0d1-ba19342922fa - username: jane.doe - first_name: Jane - last_name: Doe - mail: jane.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=jane.doe@example.com - roles: - - uuid: aba649d1-795e-4472-87c8-7b32536c71b3 - name: Senior Developer - - uuid: a70a0192-c962-421a-b534-393c245ba142 - name: Team Lead - organization: - uuid: 3f3fc2da-bb2b-473c-aa5c-8b9d8fa6c7b8 - name: Organization Name - team: - uuid: 9ab05712-29b7-4171-8168-2ed085ea32b2 - name: Team Name - uuid: f4347e76-bcd7-41f6-91aa-ac6691755f0c - email: invitee@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ec - flags: - declined: true - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ec - - applications: - - uuid: 88dc87db-1169-4908-9384-2328a7bd5cc1 - name: Main Application - - uuid: a2345672-58cc-4372-a567-0e02b2c3d470 - name: Secondary Application - author: - uuid: 80363753-76dc-486c-b942-57ff9fc131ee - username: john.doe - first_name: John - last_name: Doe - mail: john.doe@example.com - picture_url: https://accounts.acquia.com/sites/default/files/avatars/123abc?mail=john.doe@example.com - roles: - - uuid: aba649d1-795e-4472-87c8-7b32536c71b3 - name: Senior Developer - organization: - uuid: 3f3fc2da-bb2b-473c-aa5c-8b9d8fa6c7b8 - name: Organization Name - team: - uuid: 9ab05712-29b7-4171-8168-2ed085ea32b2 - name: Team Name - uuid: 6bf96944-bb9b-4629-b593-d658e44d8054 - email: invitee2@example.com - created_at: '2012-05-15T12:00:00Z' - token: dd9ea69fdcb6bee08b31a858b85535ed - flags: - declined: false - _links: - self: - href: https://cloud.acquia.com/api/invites/dd9ea69fdcb6bee08b31a858b85535ed - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to view invites for this team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - post: - tags: - - Teams and Permissions - summary: Invites a user to join a team. - description: Invites a user to join a team. - operationId: postTeamsInviteUser - x-cli-name: tps:team-user-invite - parameters: - - $ref: "#/components/parameters/TeamUuid" - requestBody: - required: true - content: - application/hal+json: - schema: - $ref: "#/components/schemas/PostInvite" - example: - email: person@example.com - roles: - - 489efe35-7bb7-48b7-9aa2-f6f8f457c926 - - 8025e9a7-781a-4ad1-b7ea-1f1b732944c2 - application/x-www-form-urlencoded: - schema: - $ref: "#/components/schemas/PostInvite" - example: - $ref: "#/paths/~1teams~1%7BteamUuid%7D~1invites/post/requestBody/content/application~1hal%2Bjson/example" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Invited: - value: - message: Invited team member. - "201": - description: Created - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Invite" - "400": - description: Bad Request - content: - application/hal+json: - schema: - $ref: "#/components/schemas/ValidationError" - examples: - Missing parameter: - value: - error: validation_failed - message: - name: "Missing required parameter(s): example_param" - Invalid parameter: - value: - error: validation_failed - message: - name: "Invalid values for parameter(s): example_param" - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Insufficient permissions: - value: - error: forbidden - message: You do not have permission to invite users to this team. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Team not found: - value: - error: not_found - message: The team you are trying to modify does not exist, or you do not have permission to access it. - Role not found: - value: - error: not_found - message: One or more of the chosen roles do not belong to this organization. - "409": - description: Conflict - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Invitation already sent: - value: - error: conflict - message: An invitation to person@example.com has already been sent. It was sent on May 6, 2016 - 7:26pm. - User already on team: - value: - error: conflict - message: The user you are trying to invite already belongs to the team. - Must have at least one role: - value: - error: conflict - message: A team member must be invited with at least one role. - "/teams/{teamUuid}/members": - get: - tags: - - Teams and Permissions - summary: Returns a list of team members. - description: | - Returns a list of team members. - - Filterable fields: - * `permission` - * `first_name` - * `last_name` - * `user` - - Sortable fields: - * `permission` - * `first_name` - * `last_name` - operationId: getTeamMembers - x-cli-name: tps:team-member-list - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/Sort" - - $ref: "#/components/parameters/Filter" - - $ref: "#/components/parameters/Limit" - - $ref: "#/components/parameters/Offset" - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/TeamMembers" - example: - total: 3 - _links: - self: - href: https://cloud.acquia.com/api/teams/3c9ea553-3216-11e3-9170-12313920a23a/members - parent: - href: https://cloud.acquia.com/api/teams/3c9ea553-3216-11e3-9170-12313920a23a - _embedded: - items: - - uuid: 5aa902c5-f1c1-6c94-edfa-86bc58d0dce3 - first_name: James - last_name: Kirk - last_login_at: '2017-03-28T13:07:54-0500' - mail: james.kirk@example.com - picture_url: https://accounts.acquia.com/images/users/5aa902c5-f1c1-6c94-edfa-86bc58d0dce3/style/avatar - username: james.kirk - roles: - - uuid: 2d988ad3-4016-11e3-9170-12313920a02e - name: Senior Developer - - uuid: 30dacb5e-4122-11e1-9eb5-12313928d3c2 - first_name: Christopher - last_name: Pike - last_login_at: 2016-03-28T13:07:54-0500 - mail: chris.pike@example.com - picture_url: https://accounts.acquia.com/images/users/30dacb5e-4122-11e1-9eb5-12313928d3c2/style/avatar - username: chris.pike - roles: - - uuid: 3c9a1174-4016-11e3-9170-12313920a02d - name: Developer - - uuid: 3bcddc3a-52ba-4cce-aaa3-9adf721c1b52 - first_name: Jonathan - last_name: Archer - last_login_at: null - mail: jonathan.archer@example.com - picture_url: https://accounts.acquia.com/images/users/3bcddc3a-52ba-4cce-aaa3-9adf721c1b52/style/avatar - username: jonathan.archer - roles: - - uuid: 2d988ad3-4016-11e3-9170-12313920a02e - name: Senior Developer - - uuid: 3c9a1174-4016-11e3-9170-12313920a02d - name: Developer - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - "/teams/{teamUuid}/members/{userUuid}": - put: - tags: - - Teams and Permissions - summary: Grant team roles to a member. - description: Grant team roles to a member. - operationId: putTeamsMember - x-cli-name: tps:team-member-add - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/UserUuid" - security: - - OAuth2: [] - requestBody: - required: true - content: - application/hal+json: - schema: - type: object - required: - - roles - properties: - roles: - type: array - description: The role UUIDs to grant to the user. - items: - type: string - format: uuid - minLength: 36 - maxLength: 36 - example: - roles: - - 489efe35-7bb7-48b7-9aa2-f6f8f457c926 - - 8025e9a7-781a-4ad1-b7ea-1f1b732944c2 - application/x-www-form-urlencoded: - schema: - type: object - required: - - roles - properties: - roles: - type: array - description: The role UUIDs to grant to the user. - items: - type: string - format: uuid - minLength: 36 - maxLength: 36 - example: - roles: - - 489efe35-7bb7-48b7-9aa2-f6f8f457c926 - - 8025e9a7-781a-4ad1-b7ea-1f1b732944c2 - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Modified member roles: - value: - message: Modified member roles. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to modify team member roles. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team you are trying to access does not exist, or you do not have permission to access it. - delete: - tags: - - Teams and Permissions - summary: Remove a user from a team. - description: Remove a user from a team. - operationId: deleteTeamsRemoveMember - x-cli-name: tps:team-member-remove - parameters: - - $ref: "#/components/parameters/TeamUuid" - - $ref: "#/components/parameters/UserUuid" - security: - - OAuth2: [] - responses: - "200": - description: OK - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Message" - examples: - Team member removed: - value: - message: Team member removed. - "403": - description: Forbidden - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - No permission: - value: - error: forbidden - message: You do not have permission to remove team members. - "404": - description: Not Found - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - examples: - Not found: - value: - error: not_found - message: The team member you are trying to remove does not exist, or you do not have permission to remove them. - Invalid team: - value: - error: not_found - message: Invalid team supplied. No action performed. - Invalid user: - value: - error: not_found - message: Invalid user supplied. No action performed. - User not team member: - value: - error: not_found - message: The user is not a member of this team. diff --git a/assets/acsf-spec.json b/assets/acsf-spec.json new file mode 100644 index 000000000..22372b3a6 --- /dev/null +++ b/assets/acsf-spec.json @@ -0,0 +1,8908 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Acquia Site Factory REST API", + "version": "1.0.0", + "description": "OpenAPI 3.0 specification for Acquia Site Factory REST API" + }, + "paths": { + "/api/v1/users/all/api-keys": { + "delete": { + "summary": "Regenerate ALL users API keys", + "description": "Regenerate ALL users API keys.", + "x-cli-name": "api:regenerate-all-keys", + "operationId": "delete_ApiKey_resetKeys", + "responses": { + "200": { + "description": "ApiKey_resetKeys response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKey_resetKeysResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/users/{user_id}/api-keys": { + "delete": { + "summary": "Regenerate a user's API key", + "description": "Regenerate a user's API key.", + "x-cli-name": "api:regenerate-key", + "operationId": "delete_ApiKey_resetUserKeys", + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "The user ID of the user.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "ApiKey_resetUserKeys response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKey_resetUserKeysResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/audit": { + "get": { + "summary": "List audit events", + "description": "Gets a list of audit events.", + "x-cli-name": "info:audit-events-find", + "operationId": "get_AuditEvent_getAuditEvents", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + }, + { + "in": "query", + "name": "order", + "description": "Either \"ASC\" or \"DESC\".", + "schema": { + "type": "string", + "pattern": "^(ASC|DESC)$" + }, + "required": false + }, + { + "in": "query", + "name": "source", + "description": "The source of the event.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "module", + "description": "The system name of the module.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "scope", + "description": "The general scope of the changes.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "type", + "description": "The specific type of changes.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "nid", + "description": "An associated node ID.", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "uid", + "description": "The user who made the change.", + "schema": { + "type": "integer" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "AuditEvent_getAuditEvents response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuditEvent_getAuditEventsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/backup-expiration": { + "put": { + "summary": "Configure the backup expiration and automatic deletion.", + "description": "Configure the backup expiration and automatic deletion setting.", + "x-cli-name": "sites:backup-set-expiration", + "operationId": "put_BackupExpirationManagement_setBackupExpirationSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "expiration_days": { + "description": "Number of days (between 1 and 365) after which backups get automatically deleted.", + "type": "integer" + } + }, + "required": [ + "expiration_days" + ] + } + } + } + }, + "responses": { + "200": { + "description": "BackupExpirationManagement_setBackupExpirationSettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupExpirationManagement_setBackupExpirationSettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "Get the current backup expiration and automatic deletion setting.", + "description": "Get the current backup expiration and automatic deletion setting.", + "x-cli-name": "sites:backup-get-expiration", + "operationId": "get_BackupExpirationManagement_getBackupExpirationSettings", + "responses": { + "200": { + "description": "BackupExpirationManagement_getBackupExpirationSettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupExpirationManagement_getBackupExpirationSettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/centralized-role-management": { + "get": { + "summary": "Get current centralized role management settings.", + "description": "Get current centralized role management settings.", + "x-cli-name": "roles:get-mgr", + "operationId": "get_CentralizedRoleManagement_executeGetActions", + "responses": { + "200": { + "description": "CentralizedRoleManagement_executeGetActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/centralized-role-management/{factory_role}": { + "put": { + "summary": "Set the centralized role management settings for a given role.", + "description": "Set the centralized role management settings for a given role.", + "x-cli-name": "roles:set-mgr", + "operationId": "put_CentralizedRoleManagement_executePutActions", + "parameters": [ + { + "in": "path", + "name": "factory_role", + "description": "The site factory role. Currently the only supported ones are \"content_editor\", \"platform_admin\" and \"site_builder\".", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_role": { + "description": "The corresponding role on the site.", + "type": "string" + } + }, + "required": [ + "site_role" + ] + } + } + } + }, + "responses": { + "200": { + "description": "CentralizedRoleManagement_executePutActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executePutActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Disable the centralized role management settings for a given role.", + "description": "Disable the centralized role management settings for a given role.", + "x-cli-name": "roles:disable-mgr", + "operationId": "delete_CentralizedRoleManagement_executeDeleteActions", + "parameters": [ + { + "in": "path", + "name": "factory_role", + "description": "The site factory role. Currently the only supported ones are \"content_editor\", \"platform_admin\" and \"site_builder\".", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "CentralizedRoleManagement_executeDeleteActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/stacks": { + "get": { + "summary": "Get list of available stacks.", + "description": "Fetches the list of available stacks.", + "x-cli-name": "info:stacks-find", + "operationId": "get_CodeBases_getCodeBaseNames", + "responses": { + "200": { + "description": "CodeBases_getCodeBaseNames response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CodeBases_getCodeBaseNamesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/stacks/{codebase_id}": { + "put": { + "summary": "Edit stack information.", + "description": "Edit stack information.", + "x-cli-name": "stacks:edit", + "operationId": "put_CodeBases_editCodebaseName", + "parameters": [ + { + "in": "path", + "name": "codebase_id", + "description": "Id of stack whose details are to be changed.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "New stack name to be updated.", + "type": "string" + }, + "description": { + "description": "Stack description to be updated.", + "type": "string" + }, + "tangle_alias": { + "description": "New tangle alias name for tangle associated with that stack.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "CodeBases_editCodebaseName response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CodeBases_editCodebaseNameResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/stacks/details": { + "get": { + "summary": "Get details of available stacks.", + "description": "Fetches the details of available stacks.", + "x-cli-name": "stacks:find-details", + "operationId": "get_CodeBases_getCodeBaseDetails", + "responses": { + "200": { + "description": "CodeBases_getCodeBaseDetails response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CodeBases_getCodeBaseDetailsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/cronjobs": { + "post": { + "summary": "Create a new cron job.", + "description": "Create a new cron job.", + "x-cli-name": "crons:create", + "operationId": "post_CronJobs_createCronJob", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The cron job name.", + "type": "string" + }, + "command": { + "description": "The command that should be executed.", + "type": "string" + }, + "interval": { + "description": "A unix cron expression.", + "type": "string" + }, + "sites_affected": { + "description": "Possible values: dev-sites - sites without custom domains, prod-sites - sites with custom domains, all", + "type": "string" + }, + "enabled": { + "description": "If the cron should be enabled.", + "type": "integer" + }, + "thread_percentage": { + "description": "The percentage of cron threads that should be used for this cron. Value has to be an integer between 0 and 100.", + "type": "integer" + }, + "stacks": { + "description": "An array of stack ids for which the cron should be enabled.", + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "name", + "command", + "interval", + "sites_affected", + "enabled", + "thread_percentage", + "stacks" + ] + } + } + } + }, + "responses": { + "200": { + "description": "CronJobs_createCronJob response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CronJobs_createCronJobResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "Get cron jobs. sites_affected: dev-sites(without custom domains)|prod-sites(with custom domains)|all", + "description": "Get all cron jobs (paged).", + "x-cli-name": "cron:find-jobs", + "operationId": "get_CronJobs_getCronJobs", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 20).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 20 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "CronJobs_getCronJobs response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CronJobs_getCronJobsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/cronjobs/{job_id}": { + "put": { + "summary": "Edit a cron job.", + "description": "Edit a cron job.", + "x-cli-name": "crons:edit", + "operationId": "put_CronJobs_editCronJob", + "parameters": [ + { + "in": "path", + "name": "job_id", + "description": "Cron job id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The cron job name.", + "type": "string" + }, + "command": { + "description": "The command that should be executed.", + "type": "string" + }, + "interval": { + "description": "A unix cron expression.", + "type": "string" + }, + "sites_affected": { + "description": "Possible values: dev-sites - sites without custom domains, prod-sites - sites with custom domains, all", + "type": "string" + }, + "enabled": { + "description": "If the cron should be enabled.", + "type": "integer" + }, + "thread_percentage": { + "description": "The percentage of cron threads that should be used for this cron. Value has to be an integer between 0 and 100.", + "type": "integer" + }, + "stacks": { + "description": "An array of stack ids for which the cron should be enabled.", + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "name", + "command", + "interval", + "sites_affected", + "enabled", + "thread_percentage", + "stacks" + ] + } + } + } + }, + "responses": { + "200": { + "description": "CronJobs_editCronJob response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CronJobs_editCronJobResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete a cron job.", + "description": "Delete a cron job.", + "x-cli-name": "crons:delete", + "operationId": "delete_CronJobs_deleteCronJob", + "parameters": [ + { + "in": "path", + "name": "job_id", + "description": "Cron job id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "CronJobs_deleteCronJob response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CronJobs_deleteCronJobResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "Get cron job", + "description": "Get cron job by its id.", + "x-cli-name": "cron:get-job", + "operationId": "get_CronJobs_getCronJob", + "parameters": [ + { + "in": "path", + "name": "job_id", + "description": "Cron job id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "CronJobs_getCronJob response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CronJobs_getCronJobResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/domains": { + "get": { + "summary": "Get all domains.", + "description": "Get all domains known to Site Factory.\n\n Possible domain types:\n simple|collectionLive|collectionInternal|factoryStandard.", + "x-cli-name": "domains:get-all", + "operationId": "get_Domains_getAllDomains", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 1000).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Domains_getAllDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Domains_getAllDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/domains/{node_id}": { + "get": { + "summary": "Get domains", + "description": "Get domains by node ID.", + "x-cli-name": "domains:get", + "operationId": "get_Domains_getDomains", + "parameters": [ + { + "in": "path", + "name": "node_id", + "description": "Site node id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Domains_getDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Domains_getDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/domains/status/{domain_name}": { + "get": { + "summary": "Get domain status", + "description": "Get domain status.", + "x-cli-name": "domains:get-status", + "operationId": "get_Domains_getDomainStatus", + "parameters": [ + { + "in": "path", + "name": "domain_name", + "description": "The domain name.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Domains_getDomainStatus response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Domains_getDomainStatusResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/domains/{node_id}/add": { + "post": { + "summary": "Add domain", + "description": "Adds a domain.", + "x-cli-name": "domains:add", + "operationId": "post_Domains_addDomain", + "parameters": [ + { + "in": "path", + "name": "node_id", + "description": "Site node id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "domain_name": { + "description": "The domain name to add.", + "type": "string" + } + }, + "required": [ + "domain_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Domains_addDomain response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Domains_addDomainResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/domains/{node_id}/remove": { + "post": { + "summary": "Remove domain", + "description": "Removes a domain.", + "x-cli-name": "domains:remove", + "operationId": "post_Domains_removeDomain", + "parameters": [ + { + "in": "path", + "name": "node_id", + "description": "Site node id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "domain_name": { + "description": "The domain name to remove.", + "type": "string" + } + }, + "required": [ + "domain_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Domains_removeDomain response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Domains_removeDomainResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/factory-standard-domains": { + "post": { + "summary": "Backfill the current factory standard domain templates.", + "description": "Backfill the current factory standard domain templates.", + "x-cli-name": "domains:backfill-std", + "operationId": "post_FactoryStandardDomains_backfillFactoryStandardDomains", + "responses": { + "200": { + "description": "FactoryStandardDomains_backfillFactoryStandardDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FactoryStandardDomains_backfillFactoryStandardDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "Get the current factory standard domain templates.", + "description": "Get the current factory standard domain templates.", + "x-cli-name": "domains:get-std-templates", + "operationId": "get_FactoryStandardDomains_getFactoryStandardDomains", + "responses": { + "200": { + "description": "FactoryStandardDomains_getFactoryStandardDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FactoryStandardDomains_getFactoryStandardDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/factory-standard-domains/{template_name}": { + "put": { + "summary": "Set the factory standard domain template.", + "description": "Set the factory standard domain template.", + "x-cli-name": "domains:set-std-templates", + "operationId": "put_FactoryStandardDomains_setFactoryStandardDomains", + "parameters": [ + { + "in": "path", + "name": "template_name", + "description": "The template name to change. Currently the only supported ones are \"site_prod\", \"site_nonprod\", \"collection_prod\" and \"collection_nonprod\".", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "new_template": { + "description": "The new template.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "new_template" + ] + } + } + } + }, + "responses": { + "200": { + "description": "FactoryStandardDomains_setFactoryStandardDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FactoryStandardDomains_setFactoryStandardDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Remove the factory standard domain template.", + "description": "Remove the factory standard domain template.", + "x-cli-name": "domains:remove-std-templates", + "operationId": "delete_FactoryStandardDomains_removeFactoryStandardDomains", + "parameters": [ + { + "in": "path", + "name": "template_name", + "description": "The template name to remove. Currently the only supported ones are \"site_prod\", \"site_nonprod\", \"collection_prod\" and \"collection_nonprod\".", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "FactoryStandardDomains_removeFactoryStandardDomains response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FactoryStandardDomains_removeFactoryStandardDomainsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups/{group_id}/members": { + "get": { + "summary": "List group members", + "description": "Get the members of a group.", + "x-cli-name": "groups:find-members", + "operationId": "get_Groups_getMembers", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 1000).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Groups_getMembers response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_getMembersResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Add members to a group", + "description": "Add members to a group.", + "x-cli-name": "groups:add-members", + "operationId": "post_Groups_addMembers", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "uids": { + "description": "A single user ID, or an array of user IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "uids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_addMembers response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_addMembersResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Remove members from a group", + "description": "Remove members from a group.", + "x-cli-name": "groups:remove-members", + "operationId": "delete_Groups_removeMembers", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "uids": { + "description": "A single user ID, or an array of user IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "uids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_removeMembers response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_removeMembersResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups/{group_id}": { + "get": { + "summary": "Get a group", + "description": "Get a group by group ID.", + "x-cli-name": "groups:get", + "operationId": "get_Groups_getGroupById", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Groups_getGroupById response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_getGroupByIdResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete a group", + "description": "Delete a site group.", + "x-cli-name": "groups:delete", + "operationId": "delete_Groups_deleteGroup", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Groups_deleteGroup response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_deleteGroupResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups": { + "get": { + "summary": "List groups", + "description": "Get a list of groups.", + "x-cli-name": "groups:find", + "operationId": "get_Groups_getGroups", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer not higher than 100.", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Groups_getGroups response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_getGroupsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Create a group", + "description": "Create a site group.", + "x-cli-name": "groups:create", + "operationId": "post_Groups_createGroup", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "group_name": { + "description": "The name of the site group to create.", + "type": "string" + }, + "parent_id": { + "description": "The parent group ID, if applicable.", + "type": "integer" + } + }, + "required": [ + "group_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_createGroup response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_createGroupResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups/{group_id}/update": { + "put": { + "summary": "Edit a group", + "description": "Edit a group.", + "x-cli-name": "groups:edit", + "operationId": "put_Groups_editGroup", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "group_name": { + "description": "New name for the group.", + "type": "string" + } + }, + "required": [ + "group_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_editGroup response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_editGroupResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups/{group_id}/admins": { + "post": { + "summary": "Make members group admin", + "description": "Make members group admin.", + "x-cli-name": "groups:make-members-admins", + "operationId": "post_Groups_addAdmins", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "uids": { + "description": "A single user ID, or an array of user IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "uids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_addAdmins response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_addAdminsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Remove group admin from members", + "description": "Remove group admin from members.", + "x-cli-name": "groups:remove-admins", + "operationId": "delete_Groups_removeAdmins", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "uids": { + "description": "A single user ID, or an array of user IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "uids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_removeAdmins response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_removeAdminsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/groups/{group_id}/sites": { + "post": { + "summary": "Add site(s) to a site group.", + "description": "Add site(s) to a site group.", + "x-cli-name": "groups:add-sites", + "operationId": "post_Groups_addSites", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_ids": { + "description": "Either a single site ID, or an array of site IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "site_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_addSites response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_addSitesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Remove site(s) from a site group.", + "description": "Remove site(s) from a site group.", + "x-cli-name": "groups:remove-sites", + "operationId": "delete_Groups_removeSites", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_ids": { + "description": "Either a single site ID, or an array of site IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "site_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Groups_removeSites response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_removeSitesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "List sites in a group.", + "description": "Get the sites of a group.", + "x-cli-name": "groups:find-sites", + "operationId": "get_Groups_getSites", + "parameters": [ + { + "in": "path", + "name": "group_id", + "description": "Group id.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 1000).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Groups_getSites response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Groups_getSitesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/profiles": { + "get": { + "summary": "List installation profiles.", + "description": "List installation profiles.", + "x-cli-name": "install-profiles:find", + "operationId": "get_InstallationProfiles_getInstallationProfiles", + "parameters": [ + { + "in": "query", + "name": "stack_id", + "description": "Get only the profiles on the given stack.", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "is_enabled", + "description": "Get only the enabled/disabled profiles.", + "schema": { + "type": "boolean" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "InstallationProfiles_getInstallationProfiles response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallationProfiles_getInstallationProfilesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/profiles/{profile_name}/enable": { + "post": { + "summary": "Enable installation profile.", + "description": "Enable installation profile.", + "x-cli-name": "install-profiles:enable", + "operationId": "post_InstallationProfiles_enableProfile", + "parameters": [ + { + "in": "path", + "name": "profile_name", + "description": "The installation profile name.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "stack_id", + "description": "The installation profile's stack.", + "schema": { + "type": "integer" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "InstallationProfiles_enableProfile response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallationProfiles_enableProfileResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/profiles/{profile_name}/disable": { + "post": { + "summary": "Disable installation profile.", + "description": "Disable installation profile.", + "x-cli-name": "install-profiles:disable", + "operationId": "post_InstallationProfiles_disableProfile", + "parameters": [ + { + "in": "path", + "name": "profile_name", + "description": "The installation profile name.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "stack_id", + "description": "The installation profile's stack.", + "schema": { + "type": "integer" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "InstallationProfiles_disableProfile response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallationProfiles_disableProfileResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/profiles/{profile_name}/set_default": { + "post": { + "summary": "Sets the installation profile as default.", + "description": "Sets the installation profile as default.", + "x-cli-name": "install-profiles:set-default", + "operationId": "post_InstallationProfiles_setDefault", + "parameters": [ + { + "in": "path", + "name": "profile_name", + "description": "The installation profile name.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "stack_id", + "description": "The installation profile's stack.", + "schema": { + "type": "integer" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "InstallationProfiles_setDefault response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallationProfiles_setDefaultResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/dynamic-requests/monthly": { + "get": { + "summary": "List monthly aggregated dynamic request statistics.", + "description": "Gets the monthly aggregated dynamic request statistics.", + "x-cli-name": "page-views:aggregated", + "operationId": "get_PageView_getPageViewDataMonthly", + "parameters": [ + { + "in": "query", + "name": "stack_id", + "description": "The stack id for which to fetch the dynamic request statistics. If there is only one stack, this parameter can be omitted.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "start_from", + "description": "The first date from which to start showing the statistics in the format of YYYY-MM.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "sort_order", + "description": "The sort order direction. Either asc or desc.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "description": "The number of months to be listed. Maximum value is 120.", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 120 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "The page number to show in the list.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "PageView_getPageViewDataMonthly response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/dynamic-requests/monthly/domains": { + "get": { + "summary": "List monthly dynamic request statistics by domain.", + "description": "Gets the monthly dynamic request statistics by domain.", + "x-cli-name": "page-views:by-domain", + "operationId": "get_PageView_getPageViewDataMonthlyPerDomain", + "parameters": [ + { + "in": "query", + "name": "stack_id", + "description": "The stack id for which to fetch the dynamic request statistics. If there is only one stack, this parameter can be omitted.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "date", + "description": "The month in the format of YYYY-MM.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "domain_name", + "description": "Full domain name or a prefix for filtering the results.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "sort_order", + "description": "The sort order direction. Either asc or desc.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "description": "The number of domains to be listed. (max 100)", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "The page number to show in the list.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "PageView_getPageViewDataMonthlyPerDomain response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/pause": { + "post": { + "summary": "Pause/resume task processing", + "description": "Pause or resume task processing.", + "x-cli-name": "tasks:pause-all", + "operationId": "post_Pause_pause", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "paused": { + "description": "Pauses/resumes the WIP task processing.", + "type": "boolean" + }, + "reason": { + "description": "Brief explanation for pausing workers.", + "type": "string" + } + }, + "required": [ + "paused" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Pause_pause response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pause_pauseResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/pause/{task_id}": { + "post": { + "summary": "Pause/resume task processing for a specific task", + "description": "Pause or resume task processing.", + "x-cli-name": "tasks:pause", + "operationId": "post_Pause_pauseTask", + "parameters": [ + { + "in": "path", + "name": "task_id", + "description": "TaskID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "paused": { + "description": "Leave the task in paused or unpaused state.", + "type": "boolean" + }, + "level": { + "description": "Pause/unpause just the specified task or all its children (task|family).", + "type": "string", + "pattern": "^(task|family)$" + } + }, + "required": [ + "paused", + "level" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Pause_pauseTask response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pause_pauseTaskResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/ping": { + "get": { + "summary": "Check service response", + "description": "Checks whether the API is responding.", + "x-cli-name": "api:ping", + "operationId": "get_Ping_ping", + "responses": { + "200": { + "description": "Ping_ping response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Ping_pingResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/roles": { + "get": { + "summary": "List roles", + "description": "Gets a list of roles.", + "x-cli-name": "roles:find", + "operationId": "get_Role_getRoles", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + }, + { + "in": "query", + "name": "order", + "description": "Either \"ASC\" or \"DESC\".", + "schema": { + "type": "string", + "pattern": "^(ASC|DESC)$" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Role_getRoles response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role_getRolesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Create a role", + "description": "Create a role.", + "x-cli-name": "roles:create", + "operationId": "post_Role_createRole", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The name of the role.", + "type": "string" + } + }, + "required": [ + "name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Role_createRole response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role_createRoleResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/roles/{role_id}": { + "get": { + "summary": "Retrieve a role", + "description": "Retrieve a role by role ID.", + "x-cli-name": "roles:get", + "operationId": "get_Role_getRole", + "parameters": [ + { + "in": "path", + "name": "role_id", + "description": "The role ID of the user role.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Role_getRole response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role_getRoleResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete a role", + "description": "Delete a role.", + "x-cli-name": "roles:delete", + "operationId": "delete_Role_deleteRole", + "parameters": [ + { + "in": "path", + "name": "role_id", + "description": "The role ID of the user role.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Role_deleteRole response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role_deleteRoleResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/roles/{role_id}/update": { + "put": { + "summary": "Update (rename) a role", + "description": "Update (rename) a role.", + "x-cli-name": "roles:update", + "operationId": "put_Role_updateRole", + "parameters": [ + { + "in": "path", + "name": "role_id", + "description": "The role ID of the user role.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "new_name": { + "description": "The new name for the user role.", + "type": "string" + } + }, + "required": [ + "new_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Role_updateRole response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role_updateRoleResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/security": { + "get": { + "summary": "Get current security settings.", + "description": "Get current security settings.", + "x-cli-name": "security:get-security-settings", + "operationId": "get_Security_getSecuritySettings", + "responses": { + "200": { + "description": "Security_getSecuritySettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Security_getSecuritySettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Set the security settings.", + "description": "Set the security settings.", + "x-cli-name": "security:set-security-settings", + "operationId": "put_Security_updateSecuritySettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "minimum_password_length": { + "description": "Sets the minimum password length required for customers.", + "type": "integer", + "minimum": 0, + "maximum": 29 + }, + "minimum_required_password_strength": { + "description": "Sets the password strength required for customers.", + "type": "string", + "pattern": "^(disabled|weak|good|strong|very strong)$" + }, + "two_step_verification": { + "description": "Sets if tfa required for customers.", + "type": "boolean" + }, + "sign_out_inactive_user_accounts": { + "description": "Automatically sign out inactive account.", + "type": "boolean" + }, + "sign_out_inactivity_time": { + "description": "Automatically sign out of the account after seconds, required when sign_out_inactive_user_accounts is set.", + "type": "integer", + "minimum": 60 + }, + "automatically_disable_accounts": { + "description": "Automatically disable inactive account.", + "type": "boolean" + }, + "automatically_disable_accounts_after_days": { + "description": "Number of days after which an account will be disabled, required when automatically_disable_accounts is set.", + "type": "integer", + "minimum": 1 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Security_updateSecuritySettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Security_updateSecuritySettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete the security settings.", + "description": "Delete the security settings.", + "x-cli-name": "security:reset-security-settings", + "operationId": "delete_Security_resetSecuritySettings", + "responses": { + "200": { + "description": "Security_resetSecuritySettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Security_resetSecuritySettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sf-info": { + "get": { + "summary": "Get the version of the Site Factory", + "description": "Gets the (release) version the Site Factory is on.", + "x-cli-name": "api:factory-version", + "operationId": "get_SfInfo_getSfVersion", + "responses": { + "200": { + "description": "SfInfo_getSfVersion response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SfInfo_getSfVersionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/collections": { + "get": { + "summary": "List site collections", + "description": "Gets a list of site collections.", + "operationId": "get_SiteCollections_getCollections", + "parameters": [ + { + "in": "query", + "name": "remove_empty", + "description": "True to only return collections containing active sites.", + "schema": { + "type": "boolean" + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "SiteCollections_getCollections response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_getCollectionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Create a site collection", + "description": "Create a new site collection.", + "operationId": "post_SiteCollections_createCollection", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The name of the new site collection.", + "type": "string" + }, + "site_ids": { + "description": "Either a single site ID, or an array of site IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + }, + "group_ids": { + "description": "Either a single group ID, or an array of group IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + }, + "internal_domain_prefix": { + "description": "The site collection's internal domain prefix. Uses the \"name\" parameter's value if not set.", + "type": "string" + } + }, + "required": [ + "name", + "site_ids", + "group_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteCollections_createCollection response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_createCollectionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/collections/{collection_id}": { + "get": { + "summary": "Site collection details", + "description": "Get detailed information about a site collection.", + "operationId": "get_SiteCollections_getCollection", + "parameters": [ + { + "in": "path", + "name": "collection_id", + "description": "Collection ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "SiteCollections_getCollection response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_getCollectionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete a site collection", + "description": "Delete a site collection.", + "operationId": "delete_SiteCollections_deleteCollection", + "parameters": [ + { + "in": "path", + "name": "collection_id", + "description": "Collection ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "SiteCollections_deleteCollection response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_deleteCollectionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/collections/{collection_id}/add": { + "post": { + "summary": "Add site(s) to a site collection.", + "description": "Add site(s) to a site collection.", + "operationId": "post_SiteCollections_addSiteToCollection", + "parameters": [ + { + "in": "path", + "name": "collection_id", + "description": "Collection ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_ids": { + "description": "A site ID or an array of site IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "site_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteCollections_addSiteToCollection response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_addSiteToCollectionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/collections/{collection_id}/remove": { + "post": { + "summary": "Remove site(s) from a site collection.", + "description": "Remove site(s) from a site collection.", + "operationId": "post_SiteCollections_removeSiteFromCollection", + "parameters": [ + { + "in": "path", + "name": "collection_id", + "description": "Collection ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_ids": { + "description": "A site ID, or an array of site IDs.", + "oneOf": [ + { + "type": "integer" + }, + { + "type": "array", + "items": { + "type": "integer" + } + } + ] + } + }, + "required": [ + "site_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteCollections_removeSiteFromCollection response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_removeSiteFromCollectionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/collections/{collection_id}/set-primary": { + "post": { + "summary": "Set the primary site of a site collection.", + "description": "Set the primary site of a site collection.", + "operationId": "post_SiteCollections_setPrimarySite", + "parameters": [ + { + "in": "path", + "name": "collection_id", + "description": "Collection ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_id": { + "description": "A single site ID.", + "type": "integer" + } + }, + "required": [ + "site_id" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteCollections_setPrimarySite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteCollections_setPrimarySiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-guard": { + "get": { + "summary": "Get current site guard config.", + "description": "Get current site guard config.", + "operationId": "get_SiteGuardConfig_getSiteGuardConfig", + "responses": { + "200": { + "description": "SiteGuardConfig_getSiteGuardConfig response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteGuardConfig_getSiteGuardConfigResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Enable and set the site guard settings.", + "description": "Enable the site guard config.", + "operationId": "put_SiteGuardConfig_setSiteGuardConfig", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "description": "The message which the site guard should output.", + "type": "string" + }, + "username": { + "description": "The username for the site guard.", + "type": "string" + }, + "password": { + "description": "The password for the site guard.", + "type": "string" + } + }, + "required": [ + "message", + "username", + "password" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteGuardConfig_setSiteGuardConfig response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteGuardConfig_setSiteGuardConfigResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Disable the site guard config.", + "description": "Disable the site guard config.", + "operationId": "delete_SiteGuardConfig_removeSiteGuardConfig", + "responses": { + "200": { + "description": "SiteGuardConfig_removeSiteGuardConfig response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteGuardConfig_removeSiteGuardConfigResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-ownership": { + "get": { + "summary": "Get current site ownership settings.", + "description": "Get current site ownership settings.", + "x-cli-name": "site-owner:get", + "operationId": "get_SiteOwnership_executeGetActions", + "responses": { + "200": { + "description": "SiteOwnership_executeGetActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteOwnership_executeGetActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Set the site ownership settings.", + "description": "Set the site ownership settings.", + "x-cli-name": "site-owner:set", + "operationId": "put_SiteOwnership_executePutActions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "description": "The default owner username. The user has to have the \"Platform admin\" role.", + "type": "string" + } + }, + "required": [ + "username" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteOwnership_executePutActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteOwnership_executePutActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete the site ownership settings.", + "description": "Delete the site ownership settings.", + "x-cli-name": "site-owner:delete", + "operationId": "delete_SiteOwnership_executeDeleteActions", + "responses": { + "200": { + "description": "SiteOwnership_executeDeleteActions response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteOwnership_executeDeleteActionsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-update-priority": { + "get": { + "summary": "Get current site update priority.", + "description": "Get current site update priority.", + "operationId": "get_SiteUpdatePriority_getSiteUpdatePriority", + "responses": { + "200": { + "description": "SiteUpdatePriority_getSiteUpdatePriority response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteUpdatePriority_getSiteUpdatePriorityResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Set the site update priority.", + "description": "Set the site update priority.", + "operationId": "put_SiteUpdatePriority_setSiteUpdatePriority", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "priority": { + "description": "An array of site node ids in the desired update order.", + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "priority" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteUpdatePriority_setSiteUpdatePriority response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteUpdatePriority_setSiteUpdatePriorityResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Reset the site update priority.", + "description": "Reset the site update priority.", + "operationId": "delete_SiteUpdatePriority_resetSiteUpdatePriority", + "responses": { + "200": { + "description": "SiteUpdatePriority_resetSiteUpdatePriority response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteUpdatePriority_resetSiteUpdatePriorityResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-variables": { + "post": { + "summary": "Trigger the site variables set up on the sites.", + "description": "Trigger the site variables set up on the sites.", + "x-cli-name": "sites:distribute-site-variables", + "operationId": "post_SiteVariables_triggerSiteVariablesDistribution", + "responses": { + "200": { + "description": "SiteVariables_triggerSiteVariablesDistribution response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteVariables_triggerSiteVariablesDistributionResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-variables/{site_id}": { + "get": { + "summary": "Get the site variables for a given site.", + "description": "Get the site variables for a given site.", + "x-cli-name": "sites:get-site-variables", + "operationId": "get_SiteVariables_getSiteVariables", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "SiteVariables_getSiteVariables response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteVariables_getSiteVariablesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Change a site variable for a given site.", + "description": "Change a site variable for a given site.", + "x-cli-name": "sites:set-site-variable", + "operationId": "put_SiteVariables_changeSiteVariables", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "variable_key": { + "description": "The variable key.", + "type": "string" + }, + "variable_value": { + "description": "The variable value.", + "type": "string" + }, + "variable_scrub": { + "description": "If the variable should be removed during staging.", + "type": "integer" + } + }, + "required": [ + "variable_key", + "variable_value" + ] + } + } + } + }, + "responses": { + "200": { + "description": "SiteVariables_changeSiteVariables response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteVariables_changeSiteVariablesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Clear all site variables for a given site.", + "description": "Clear all site variables for a given site.", + "x-cli-name": "sites:clear-site-variables", + "operationId": "delete_SiteVariables_removeSiteVariables", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "SiteVariables_removeSiteVariables response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteVariables_removeSiteVariablesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-variables/{site_id}/{variable_key}": { + "delete": { + "summary": "Remove a site variable for a given site.", + "description": "Remove a site variable for a given site.", + "x-cli-name": "sites:remove-site-variable", + "operationId": "delete_SiteVariables_removeSiteVariable", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "path", + "name": "variable_key", + "description": "The variable key.", + "schema": { + "type": "string" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "SiteVariables_removeSiteVariable response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SiteVariables_removeSiteVariableResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites": { + "get": { + "summary": "List sites", + "description": "Gets a list of sites.", + "x-cli-name": "sites:find", + "operationId": "get_Sites_getSites", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 1000).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + }, + { + "in": "query", + "name": "canary", + "description": "No value necessary.", + "schema": { + "type": "boolean" + }, + "required": false + }, + { + "in": "query", + "name": "show_incomplete", + "description": "Show sites that are incomplete.", + "schema": { + "type": "boolean" + }, + "required": false + }, + { + "in": "query", + "name": "stack_id", + "description": "Show sites on a specific stack.", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "domain_contains", + "description": "Show sites whose domain contains this value.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "domain_not_contains", + "description": "Show sites whose domain does not contain this value.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "has_custom_domain", + "description": "Whether to only show sites with custom domains.", + "schema": { + "type": "boolean" + }, + "required": false + }, + { + "in": "query", + "name": "site_owner", + "description": "Either a user id or a comma separated list of user ids.", + "schema": { + "type": "array", + "items": { + "type": "integer" + } + }, + "required": false + }, + { + "in": "query", + "name": "show_custom_domain", + "description": "Return the first custom domain if the site has one instead of the internal one.", + "schema": { + "type": "boolean" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Sites_getSites response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_getSitesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Create a site", + "description": "Create a new site.", + "x-cli-name": "sites:create", + "operationId": "post_Sites_createSite", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_name": { + "description": "The new site name.", + "type": "string" + }, + "group_ids": { + "description": "Either a single group ID, or an array of group IDs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "install_profile": { + "description": "The install profile to be used to install the site.", + "type": "string" + }, + "stack_id": { + "description": "The stack id where the site should go.", + "type": "integer" + } + }, + "required": [ + "site_name", + "group_ids" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Sites_createSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_createSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}": { + "get": { + "summary": "Site details", + "description": "Get detailed information about a site.", + "x-cli-name": "sites:get", + "operationId": "get_Sites_getSite", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Sites_getSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_getSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Site delete", + "description": "Delete a site.", + "x-cli-name": "sites:delete", + "operationId": "delete_Sites_deleteSite", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Sites_deleteSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_deleteSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/duplicate": { + "post": { + "summary": "Duplicate a site", + "description": "Duplicate a site.", + "x-cli-name": "sites:duplicate", + "operationId": "post_Sites_duplicateSite", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "site_name": { + "description": "The new site name.", + "type": "string" + }, + "group_ids": { + "description": "Either a single group ID, or an array of group IDs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "exact_copy": { + "description": "A boolean indicating whether or not to create an exact copy.", + "type": "boolean" + } + }, + "required": [ + "site_name" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Sites_duplicateSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_duplicateSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/backup": { + "post": { + "summary": "Create a site backup", + "description": "Create a site backup.", + "x-cli-name": "sites:backup", + "operationId": "post_Sites_backupSite", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "label": { + "description": "The human-readable description of this backup.", + "type": "string" + }, + "callback_url": { + "description": "The callback URL, which is invoked upon completion.", + "type": "string" + }, + "callback_method": { + "description": "The callback method, \"GET\", or \"POST\". Uses \"POST\" if empty.", + "type": "string" + }, + "caller_data": { + "description": "Data that should be included in the callback, json encoded.", + "type": "string" + }, + "components": { + "description": "Array of components to be included in the backup. The following component names are accepted: codebase, database, public files, private files, themes. When omitting this parameter it will default to a backup with every component.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Sites_backupSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_backupSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/backups": { + "get": { + "summary": "List site backups", + "description": "List site backups.\n\n Note that the results are sorted from newest backup to oldest.", + "x-cli-name": "sites:find-backups", + "operationId": "get_Sites_getSiteBackups", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Sites_getSiteBackups response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_getSiteBackupsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/backups/{backup_id}/url": { + "get": { + "summary": "Get a temporary site backup URL", + "description": "Get temporary site backup URL.", + "x-cli-name": "sites:backup-url", + "operationId": "get_Sites_getSiteBackupUrl", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "path", + "name": "backup_id", + "description": "Backup ID", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "lifetime", + "description": "The number of seconds the temporary URL is good for.", + "schema": { + "type": "integer" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Sites_getSiteBackupUrl response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_getSiteBackupUrlResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/backups/{backup_id}": { + "delete": { + "summary": "Delete a site backup", + "description": "Delete a site backup.", + "x-cli-name": "sites:delete-backup", + "operationId": "delete_Sites_deleteSiteBackup", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "path", + "name": "backup_id", + "description": "Backup ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "callback_url": { + "description": "The callback URL, which is invoked upon completion.", + "type": "string" + }, + "callback_method": { + "description": "The callback method, \"GET\", or \"POST\". Uses \"POST\" if empty.", + "type": "string" + }, + "caller_data": { + "description": "Data that should be included in the callback, json encoded.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Sites_deleteSiteBackup response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_deleteSiteBackupResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/restore": { + "post": { + "summary": "Restore a site backup", + "description": "Restore a site backup.", + "x-cli-name": "sites:restore-backup", + "operationId": "post_Sites_restoreSite", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "target_site_id": { + "description": "ID of the site to restore the backup onto.", + "type": "integer" + }, + "backup_id": { + "description": "ID of the backup to restore defaults to the most recent.", + "type": "integer" + }, + "callback_url": { + "description": "The callback URL, which is invoked upon completion.", + "type": "string" + }, + "callback_method": { + "description": "The callback method, \"GET\", or \"POST\". Uses \"POST\" if empty.", + "type": "string" + }, + "caller_data": { + "description": "Data that should be included in the callback, json encoded.", + "type": "string" + }, + "components": { + "description": "Array of components to be restored from the backup. The following component names are accepted: database, public files, private files, themes. When omitting this parameter it will default to the backup's every component.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Sites_restoreSite response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_restoreSiteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/cache-clear": { + "post": { + "summary": "Clear a site's caches", + "description": "Clear Drupal and Varnish caches for a site.", + "x-cli-name": "sites:clear-cache", + "operationId": "post_Sites_clearCaches", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Sites_clearCaches response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sites_clearCachesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v2/stage": { + "get": { + "summary": "Retrieve available environments", + "description": "Retrieves available environments user can stage to.", + "x-cli-name": "stage-v2:find-envs", + "operationId": "get_StageV2_stagingEnvironments", + "responses": { + "200": { + "description": "StageV2_stagingEnvironments response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StageV2_stagingEnvironmentsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Start staging process", + "description": "Starts the staging process.", + "x-cli-name": "stage-v2:start", + "operationId": "post_StageV2_stage", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "to_env": { + "description": "Environment to deploy to.", + "type": "string" + }, + "sites": { + "description": "Node IDs of sites to deploy.", + "type": "array", + "items": { + "type": "integer" + } + }, + "wipe_target_environment": { + "description": "Use this option to wipe the management console and all stacks on the selected environment before deploying sites.", + "type": "boolean" + }, + "wipe_stacks": { + "description": "Stack ids to wipe. It will be ignored if wipe_target_environment is true.", + "type": "array", + "items": { + "type": "integer" + } + }, + "synchronize_all_users": { + "description": "Use this parameter to only stage the user accounts that are required for the provided sites and the related site collections and site groups.", + "type": "boolean" + }, + "detailed_status": { + "description": "Provide a status email for each site as it completes.", + "type": "boolean" + }, + "skip_site_files": { + "description": "Skip copying the staged down sites' files.", + "type": "boolean" + }, + "skip_site_files_overwrite": { + "description": "File patterns to skip copying during the stage down process. Ignored if skip_site_files is false.", + "type": "array", + "items": { + "type": "string" + } + }, + "force_psu_hook": { + "description": "Force post-staging-update hook to run even if VCS paths are the same on prod and non-prod.", + "type": "boolean" + } + }, + "required": [ + "to_env" + ] + } + } + } + }, + "responses": { + "200": { + "description": "StageV2_stage response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StageV2_stageResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/status": { + "get": { + "summary": "Get service status information", + "description": "Get a service status report.", + "x-cli-name": "service-status:get", + "operationId": "get_Status_getStatus", + "responses": { + "200": { + "description": "Status_getStatus response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Status_getStatusResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Modify service status", + "description": "Modify the status of the services.", + "x-cli-name": "service-status:modify", + "operationId": "put_Status_setStatus", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "all": { + "description": "on, off, or something strtotime accepts", + "type": "string" + }, + "site_creation": { + "description": "on, off, or something strtotime accepts", + "type": "string" + }, + "site_duplication": { + "description": "on, off, or something strtotime accepts", + "type": "string" + }, + "domain_management": { + "description": "on, off, or something strtotime accepts", + "type": "string" + }, + "bulk_operations": { + "description": "on, off, or something strtotime accepts", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Status_setStatus response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Status_setStatusResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/classes/{type}": { + "get": { + "summary": "(Internal use only) Get Task class information.", + "description": "Return data about WIP classes", + "x-cli-name": "tasks:find-wip-classes", + "x-internal": true, + "operationId": "get_Task_classes", + "parameters": [ + { + "in": "path", + "name": "type", + "description": "Either \"softpaused\" or \"softpause-for-update\"", + "schema": { + "type": "string", + "pattern": "^(softpaused|softpause-for-update)$" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Task_classes response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task_classesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/tasks": { + "get": { + "summary": "(Internal use only) Get Task information.", + "description": "Returns data about WIP tasks.", + "x-cli-name": "tasks:get", + "x-internal": true, + "operationId": "get_Task_tasks", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + }, + { + "in": "query", + "name": "status", + "description": "processing, error or not-started", + "schema": { + "type": "string", + "pattern": "^(processing|error|not-started)$" + }, + "required": false + }, + { + "in": "query", + "name": "class", + "description": "A WIP class name to filter on.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "group", + "description": "A WIP group name to filter on.", + "schema": { + "type": "string" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Task_tasks response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task_tasksResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/tasks/{task_id}/logs": { + "get": { + "summary": "(Internal use only) Get Task log information.", + "description": "Returns log entries about WIP tasks.", + "x-cli-name": "tasks:log", + "x-internal": true, + "operationId": "get_Task_logs", + "parameters": [ + { + "in": "path", + "name": "task_id", + "description": "Task ID.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "level", + "description": "The minimum status level to display", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "descendants", + "description": "Include the logs of all descendant tasks.", + "schema": { + "type": "boolean" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Task_logs response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task_logsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/tasks/{task_id}": { + "delete": { + "summary": "Delete tasks from the work pool.", + "description": "Delete a task and its descendants.", + "x-cli-name": "tasks:delete", + "operationId": "delete_Task_delete", + "parameters": [ + { + "in": "path", + "name": "task_id", + "description": "Task ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Task_delete response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task_deleteResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/tasks/{task_id}/terminate": { + "put": { + "summary": "Terminate tasks in the work pool.", + "description": "Terminate a task and its descendants.", + "x-cli-name": "tasks:terminate", + "operationId": "put_Task_terminate", + "parameters": [ + { + "in": "path", + "name": "task_id", + "description": "Task ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Task_terminate response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Task_terminateResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/task-log-settings": { + "get": { + "summary": "Get current task log settings.", + "description": "Get current task log settings.", + "x-cli-name": "tasks:get-task-log-settings", + "operationId": "get_TaskLogSettings_getTaskLogSettings", + "responses": { + "200": { + "description": "TaskLogSettings_getTaskLogSettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "put": { + "summary": "Edit current task log settings.", + "description": "Edit task log settings.", + "x-cli-name": "tasks:set-task-log-settings", + "operationId": "put_TaskLogSettings_editTaskLogSettings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "wip_log_level": { + "description": "Level of Wip log messages to keep on successful completion.", + "type": "string" + }, + "wip_log_maximum_level": { + "description": "The maximum log level that will be written to the log.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "TaskLogSettings_editTaskLogSettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskLogSettings_editTaskLogSettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Reset task log settings.", + "description": "Reset task log settings.", + "x-cli-name": "tasks:reset-task-log-settings", + "operationId": "delete_TaskLogSettings_resetTaskLogSettings", + "responses": { + "200": { + "description": "TaskLogSettings_resetTaskLogSettings response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskLogSettings_resetTaskLogSettingsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/theme/deploy-key": { + "get": { + "summary": "External theme repository deploy key", + "description": "Gets the deploy key that needs to be added to external theme repositories.\n\n Add this deploy key to your theme repositories, so that the Acquia Cloud\n Site Factory platform gets access to your repository and is able to deploy\n updated themes to your sites.", + "x-cli-name": "themes:key", + "operationId": "get_Theme_getThemePublicKey", + "responses": { + "200": { + "description": "Theme_getThemePublicKey response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme_getThemePublicKeyResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/theme/process": { + "post": { + "summary": "Process theme modifications", + "description": "Processes the stored theme change notifications.", + "x-cli-name": "themes:process-notifications", + "operationId": "post_Theme_processThemes", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "sitegroup_id": { + "description": "The ID of a specific sitegroup to process e.g. \"tangle001\".", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Theme_processThemes response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme_processThemesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/external-theme-refresh": { + "post": { + "summary": "Site external theme refresh", + "description": "Refreshes the site's themes from the external theme repository.", + "x-cli-name": "themes:refresh", + "operationId": "post_Theme_refreshSiteExternalThemes", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Theme_refreshSiteExternalThemes response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme_refreshSiteExternalThemesResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/sites/{site_id}/external-theme": { + "put": { + "summary": "Set site external theme", + "description": "Sets the site's external theme data.", + "x-cli-name": "themes:link-vcs", + "operationId": "put_Theme_setSiteExternalTheme", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "vcs_url": { + "description": "The external theme repository's url.", + "type": "string" + }, + "vcs_path": { + "description": "The VCS path to use.", + "type": "string" + } + }, + "required": [ + "vcs_path" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Theme_setSiteExternalTheme response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme_setSiteExternalThemeResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete site external theme", + "description": "Deletes the site's external theme data.", + "x-cli-name": "themes:unlink-vcs", + "operationId": "delete_Theme_deleteSiteExternalTheme", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Theme_deleteSiteExternalTheme response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme_deleteSiteExternalThemeResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/theme/notification": { + "post": { + "summary": "Send a theme notification", + "description": "Sends a theme event notification.", + "x-cli-name": "themes:send-notification", + "operationId": "post_ThemeNotification_handleNotification", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "scope": { + "description": "The scope. Either \"theme\", \"site\", \"group\", or \"global\".", + "type": "string", + "pattern": "^(theme|site|group|global)$" + }, + "event": { + "description": "The type of theme event. Either \"create\", \"modify\", or \"delete\".", + "type": "string", + "pattern": "^(create|modify|delete)$" + }, + "nid": { + "description": "The node ID of the related entity (site or group). Not relevant for the \"global\" scope.", + "type": "integer" + }, + "theme": { + "description": "The system name of the theme. Only relevant for \"theme\" scope notifications.", + "type": "string" + }, + "uid": { + "description": "The user id owning the notification and who should get notified if an error occurs during processing.", + "type": "integer" + } + }, + "required": [ + "scope", + "event" + ] + } + } + } + }, + "responses": { + "200": { + "description": "ThemeNotification_handleNotification response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemeNotification_handleNotificationResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/site-ownership/{site_id}": { + "post": { + "summary": "Transfer the site ownership.", + "description": "Transfer the site ownership.", + "x-cli-name": "site-owner:transfer", + "operationId": "post_TransferSiteOwnership_transferSiteOwner", + "parameters": [ + { + "in": "path", + "name": "site_id", + "description": "Site ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "username": { + "description": "New owner username to which site needs to be transferred (either username or email field is required).", + "type": "string" + }, + "email": { + "description": "New owner email id to which site needs to be transferred.", + "type": "string" + }, + "force_transfer": { + "description": "Transfer site ownership without mail confirmation from owner and recipient.", + "type": "boolean" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "TransferSiteOwnership_transferSiteOwner response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransferSiteOwnership_transferSiteOwnerResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/update": { + "post": { + "summary": "Start an update", + "description": "Start the update process.", + "x-cli-name": "updates:start", + "operationId": "post_Update_update", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "scope": { + "description": "Either \"sites\", \"factory\", or \"both\".", + "type": "string" + }, + "start_time": { + "description": "A start time string, parseable by strtotime(). Interpreted as UTC if no timezone is specified.", + "type": "string" + }, + "sites_ref": { + "description": "A VCS ref to deploy to the sites.", + "type": "string" + }, + "factory_ref": { + "description": "A VCS ref to deploy to the Factory.", + "type": "string" + }, + "sites_type": { + "description": "Either \"code\", \"code, db\", or \"code, db, registry\"", + "type": "string" + }, + "factory_type": { + "description": "Either \"code\" or \"code, db\"", + "type": "string" + }, + "stack_id": { + "description": "The stack id to release to.", + "type": "integer" + }, + "site_update_fail_action": { + "description": "Action to be performed on sites when updates fail. Either \"online\" or \"offline\"", + "type": "string" + }, + "db_update_arguments": { + "description": "Custom arguments to supply to the db-update hooks. Space separated alphanumeric characters only.", + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Update_update response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_updateResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "get": { + "summary": "List updates", + "description": "", + "x-cli-name": "updates:find", + "operationId": "get_Update_updateList", + "responses": { + "200": { + "description": "Update_updateList response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_updateListResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/update/{update_id}/status": { + "get": { + "summary": "Get update progress", + "description": "Gets the status of a running update process.", + "x-cli-name": "updates:status", + "operationId": "get_Update_status", + "parameters": [ + { + "in": "path", + "name": "update_id", + "description": "Either int value or 'last'.", + "schema": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Update_status response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_statusResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/update/pause": { + "post": { + "summary": "Pause an update", + "description": "Pause a running update process.", + "x-cli-name": "updates:pause", + "operationId": "post_Update_pauseUpdate", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "pause": { + "description": "leave the task in paused or unpaused state.", + "type": "boolean" + } + }, + "required": [ + "pause" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Update_pauseUpdate response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_pauseUpdateResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/update/change_time": { + "post": { + "summary": "Change the start time of an update process", + "description": "", + "x-cli-name": "update:change-time", + "operationId": "post_Update_changeUpdaterStartTime", + "responses": { + "200": { + "description": "Update_changeUpdaterStartTime response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_changeUpdaterStartTimeResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/update/{update_id}": { + "delete": { + "summary": "Terminate an update process", + "description": "Terminate an update process.", + "x-cli-name": "update:terminate", + "operationId": "delete_Update_terminateUpdater", + "parameters": [ + { + "in": "path", + "name": "update_id", + "description": "The updater id.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Update_terminateUpdater response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update_terminateUpdaterResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/users": { + "get": { + "summary": "List users", + "description": "Gets a list of users.", + "x-cli-name": "users:find", + "operationId": "get_User_getUsers", + "parameters": [ + { + "in": "query", + "name": "limit", + "description": "A positive integer (max 100).", + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "description": "A positive integer.", + "schema": { + "type": "integer", + "minimum": 1 + }, + "required": false + }, + { + "in": "query", + "name": "order", + "description": "Either \"ASC\" or \"DESC\".", + "schema": { + "type": "string", + "pattern": "^(ASC|DESC)$" + }, + "required": false + }, + { + "in": "query", + "name": "ids", + "description": "A comma-separated list of user IDs.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "role_ids", + "description": "A comma-separated list of role IDs.", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "status", + "description": "Either \"active\" or \"blocked\".", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "uid_min", + "description": "First uid value to start with.", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "uid_max", + "description": "Last uid value to fetch.", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "created_min", + "description": "Lowest 'created' value (timestamp).", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "created_max", + "description": "Highest 'created' value (timestamp).", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "login_min", + "description": "Lowest 'login' value (timestamp).", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "login_max", + "description": "Highest 'login' value (timestamp).", + "schema": { + "type": "integer" + }, + "required": false + }, + { + "in": "query", + "name": "tfa_status", + "description": "Either \"active\" or \"disabled\".", + "schema": { + "type": "string" + }, + "required": false + }, + { + "in": "query", + "name": "fields", + "description": "A comma-separated list of Drupal user fields.", + "schema": { + "type": "string" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "User_getUsers response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User_getUsersResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "post": { + "summary": "Create a user", + "description": "Create a user.", + "x-cli-name": "users:create", + "operationId": "post_User_createUser", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The name of the user.", + "type": "string" + }, + "mail": { + "description": "The email address of the user.", + "type": "string" + }, + "pass": { + "description": "The user's password. (Included in the response, if not provided.)", + "type": "string" + }, + "status": { + "description": "The user's status, either 0 or 1.", + "type": "integer" + }, + "roles": { + "description": "Either a single role name, or an array of role names.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "required": [ + "name", + "mail" + ] + } + } + } + }, + "responses": { + "200": { + "description": "User_createUser response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User_createUserResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/users/{user_id}": { + "get": { + "summary": "Retrieve a user", + "description": "Retrieve a user by user ID.", + "x-cli-name": "users:get", + "operationId": "get_User_getUser", + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "The user ID of the user.", + "schema": { + "type": "integer" + }, + "required": true + }, + { + "in": "query", + "name": "fields", + "description": "A comma-separated list of fields to retrieve.", + "schema": { + "type": "string" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "User_getUser response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User_getUserResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + }, + "delete": { + "summary": "Delete a user", + "description": "Delete a user.", + "x-cli-name": "users:delete", + "operationId": "delete_User_deleteUser", + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "The user ID of the user.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "User_deleteUser response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User_deleteUserResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/users/{user_id}/update": { + "put": { + "summary": "Update a user", + "description": "Update a user.", + "x-cli-name": "users:update", + "operationId": "put_User_updateUser", + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "The user ID of the user.", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "description": "The name of the user.", + "type": "string" + }, + "mail": { + "description": "The email address of the user.", + "type": "string" + }, + "pass": { + "description": "The user's password.", + "type": "string" + }, + "status": { + "description": "The user's status, either 0 or 1.", + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "roles": { + "description": "Single role name, or an array of them.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "tfa_status": { + "description": "The user's TFA status, either 0 or 1.", + "type": "integer", + "minimum": 0, + "maximum": 1 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "User_updateUser response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User_updateUserResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/vcs": { + "get": { + "summary": "List deployable refs", + "description": "Get a list of VCS refs.", + "x-cli-name": "info:vcs-find", + "operationId": "get_Vcs_getRefs", + "parameters": [ + { + "in": "query", + "name": "type", + "description": "Either \"sites\" or \"factory\". (Note: \"factory\" is restricted to Acquia employees.)", + "schema": { + "type": "string" + }, + "required": true + }, + { + "in": "query", + "name": "stack_id", + "description": "The stack id.", + "schema": { + "type": "string" + }, + "required": false + } + ], + "responses": { + "200": { + "description": "Vcs_getRefs response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcs_getRefsResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + }, + "/api/v1/wip/task/{task_id}/status": { + "get": { + "summary": "Wip task status", + "description": "Gets the status of a Wip task.", + "x-cli-name": "tasks:status", + "operationId": "get_WipTaskStatus_getWipTaskStatus", + "parameters": [ + { + "in": "path", + "name": "task_id", + "description": "The Wip task ID", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "WipTaskStatus_getWipTaskStatus response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WipTaskStatus_getWipTaskStatusResponse" + } + } + } + }, + "400": { + "description": "bad input parameter" + } + } + } + } + }, + "components": { + "schemas": { + "ApiKey_resetKeysResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "API keys will be regenerated in a few minutes" + }, + "server_time": { + "type": "string", + "example": "2014-02-16T20:04:12-06:00" + }, + "task_id": { + "type": "integer", + "example": 1234 + } + } + }, + "ApiKey_resetUserKeysResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The API key for user 32 was regenerated." + }, + "server_time": { + "type": "string", + "example": "2014-02-16T20:04:12-06:00" + } + } + }, + "AuditEvent_getAuditEventsResponse_changes": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "message": { + "type": "string", + "example": "Thing changed from @before to @after." + }, + "before": { + "type": "string", + "example": "before_data" + }, + "after": { + "type": "string", + "example": "after_data" + }, + "type": { + "type": "string", + "example": "field_name" + }, + "scope": { + "type": "string", + "example": "context_name" + }, + "module": { + "type": "string", + "example": "system" + }, + "source": { + "type": "string", + "example": "Factory UI" + }, + "nid": { + "type": "integer", + "example": 123 + }, + "uid": { + "type": "integer", + "example": 456 + }, + "timestamp": { + "type": "integer", + "example": 1403742194 + } + } + }, + "AuditEvent_getAuditEventsResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 1 + }, + "changes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuditEvent_getAuditEventsResponse_changes" + } + } + } + }, + "BackupExpirationManagement_setBackupExpirationSettingsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-11-10T08:38:09+00:00" + } + } + }, + "BackupExpirationManagement_getBackupExpirationSettingsResponse": { + "type": "object", + "properties": { + "expiration_days": { + "type": "integer", + "example": 100 + }, + "time": { + "type": "string", + "example": "2022-02-16T08:38:09+00:00" + } + } + }, + "CentralizedRoleManagement_executeGetActionsResponse_content_editor": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": false + }, + "site_roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CentralizedRoleManagement_executeGetActionsResponse_platform_admin": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "site_roles": { + "type": "array", + "items": { + "type": "string", + "example": "site maintainer" + } + } + } + }, + "CentralizedRoleManagement_executeGetActionsResponse_site_builder": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": false + }, + "site_roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CentralizedRoleManagement_executeGetActionsResponse": { + "type": "object", + "properties": { + "content editor": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_content_editor" + }, + "platform admin": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_platform_admin" + }, + "site builder": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_site_builder" + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "CentralizedRoleManagement_executePutActionsResponse_content_editor": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "site_roles": { + "type": "array", + "items": { + "type": "string", + "example": "newrole" + } + } + } + }, + "CentralizedRoleManagement_executePutActionsResponse_platform_admin": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "site_roles": { + "type": "array", + "items": { + "type": "string", + "example": "site maintainer" + } + } + } + }, + "CentralizedRoleManagement_executePutActionsResponse_site_builder": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": false + }, + "site_roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CentralizedRoleManagement_executePutActionsResponse": { + "type": "object", + "properties": { + "content editor": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_content_editor" + }, + "platform admin": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_platform_admin" + }, + "site builder": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_site_builder" + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "CentralizedRoleManagement_executeDeleteActionsResponse_content_editor": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "site_roles": { + "type": "array", + "items": { + "type": "string", + "example": "newrole" + } + } + } + }, + "CentralizedRoleManagement_executeDeleteActionsResponse_platform_admin": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "site_roles": { + "type": "array", + "items": { + "type": "string", + "example": "site maintainer" + } + } + } + }, + "CentralizedRoleManagement_executeDeleteActionsResponse_site_builder": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": false + }, + "site_roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CentralizedRoleManagement_executeDeleteActionsResponse": { + "type": "object", + "properties": { + "content editor": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_content_editor" + }, + "platform admin": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_platform_admin" + }, + "site builder": { + "$ref": "#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_site_builder" + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "CodeBases_getCodeBaseNamesResponse": { + "type": "object", + "properties": { + "stacks": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CodeBases_editCodebaseNameResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Stack details are updated successfully." + } + } + }, + "CodeBases_getCodeBaseDetailsResponse_1": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "name": { + "type": "string", + "example": "abcd" + }, + "description": { + "type": "string", + "example": "stack description" + }, + "tangle_alias": { + "type": "string", + "example": "tangle1" + } + } + }, + "CodeBases_getCodeBaseDetailsResponse_2": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 2 + }, + "name": { + "type": "string", + "example": "fghj" + }, + "description": { + "type": "string", + "example": "stack description 2" + }, + "tangle_alias": { + "type": "string", + "example": "tangle2" + } + } + }, + "CodeBases_getCodeBaseDetailsResponse": { + "type": "object", + "properties": { + "1": { + "$ref": "#/components/schemas/CodeBases_getCodeBaseDetailsResponse_1" + }, + "2": { + "$ref": "#/components/schemas/CodeBases_getCodeBaseDetailsResponse_2" + } + } + }, + "CronJobs_createCronJobResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2021-11-25T13:18:44+00:00" + }, + "nid": { + "type": "integer", + "example": 1234 + }, + "message": { + "type": "string", + "example": "The cron job has been created" + } + } + }, + "CronJobs_editCronJobResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2021-11-25T13:18:44+00:00" + }, + "message": { + "type": "string", + "example": "The cron job has been saved" + } + } + }, + "CronJobs_deleteCronJobResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2021-11-25T13:18:44+00:00" + }, + "message": { + "type": "string", + "example": "The cron job has been deleted" + } + } + }, + "CronJobs_getCronJobsResponse_cronjobs": { + "type": "object", + "properties": { + "nid": { + "type": "integer", + "example": 101 + }, + "name": { + "type": "string", + "example": "cron job 1" + }, + "stacks": { + "type": "array", + "items": { + "type": "integer", + "example": 1 + } + }, + "sites_affected": { + "type": "string", + "example": "dev-sites" + }, + "interval": { + "type": "string", + "example": "14 0,12 * * *" + }, + "drush_command": { + "type": "string", + "example": "cron" + }, + "thread_percentage": { + "type": "integer", + "example": 60 + } + } + }, + "CronJobs_getCronJobsResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2021-11-25T13:18:44+00:00" + }, + "count": { + "type": "integer", + "example": 2 + }, + "cronjobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CronJobs_getCronJobsResponse_cronjobs" + } + } + } + }, + "CronJobs_getCronJobResponse": { + "type": "object", + "properties": { + "nid": { + "type": "integer", + "example": 101 + }, + "name": { + "type": "string", + "example": "cron job 1" + }, + "stacks": { + "type": "array", + "items": { + "type": "integer", + "example": 1 + } + }, + "sites_affected": { + "type": "string", + "example": "dev-sites" + }, + "interval": { + "type": "string", + "example": "14 0,12 * * *" + }, + "drush_command": { + "type": "string", + "example": "cron" + }, + "thread_percentage": { + "type": "integer", + "example": 60 + } + } + }, + "Domains_getAllDomainsResponse_domains": { + "type": "object", + "properties": { + "nid": { + "type": "integer", + "example": 2 + }, + "domain": { + "type": "string", + "example": "foobar.com" + }, + "type": { + "type": "string", + "example": "simple" + }, + "readonly": { + "type": "boolean", + "example": true + } + } + }, + "Domains_getAllDomainsResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 111 + }, + "domains": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Domains_getAllDomainsResponse_domains" + } + } + } + }, + "Domains_getDomainsResponse_domains": { + "type": "object", + "properties": { + "protected_domains": { + "type": "array", + "items": { + "type": "string", + "example": "site.example.sfdev.acquia-test.co" + } + }, + "custom_domains": { + "type": "array", + "items": { + "type": "string", + "example": "www.abc.com/def" + } + } + } + }, + "Domains_getDomainsResponse": { + "type": "object", + "properties": { + "node_id": { + "type": "integer", + "example": 121 + }, + "node_type": { + "type": "string", + "example": "site collection" + }, + "time": { + "type": "string", + "example": "2016-10-28T09:25:26+00:00" + }, + "domains": { + "$ref": "#/components/schemas/Domains_getDomainsResponse_domains" + } + } + }, + "Domains_getDomainStatusResponse": { + "type": "object", + "properties": { + "domain_name": { + "type": "string", + "example": "www.example.com" + }, + "associated_status": { + "type": "string", + "example": "registered|registered_unstable|unregistered|unregistered_unstable" + }, + "node_id": { + "type": "integer", + "example": 123 + }, + "node_type": { + "type": "string", + "example": "site" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "time": { + "type": "string", + "example": "2016-10-28T09:25:26+00:00" + } + } + }, + "Domains_addDomainResponse": { + "type": "object", + "properties": { + "node_id": { + "type": "integer", + "example": 121 + }, + "node_type": { + "type": "string", + "example": "site collection" + }, + "domain": { + "type": "string", + "example": "www.domaintoadd.com" + }, + "time": { + "type": "string", + "example": "2016-10-28T09:25:26+00:00" + }, + "added": { + "type": "boolean", + "example": true + }, + "messages": { + "type": "array", + "items": { + "type": "string", + "example": "Your domain name was successfully added to the site collection." + } + } + } + }, + "Domains_removeDomainResponse": { + "type": "object", + "properties": { + "node_id": { + "type": "integer", + "example": 121 + }, + "node_type": { + "type": "string", + "example": "site collection" + }, + "domain": { + "type": "string", + "example": "www.domaintoremove.com" + }, + "time": { + "type": "string", + "example": "2016-10-28T09:25:26+00:00" + }, + "removed": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Your domain name has been successfully removed from <site collection name>." + } + } + }, + "FactoryStandardDomains_backfillFactoryStandardDomainsResponse": { + "type": "object", + "properties": { + "task_id": { + "type": "integer", + "example": 1234 + }, + "message": { + "type": "string", + "example": "Task has been queued." + }, + "time": { + "type": "string", + "example": "2022-02-16T08:38:09+00:00" + } + } + }, + "FactoryStandardDomains_getFactoryStandardDomainsResponse": { + "type": "object", + "properties": { + "site_prod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename].example.com" + } + }, + "site_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-[environment].example.com" + } + }, + "collection_prod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-collection.example.com" + } + }, + "collection_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-[environment]-collection.example.com" + } + }, + "time": { + "type": "string", + "example": "2022-02-16T08:38:09+00:00" + } + } + }, + "FactoryStandardDomains_setFactoryStandardDomainsResponse": { + "type": "object", + "properties": { + "site_prod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename].example.com" + } + }, + "site_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template3-[sitename]-[environment].example.com" + } + }, + "collection_prod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-collection.example.com" + } + }, + "collection_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-[environment]-collection.example.com" + } + }, + "time": { + "type": "string", + "example": "2022-02-16T08:38:09+00:00" + } + } + }, + "FactoryStandardDomains_removeFactoryStandardDomainsResponse": { + "type": "object", + "properties": { + "site_prod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename].example.com" + } + }, + "site_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template3-[sitename]-[environment].example.com" + } + }, + "collection_prod": { + "type": "array", + "items": { + "type": "string" + } + }, + "collection_nonprod": { + "type": "array", + "items": { + "type": "string", + "example": "template1-[sitename]-[environment]-collection.example.com" + } + }, + "time": { + "type": "string", + "example": "2022-02-16T08:38:09+00:00" + } + } + }, + "Groups_getMembersResponse_members": { + "type": "object", + "properties": { + "uid": { + "type": "integer", + "example": 101 + }, + "group owner": { + "type": "boolean", + "example": true + }, + "group administrator": { + "type": "boolean", + "example": true + } + } + }, + "Groups_getMembersResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "count": { + "type": "integer", + "example": 3 + }, + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Groups_getMembersResponse_members" + } + } + } + }, + "Groups_getGroupByIdResponse": { + "type": "object", + "properties": { + "created": { + "type": "integer", + "example": 1399421609 + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "group_name": { + "type": "string", + "example": "mygroup" + }, + "owner": { + "type": "string", + "example": "user_name" + }, + "owner_id": { + "type": "integer", + "example": 456 + }, + "parent_id": { + "type": "integer", + "example": 789 + }, + "parent_name": { + "type": "string", + "example": "parentgroup" + }, + "live_site_count": { + "type": "integer", + "example": 1 + }, + "total_site_count": { + "type": "integer", + "example": 3 + }, + "status": { + "type": "integer", + "example": 1 + } + } + }, + "Groups_getGroupsResponse_groups": { + "type": "object", + "properties": { + "group_name": { + "type": "string", + "example": "test" + }, + "group_id": { + "type": "integer", + "example": 10002246 + }, + "owner": { + "type": "string", + "example": "user_name" + }, + "owner_id": { + "type": "integer", + "example": 10000461 + }, + "parent_name": { + "type": "string", + "example": "foo" + }, + "parent_id": { + "type": "integer", + "example": 4242 + }, + "status": { + "type": "integer", + "example": 1 + }, + "created": { + "type": "integer", + "example": 1473142941 + }, + "live_site_count": { + "type": "integer", + "example": 1 + }, + "total_site_count": { + "type": "integer", + "example": 2 + } + } + }, + "Groups_getGroupsResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 123 + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Groups_getGroupsResponse_groups" + } + } + } + }, + "Groups_createGroupResponse": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "example": 123 + }, + "group_name": { + "type": "string", + "example": "mygroup" + } + } + }, + "Groups_editGroupResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + } + } + }, + "Groups_deleteGroupResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + } + } + }, + "Groups_addMembersResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "uids_added": { + "type": "array", + "items": { + "type": "integer", + "example": 66 + } + } + } + }, + "Groups_addAdminsResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "uids_promoted": { + "type": "array", + "items": { + "type": "integer", + "example": 66 + } + } + } + }, + "Groups_addSitesResponse": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "foobargroup" + }, + "time": { + "type": "string", + "example": "2020-04-20T10:58:18+00:00" + }, + "site_ids_added": { + "type": "array", + "items": { + "type": "integer", + "example": 121 + } + }, + "message": { + "type": "string", + "example": "One site was successfully added to the site group." + }, + "site_ids_skipped": { + "type": "array", + "items": { + "type": "integer", + "example": 101 + } + } + } + }, + "Groups_removeMembersResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "uids_removed": { + "type": "array", + "items": { + "type": "integer", + "example": 66 + } + } + } + }, + "Groups_removeAdminsResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "group_id": { + "type": "integer", + "example": 123 + }, + "uids_demoted": { + "type": "array", + "items": { + "type": "integer", + "example": 66 + } + } + } + }, + "Groups_removeSitesResponse": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "foobargroup" + }, + "time": { + "type": "string", + "example": "2020-04-20T10:58:18+00:00" + }, + "site_ids_removed": { + "type": "array", + "items": { + "type": "integer", + "example": 121 + } + }, + "message": { + "type": "string", + "example": "One site was successfully removed from the site group." + }, + "site_ids_skipped": { + "type": "array", + "items": { + "type": "integer", + "example": 101 + } + } + } + }, + "Groups_getSitesResponse_sites": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 151 + }, + "db_name": { + "type": "string", + "example": "iade151" + }, + "site": { + "type": "string", + "example": "site1" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "domain": { + "type": "string", + "example": "{base_url}" + }, + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 91 + } + }, + "site_collection": { + "type": "integer", + "example": 5 + }, + "is_primary": { + "type": "boolean", + "example": true + } + } + }, + "Groups_getSitesResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2021-02-19T12:54:23+00:00" + }, + "group_id": { + "type": "integer", + "example": 101 + }, + "count": { + "type": "integer", + "example": 2 + }, + "sites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Groups_getSitesResponse_sites" + } + } + } + }, + "InstallationProfiles_getInstallationProfilesResponse_profiles": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "acquia_acms" + }, + "caption": { + "type": "string", + "example": "Acquia CMS" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "enabled": { + "type": "boolean", + "example": true + }, + "rest_api_default": { + "type": "boolean", + "example": true + }, + "description": { + "type": "string", + "example": "Ready-to-use solution designed to help create and publish websites more easily" + } + } + }, + "InstallationProfiles_getInstallationProfilesResponse": { + "type": "object", + "properties": { + "profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InstallationProfiles_getInstallationProfilesResponse_profiles" + } + }, + "count": { + "type": "integer", + "example": 4 + }, + "time": { + "type": "string", + "example": "1970-01-01T01:02:03+00:00" + } + } + }, + "InstallationProfiles_enableProfileResponse": { + "type": "object", + "properties": { + "updated": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Profile enabled successfully." + }, + "profile_name": { + "type": "string", + "example": "standard" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "enabled": { + "type": "boolean", + "example": true + }, + "rest_api_default": { + "type": "boolean", + "example": true + }, + "time": { + "type": "string", + "example": "1970-01-01T01:02:03+00:00" + } + } + }, + "InstallationProfiles_disableProfileResponse": { + "type": "object", + "properties": { + "updated": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Profile disabled successfully." + }, + "profile_name": { + "type": "string", + "example": "standard" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "enabled": { + "type": "boolean", + "example": false + }, + "rest_api_default": { + "type": "boolean", + "example": false + }, + "time": { + "type": "string", + "example": "1970-01-01T01:02:03+00:00" + } + } + }, + "InstallationProfiles_setDefaultResponse": { + "type": "object", + "properties": { + "updated": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Profile set as default successfully." + }, + "profile_name": { + "type": "string", + "example": "standard" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "enabled": { + "type": "boolean", + "example": true + }, + "rest_api_default": { + "type": "boolean", + "example": true + }, + "time": { + "type": "string", + "example": "1970-01-01T01:02:03+00:00" + } + } + }, + "PageView_getPageViewDataMonthlyResponse_dynamic_requests_2016-10": { + "type": "object", + "properties": { + "date": { + "type": "string", + "example": "2016-10" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "total_dynamic_requests": { + "type": "integer", + "example": 106 + }, + "2xx_dynamic_requests": { + "type": "integer", + "example": 100 + }, + "3xx_dynamic_requests": { + "type": "integer", + "example": 3 + }, + "4xx_dynamic_requests": { + "type": "integer", + "example": 2 + }, + "5xx_dynamic_requests": { + "type": "integer", + "example": 1 + }, + "total_runtime": { + "type": "number", + "example": 101.4 + }, + "2xx_runtime": { + "type": "integer", + "example": 100 + }, + "3xx_runtime": { + "type": "number", + "example": 0.9 + }, + "4xx_runtime": { + "type": "number", + "example": 0.4 + }, + "5xx_runtime": { + "type": "number", + "example": 0.1 + } + } + }, + "PageView_getPageViewDataMonthlyResponse_dynamic_requests": { + "type": "object", + "properties": { + "2016-10": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyResponse_dynamic_requests_2016-10" + } + } + }, + "PageView_getPageViewDataMonthlyResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 1 + }, + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "most_recent_data": { + "type": "string", + "example": "2016-11-23" + }, + "dynamic_requests": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyResponse_dynamic_requests" + } + } + }, + "PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests_domain1.example.com": { + "type": "object", + "properties": { + "date": { + "type": "string", + "example": "2016-11" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "total_dynamic_requests": { + "type": "integer", + "example": 106 + }, + "2xx_dynamic_requests": { + "type": "integer", + "example": 100 + }, + "3xx_dynamic_requests": { + "type": "integer", + "example": 3 + }, + "4xx_dynamic_requests": { + "type": "integer", + "example": 2 + }, + "5xx_dynamic_requests": { + "type": "integer", + "example": 1 + }, + "total_runtime": { + "type": "number", + "example": 101.4 + }, + "2xx_runtime": { + "type": "integer", + "example": 100 + }, + "3xx_runtime": { + "type": "number", + "example": 0.9 + }, + "4xx_runtime": { + "type": "number", + "example": 0.4 + }, + "5xx_runtime": { + "type": "number", + "example": 0.1 + } + } + }, + "PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests": { + "type": "object", + "properties": { + "domain1.example.com": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests_domain1.example.com" + } + } + }, + "PageView_getPageViewDataMonthlyPerDomainResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 1 + }, + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "most_recent_data": { + "type": "string", + "example": "2016-11-23" + }, + "dynamic_requests": { + "$ref": "#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests" + } + } + }, + "Pause_pauseResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task processing has been paused." + } + } + }, + "Pause_pauseTaskResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task processing has been paused." + }, + "task_id": { + "type": "integer", + "example": 123 + }, + "level": { + "type": "string", + "example": "family" + } + } + }, + "Ping_pingResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "pong" + }, + "server_time": { + "type": "string", + "example": "2014-02-16T20:04:12-06:00" + } + } + }, + "Role_getRolesResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 4 + }, + "roles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Role_getRoleResponse": { + "type": "object", + "properties": { + "rid": { + "type": "integer", + "example": 32 + }, + "name": { + "type": "string", + "example": "platform admin" + } + } + }, + "Role_createRoleResponse": { + "type": "object", + "properties": { + "role_id": { + "type": "integer", + "example": 16 + }, + "role_name": { + "type": "string", + "example": "content editor" + } + } + }, + "Role_updateRoleResponse": { + "type": "object", + "properties": { + "role_id": { + "type": "integer", + "example": 32 + }, + "updated": { + "type": "boolean", + "example": true + } + } + }, + "Role_deleteRoleResponse": { + "type": "object", + "properties": { + "role_id": { + "type": "integer", + "example": 76 + }, + "deleted": { + "type": "boolean", + "example": true + } + } + }, + "Security_getSecuritySettingsResponse": { + "type": "object", + "properties": { + "minimum_password_length": { + "type": "string", + "example": "7" + }, + "minimum_required_password_strength": { + "type": "string", + "example": "disabled|weak|good|strong|very strong" + }, + "two_step_verification": { + "type": "boolean", + "example": true + }, + "sign_out_inactive_user_accounts": { + "type": "boolean", + "example": true + }, + "sign_out_inactivity_time": { + "type": "string", + "example": "18000" + }, + "automatically_disable_accounts": { + "type": "boolean", + "example": true + }, + "automatically_disable_accounts_after_days": { + "type": "string", + "example": "90" + } + } + }, + "Security_updateSecuritySettingsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Security settings have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "Security_resetSecuritySettingsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Security settings have been reset to their default values." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SfInfo_getSfVersionResponse": { + "type": "object", + "properties": { + "factory_version": { + "type": "string", + "example": "2.59.0" + }, + "time": { + "type": "string", + "example": "2017-05-11T18:15:19+00:00" + } + } + }, + "SiteCollections_getCollectionsResponse_collections": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 196 + }, + "name": { + "type": "string", + "example": "collection2" + }, + "internal_domain": { + "type": "string", + "example": "domain1.site-factory.com" + }, + "primary_site": { + "type": "integer", + "example": 220 + }, + "site_count": { + "type": "integer", + "example": 2 + }, + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 91 + } + }, + "customer_standard_domains": { + "type": "array", + "items": { + "type": "string", + "example": "collection2-coll.example.com" + } + }, + "external_domains": { + "type": "array", + "items": { + "type": "string", + "example": "external1-coll.example.com" + } + } + } + }, + "SiteCollections_getCollectionsResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 111 + }, + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "collections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SiteCollections_getCollectionsResponse_collections" + } + } + } + }, + "SiteCollections_getCollectionResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 261 + }, + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "created": { + "type": "integer", + "example": 1489075420 + }, + "owner": { + "type": "string", + "example": "admin" + }, + "name": { + "type": "string", + "example": "collection1" + }, + "internal_domain": { + "type": "string", + "example": "collection1.site-factory.com" + }, + "external_domains": { + "type": "array", + "items": { + "type": "string", + "example": "domain1.site-factory.com" + } + }, + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 91 + } + }, + "sites": { + "type": "array", + "items": { + "type": "integer", + "example": 236 + } + }, + "primary_site": { + "type": "integer", + "example": 236 + } + } + }, + "SiteCollections_createCollectionResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "mycollection" + }, + "time": { + "type": "string", + "example": "2016-11-25T13:18:44+00:00" + }, + "internal_domain": { + "type": "string", + "example": "mycollecton.site-factory.com" + } + } + }, + "SiteCollections_deleteCollectionResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 101 + }, + "time": { + "type": "string", + "example": "2016-10-28T09:25:26+00:00" + }, + "deleted": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Your site collection was successfully deleted." + } + } + }, + "SiteCollections_addSiteToCollectionResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "foobarcollection" + }, + "time": { + "type": "string", + "example": "2017-04-20T10:58:18+00:00" + }, + "site_ids_added": { + "type": "array", + "items": { + "type": "integer", + "example": 121 + } + }, + "added": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "One site was successfully added to the site collection." + }, + "warning": { + "type": "array", + "items": { + "type": "string", + "example": "The site aabbcc (site ID: 101) is already part of the current site collection.; The site ddeeff (site ID: 126) is already part of the current site collection." + } + }, + "site_ids_skipped": { + "type": "array", + "items": { + "type": "integer", + "example": 101 + } + } + } + }, + "SiteCollections_removeSiteFromCollectionResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "foobarcollection" + }, + "time": { + "type": "string", + "example": "2017-04-20T10:58:18+00:00" + }, + "site_ids_removed": { + "type": "array", + "items": { + "type": "integer", + "example": 121 + } + }, + "removed": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "One site was successfully removed from the site collection." + } + } + }, + "SiteCollections_setPrimarySiteResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "name": { + "type": "string", + "example": "foobarcollection" + }, + "time": { + "type": "string", + "example": "2017-04-20T10:58:18+00:00" + }, + "primary_site_id": { + "type": "integer", + "example": 101 + }, + "switched": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "It can take a few minutes to switch over to the new primary site." + } + } + }, + "SiteGuardConfig_getSiteGuardConfigResponse": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Please log in" + }, + "password": { + "type": "string", + "example": "password1" + }, + "time": { + "type": "string", + "example": "2022-03-28T08:46:11+00:00" + }, + "username": { + "type": "string", + "example": "test" + } + } + }, + "SiteGuardConfig_setSiteGuardConfigResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteGuardConfig_removeSiteGuardConfigResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteOwnership_executeGetActionsResponse": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "example": true + }, + "uid": { + "type": "integer", + "example": 1234 + }, + "username": { + "type": "string", + "example": "john.doe" + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteOwnership_executePutActionsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteOwnership_executeDeleteActionsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Site ownership assignment feature has been disabled." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteUpdatePriority_getSiteUpdatePriorityResponse_priority": { + "type": "object", + "properties": { + "371": { + "type": "integer", + "example": 3 + }, + "416": { + "type": "integer", + "example": 4 + }, + "421": { + "type": "integer", + "example": 5 + } + } + }, + "SiteUpdatePriority_getSiteUpdatePriorityResponse": { + "type": "object", + "properties": { + "priority": { + "$ref": "#/components/schemas/SiteUpdatePriority_getSiteUpdatePriorityResponse_priority" + }, + "time": { + "type": "string", + "example": "2022-03-16T10:03:26+00:00" + } + } + }, + "SiteUpdatePriority_setSiteUpdatePriorityResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteUpdatePriority_resetSiteUpdatePriorityResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Site update priority has been removed." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteVariables_triggerSiteVariablesDistributionResponse_task_ids": { + "type": "object", + "properties": { + "glitch.01live.01update": { + "type": "string", + "example": "1901" + }, + "glitch2.01live.01liveup": { + "type": "string", + "example": "1906" + } + } + }, + "SiteVariables_triggerSiteVariablesDistributionResponse": { + "type": "object", + "properties": { + "task_ids": { + "$ref": "#/components/schemas/SiteVariables_triggerSiteVariablesDistributionResponse_task_ids" + }, + "time": { + "type": "string", + "example": "2022-11-23T12:49:57+00:00" + } + } + }, + "SiteVariables_getSiteVariablesResponse_vars_external_service_api_key": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "nid": { + "type": "integer", + "example": 101 + }, + "scrub_during_stage": { + "type": "integer", + "example": 1 + }, + "variable_key": { + "type": "string", + "example": "external_service_api_key" + }, + "variable_value": { + "type": "string", + "example": "apikey-value2" + } + } + }, + "SiteVariables_getSiteVariablesResponse_vars_external_service_api_key_non-secret": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 11 + }, + "nid": { + "type": "integer", + "example": 101 + }, + "scrub_during_stage": { + "type": "integer", + "example": 0 + }, + "variable_key": { + "type": "string", + "example": "external_service_api_key_non-secret" + }, + "variable_value": { + "type": "string", + "example": "apikey-value xx1234" + } + } + }, + "SiteVariables_getSiteVariablesResponse_vars": { + "type": "object", + "properties": { + "external_service_api_key": { + "$ref": "#/components/schemas/SiteVariables_getSiteVariablesResponse_vars_external_service_api_key" + }, + "external_service_api_key_non-secret": { + "$ref": "#/components/schemas/SiteVariables_getSiteVariablesResponse_vars_external_service_api_key_non-secret" + } + } + }, + "SiteVariables_getSiteVariablesResponse": { + "type": "object", + "properties": { + "time": { + "type": "string", + "example": "2022-11-23T12:38:06+00:00" + }, + "vars": { + "$ref": "#/components/schemas/SiteVariables_getSiteVariablesResponse_vars" + } + } + }, + "SiteVariables_changeSiteVariablesResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteVariables_removeSiteVariablesResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "SiteVariables_removeSiteVariableResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "Sites_getSitesResponse_sites": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "created": { + "type": "integer", + "example": 1616611353 + }, + "owner": { + "type": "string", + "example": "John Drupal" + }, + "site": { + "type": "string", + "example": "site1" + }, + "db_name": { + "type": "string", + "example": "bdpref191" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "domain": { + "type": "string", + "example": "domain1.site-factory.com" + }, + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 91 + } + }, + "site_collection": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "boolean" + } + ] + }, + "is_primary": { + "type": "boolean", + "example": true + } + } + }, + "Sites_getSitesResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 111 + }, + "sites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sites_getSitesResponse_sites" + } + } + } + }, + "Sites_getSiteResponse_external_theme": { + "type": "object", + "properties": { + "vcs_url": { + "type": "string", + "example": "git@github.com:username/drupal-theme-repo.git" + }, + "vcs_path": { + "type": "string", + "example": "master" + } + } + }, + "Sites_getSiteResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 123 + }, + "created": { + "type": "integer", + "example": 1397483647 + }, + "owner": { + "type": "string", + "example": "John Drupal" + }, + "site": { + "type": "string", + "example": "site1" + }, + "stack_id": { + "type": "integer", + "example": 1 + }, + "db_name": { + "type": "string", + "example": "bdpref196" + }, + "domains": { + "type": "array", + "items": { + "type": "string", + "example": "domain1.site-factory.com" + } + }, + "groups": { + "type": "array", + "items": { + "type": "integer", + "example": 91 + } + }, + "part_of_collection": { + "type": "boolean", + "example": true + }, + "is_primary": { + "type": "boolean", + "example": true + }, + "collection_id": { + "type": "integer", + "example": 241 + }, + "collection_domains": { + "type": "array", + "items": { + "type": "string", + "example": "domain241.example.com" + } + }, + "external_theme": { + "$ref": "#/components/schemas/Sites_getSiteResponse_external_theme" + } + } + }, + "Sites_createSiteResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 191 + }, + "site": { + "type": "string", + "example": "site1" + }, + "domains": { + "type": "array", + "items": { + "type": "string", + "example": "mysite.site-factory.com" + } + }, + "task_id": { + "type": "integer", + "example": 12345 + } + } + }, + "Sites_deleteSiteResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 123 + }, + "owner": { + "type": "string", + "example": "johnsmith" + }, + "site": { + "type": "string", + "example": "unicorns" + }, + "time": { + "type": "string", + "example": "1970-01-01T01:02:03+00:00" + }, + "task_id": { + "type": "integer", + "example": 16 + } + } + }, + "Sites_duplicateSiteResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 183 + }, + "site": { + "type": "string", + "example": "mysite2" + } + } + }, + "Sites_backupSiteResponse": { + "type": "object", + "properties": { + "task_id": { + "type": "integer", + "example": 183 + } + } + }, + "Sites_getSiteBackupsResponse_backups": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 6 + }, + "nid": { + "type": "integer", + "example": 123 + }, + "status": { + "type": "integer", + "example": 1 + }, + "uid": { + "type": "integer", + "example": 16 + }, + "timestamp": { + "type": "integer", + "example": 1415044083 + }, + "bucket": { + "type": "string", + "example": "sitefactorybackups" + }, + "directory": { + "type": "string", + "example": "oldschool" + }, + "file": { + "type": "string", + "example": "oldschool_91_1415044083.tar.gz" + }, + "label": { + "type": "string", + "example": "Weekly" + }, + "componentList": { + "type": "array", + "items": { + "type": "string", + "example": "codebase" + } + }, + "complete": { + "type": "boolean", + "example": true + } + } + }, + "Sites_getSiteBackupsResponse": { + "type": "object", + "properties": { + "backups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sites_getSiteBackupsResponse_backups" + } + } + } + }, + "Sites_getSiteBackupUrlResponse": { + "type": "object", + "properties": { + "url": { + "type": "string", + "example": "https://s3.amazonaws.com/sitefactorybackups/site/backup1_101_1415643727.tar.gz?AWSAccessKeyId=AKIAINAAC2EGOVCRW4WA&Expires=1415713064&Signature=pWucd8b6T%2FqzoNewXH6EuTyIr1g%3D" + }, + "lifetime": { + "type": "integer", + "example": 300 + } + } + }, + "Sites_deleteSiteBackupResponse": { + "type": "object", + "properties": { + "task_id": { + "type": "integer", + "example": 16 + } + } + }, + "Sites_restoreSiteResponse": { + "type": "object", + "properties": { + "task_id": { + "type": "integer", + "example": 1024 + } + } + }, + "Sites_clearCachesResponse_task_ids": { + "type": "object", + "properties": { + "drupal_cache_clear": { + "type": "integer", + "example": 1234 + }, + "varnish_cache_clear": { + "type": "integer", + "example": 1234 + } + } + }, + "Sites_clearCachesResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 123 + }, + "time": { + "type": "string", + "example": "2017-05-04T09:25:26+00:00" + }, + "task_ids": { + "$ref": "#/components/schemas/Sites_clearCachesResponse_task_ids" + } + } + }, + "StageV2_stagingEnvironmentsResponse_environments": { + "type": "object", + "properties": { + "test": { + "type": "string", + "example": "test" + } + } + }, + "StageV2_stagingEnvironmentsResponse": { + "type": "object", + "properties": { + "environments": { + "$ref": "#/components/schemas/StageV2_stagingEnvironmentsResponse_environments" + } + } + }, + "StageV2_stageResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Staging deployment has been initiated - WIP123." + }, + "task_id": { + "type": "integer", + "example": 123 + } + } + }, + "Status_getStatusResponse": { + "type": "object", + "properties": { + "site_creation": { + "type": "string", + "example": "Disabled" + }, + "site_duplication": { + "type": "string", + "example": "Enabled" + }, + "domain_management": { + "type": "string", + "example": "Disabled until 2014-02-14T11:52:17-05:00" + }, + "bulk_operations": { + "type": "string", + "example": "Disabled until 2014-02-14T11:52:17-05:00" + } + } + }, + "Status_setStatusResponse": { + "type": "object", + "properties": { + "site_creation": { + "type": "string", + "example": "" + }, + "site_duplication": { + "type": "string", + "example": "2022-02-17T05:06:55-08:00" + }, + "domain_management": { + "type": "string", + "example": "" + }, + "bulk_operations": { + "type": "string", + "example": "2022-02-17T05:06:55-08:00" + } + } + }, + "Task_classesResponse": { + "type": "array", + "items": { + "type": "string", + "example": "Acquia\\SfSite\\SiteInstall" + } + }, + "Task_tasksResponse_item": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "7726" + }, + "parent": { + "type": "string", + "example": "0" + }, + "name": { + "type": "string", + "example": "CronController 151" + }, + "group_name": { + "type": "string", + "example": "CronController" + }, + "priority": { + "type": "string", + "example": "2" + }, + "object_id": { + "type": "string", + "example": "7726" + }, + "status": { + "type": "string", + "example": "8" + }, + "wake": { + "type": "string", + "example": "1645143240" + }, + "added": { + "type": "string", + "example": "1645103709" + }, + "started": { + "type": "string", + "example": "1645103715" + }, + "completed": { + "type": "string", + "example": "0" + }, + "taken": { + "type": "string", + "example": "0" + }, + "lease": { + "type": "string", + "example": "301" + }, + "max_run_time": { + "type": "string", + "example": "300" + }, + "paused": { + "type": "string", + "example": "0" + }, + "concurrency_exceeded": { + "type": "string", + "example": "0" + }, + "error_message": { + "type": "string", + "example": "" + }, + "nid": { + "type": "string", + "example": "0" + }, + "uid": { + "type": "string", + "example": "0" + }, + "class": { + "type": "string", + "example": "Acquia\\SfCron\\CronController" + } + } + }, + "Task_tasksResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Task_tasksResponse_item" + } + }, + "Task_logsResponse_item": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "755096" + }, + "timestamp": { + "type": "string", + "example": "1643297111" + }, + "object_id": { + "type": "string", + "example": "5566" + }, + "action": { + "type": "string", + "example": "" + }, + "level": { + "type": "string", + "example": "7" + }, + "message": { + "type": "string", + "example": "[ded-11|7376] - Task added for object id 5566." + }, + "readable": { + "type": "string", + "example": "0" + } + } + }, + "Task_logsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Task_logsResponse_item" + } + }, + "Task_deleteResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task 123 has been deleted." + }, + "time": { + "type": "string", + "example": "1970-01-01T00:00:00+00:00" + }, + "task_id": { + "type": "integer", + "example": 123 + } + } + }, + "Task_terminateResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task 123 has been queued for termination." + }, + "time": { + "type": "string", + "example": "1970-01-01T00:00:00+00:00" + }, + "task_id": { + "type": "integer", + "example": 123 + } + } + }, + "TaskLogSettings_getTaskLogSettingsResponse_wip_log_maximum_level": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "Overall tasks logging level" + }, + "value": { + "type": "string", + "example": "trace" + } + } + }, + "TaskLogSettings_getTaskLogSettingsResponse_wip_log_level": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "Successful tasks logging level" + }, + "value": { + "type": "string", + "example": "warn" + } + } + }, + "TaskLogSettings_getTaskLogSettingsResponse": { + "type": "object", + "properties": { + "wip_log_maximum_level": { + "$ref": "#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse_wip_log_maximum_level" + }, + "wip_log_level": { + "$ref": "#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse_wip_log_level" + } + } + }, + "TaskLogSettings_editTaskLogSettingsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been saved." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "TaskLogSettings_resetTaskLogSettingsResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The configuration options have been reset to their default values." + }, + "time": { + "type": "string", + "example": "2022-01-19T08:38:09+00:00" + } + } + }, + "Theme_getThemePublicKeyResponse": { + "type": "object", + "properties": { + "deploy_key": { + "type": "string", + "example": "ssh-rsa...== id_rsa_external_theme" + }, + "time": { + "type": "string", + "example": "2034-05-11T18:15:19+00:00" + } + } + }, + "Theme_processThemesResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The request to process theme notification has been accepted." + }, + "sitegroups": { + "type": "array", + "items": { + "type": "string", + "example": "tangle001" + } + }, + "time": { + "type": "string", + "example": "2014-05-02T16:21:25+00:00" + } + } + }, + "Theme_refreshSiteExternalThemesResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 121 + }, + "accepted": { + "type": "boolean", + "example": true + }, + "time": { + "type": "string", + "example": "2024-05-11T18:15:19+00:00" + } + } + }, + "Theme_setSiteExternalThemeResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 121 + }, + "vcs_url": { + "type": "string", + "example": "git@github.com:user/repo.git" + }, + "vcs_path": { + "type": "string", + "example": "master" + }, + "time": { + "type": "string", + "example": "2020-01-09T15:57:24+00:00" + } + } + }, + "Theme_deleteSiteExternalThemeResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 121 + }, + "accepted": { + "type": "boolean", + "example": true + }, + "time": { + "type": "string", + "example": "2024-05-11T18:15:19+00:00" + } + } + }, + "ThemeNotification_handleNotificationResponse_notification": { + "type": "object", + "properties": { + "scope": { + "type": "string", + "example": "site" + }, + "event": { + "type": "string", + "example": "modify" + }, + "nid": { + "type": "integer", + "example": 123 + } + } + }, + "ThemeNotification_handleNotificationResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "The site.modify notification has been received." + }, + "time": { + "type": "string", + "example": "2014-02-16T20:04:12-06:00" + }, + "notification": { + "$ref": "#/components/schemas/ThemeNotification_handleNotificationResponse_notification" + } + } + }, + "TransferSiteOwnership_transferSiteOwnerResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "To transfer your site, please follow the instructions in the e-mail that was sent to site-owner@email.com" + } + } + }, + "Update_updateResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Update initiated." + }, + "task_id": { + "type": "integer", + "example": 123 + } + } + }, + "Update_statusResponse_statuses": { + "type": "object", + "properties": { + "not-started": { + "type": "integer", + "example": 0 + }, + "in-progress": { + "type": "integer", + "example": 0 + }, + "completed": { + "type": "string", + "example": "30" + }, + "warning": { + "type": "integer", + "example": 0 + }, + "error": { + "type": "integer", + "example": 0 + } + } + }, + "Update_statusResponse_docroot_pairs_environment": { + "type": "object", + "properties": { + "site": { + "type": "string", + "example": "test" + }, + "env": { + "type": "string", + "example": "prod" + }, + "tangle": { + "type": "string", + "example": "tangle_test" + }, + "type": { + "type": "string", + "example": "live_env" + } + } + }, + "Update_statusResponse_docroot_pairs": { + "type": "object", + "properties": { + "environment": { + "$ref": "#/components/schemas/Update_statusResponse_docroot_pairs_environment" + }, + "total": { + "type": "integer", + "example": 30 + }, + "error_percentage": { + "type": "integer", + "example": 0 + }, + "completed_percentage": { + "type": "integer", + "example": 100 + } + } + }, + "Update_statusResponse": { + "type": "object", + "properties": { + "statuses": { + "$ref": "#/components/schemas/Update_statusResponse_statuses" + }, + "message": { + "type": "string", + "example": "Update complete" + }, + "percentage": { + "type": "integer", + "example": 100 + }, + "start_time": { + "type": "integer", + "example": 1423862773 + }, + "end_time": { + "type": "integer", + "example": 1423865337 + }, + "id": { + "type": "integer", + "example": 4726 + }, + "docroot_pairs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Update_statusResponse_docroot_pairs" + } + } + } + }, + "Update_updateListResponse": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Update_updateListResponse_item" + } + }, + "Update_updateListResponse_item": { + "type": "object", + "properties": { + "added": { + "type": "string", + "example": "1423762615" + }, + "status": { + "type": "string", + "example": "16" + } + } + }, + "Update_pauseUpdateResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Site update processing has been paused." + } + } + }, + "Update_changeUpdaterStartTimeResponse": { + "type": "object", + "properties": { + "success": { + "type": "integer", + "example": 1 + }, + "message": { + "type": "string", + "example": "The updater start time has been changed." + } + } + }, + "Update_terminateUpdaterResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Initiated termination of task 123." + } + } + }, + "User_getUsersResponse_users": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "1" + }, + "name": { + "type": "string", + "example": "admin" + }, + "mail": { + "type": "string", + "example": "admin@example.com" + }, + "created": { + "type": "string", + "example": "1431525207" + }, + "access": { + "type": "string", + "example": "1431525447" + }, + "status": { + "type": "string", + "example": "blocked" + }, + "tfa_status": { + "type": "string", + "example": "not available" + }, + "roles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "User_getUsersResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 6 + }, + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/User_getUsersResponse_users" + } + } + } + }, + "User_getUserResponse": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "example": "32" + }, + "name": { + "type": "string", + "example": "Mark" + }, + "mail": { + "type": "string", + "example": "mark@example.com" + }, + "created": { + "type": "string", + "example": "1449070860" + }, + "login": { + "type": "string", + "example": "1449071036" + }, + "status": { + "type": "string", + "example": "1" + }, + "roles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tfa_status": { + "type": "string", + "example": "active" + } + } + }, + "User_createUserResponse": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "example": 16 + }, + "user_name": { + "type": "string", + "example": "Mark" + }, + "user_mail": { + "type": "string", + "example": "mark@example.com" + }, + "user_status": { + "type": "string", + "example": "active" + } + } + }, + "User_updateUserResponse": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "example": 85 + }, + "updated": { + "type": "boolean", + "example": true + } + } + }, + "User_deleteUserResponse": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "example": 76 + }, + "deleted": { + "type": "boolean", + "example": true + } + } + }, + "Vcs_getRefsResponse": { + "type": "object", + "properties": { + "available": { + "type": "array", + "items": { + "type": "string", + "example": "dev-branch" + } + }, + "current": { + "type": "string", + "example": "tags/2.85.0.3085" + } + } + }, + "WipTaskStatus_getWipTaskStatusResponse_wip_task": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "476" + }, + "parent": { + "type": "string", + "example": "0" + }, + "name": { + "type": "string", + "example": "SiteArchive 111" + }, + "group_name": { + "type": "string", + "example": "SiteArchive customerstack1_01" + }, + "status": { + "type": "string", + "example": "16" + }, + "status_string": { + "type": "string", + "example": "Completed" + }, + "added": { + "type": "string", + "example": "1475051666" + }, + "started": { + "type": "string", + "example": "1475051667" + }, + "completed": { + "type": "string", + "example": "1475051765" + }, + "paused": { + "type": "string", + "example": "0" + }, + "error_message": { + "type": "string", + "example": "" + }, + "nid": { + "type": "string", + "example": "111" + }, + "uid": { + "type": "string", + "example": "21" + } + } + }, + "WipTaskStatus_getWipTaskStatusResponse": { + "type": "object", + "properties": { + "wip_task": { + "$ref": "#/components/schemas/WipTaskStatus_getWipTaskStatusResponse_wip_task" + }, + "time": { + "type": "string", + "example": "2014-05-02T16:21:25+00:00" + } + } + } + } + } +} diff --git a/assets/acsf-spec.yaml b/assets/acsf-spec.yaml deleted file mode 100644 index e88c04ce1..000000000 --- a/assets/acsf-spec.yaml +++ /dev/null @@ -1,6157 +0,0 @@ -openapi: 3.0.0 -info: - title: 'Acquia Site Factory REST API' - version: 1.0.0 - description: 'OpenAPI 3.0 specification for Acquia Site Factory REST API' -paths: - /api/v1/users/all/api-keys: - delete: - summary: 'Regenerate ALL users API keys' - description: 'Regenerate ALL users API keys.' - x-cli-name: 'api:regenerate-all-keys' - operationId: delete_ApiKey_resetKeys - responses: - 200: - description: 'ApiKey_resetKeys response' - content: - application/json: - schema: - $ref: '#/components/schemas/ApiKey_resetKeysResponse' - 400: - description: 'bad input parameter' - '/api/v1/users/{user_id}/api-keys': - delete: - summary: 'Regenerate a user''s API key' - description: 'Regenerate a user''s API key.' - x-cli-name: 'api:regenerate-key' - operationId: delete_ApiKey_resetUserKeys - parameters: - - - in: path - name: user_id - description: 'The user ID of the user.' - schema: - type: integer - required: true - responses: - 200: - description: 'ApiKey_resetUserKeys response' - content: - application/json: - schema: - $ref: '#/components/schemas/ApiKey_resetUserKeysResponse' - 400: - description: 'bad input parameter' - /api/v1/audit: - get: - summary: 'List audit events' - description: 'Gets a list of audit events.' - x-cli-name: 'info:audit-events-find' - operationId: get_AuditEvent_getAuditEvents - parameters: - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - - - in: query - name: order - description: 'Either "ASC" or "DESC".' - schema: - type: string - pattern: ^(ASC|DESC)$ - required: false - - - in: query - name: source - description: 'The source of the event.' - schema: - type: string - required: false - - - in: query - name: module - description: 'The system name of the module.' - schema: - type: string - required: false - - - in: query - name: scope - description: 'The general scope of the changes.' - schema: - type: string - required: false - - - in: query - name: type - description: 'The specific type of changes.' - schema: - type: string - required: false - - - in: query - name: nid - description: 'An associated node ID.' - schema: - type: integer - required: false - - - in: query - name: uid - description: 'The user who made the change.' - schema: - type: integer - required: false - responses: - 200: - description: 'AuditEvent_getAuditEvents response' - content: - application/json: - schema: - $ref: '#/components/schemas/AuditEvent_getAuditEventsResponse' - 400: - description: 'bad input parameter' - /api/v1/backup-expiration: - put: - summary: 'Configure the backup expiration and automatic deletion.' - description: 'Configure the backup expiration and automatic deletion setting.' - x-cli-name: 'sites:backup-set-expiration' - operationId: put_BackupExpirationManagement_setBackupExpirationSettings - requestBody: - content: - application/json: - schema: - type: object - properties: - expiration_days: - description: 'Number of days (between 1 and 365) after which backups get automatically deleted.' - type: integer - required: - - expiration_days - responses: - 200: - description: 'BackupExpirationManagement_setBackupExpirationSettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/BackupExpirationManagement_setBackupExpirationSettingsResponse' - 400: - description: 'bad input parameter' - get: - summary: 'Get the current backup expiration and automatic deletion setting.' - description: 'Get the current backup expiration and automatic deletion setting.' - x-cli-name: 'sites:backup-get-expiration' - operationId: get_BackupExpirationManagement_getBackupExpirationSettings - responses: - 200: - description: 'BackupExpirationManagement_getBackupExpirationSettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/BackupExpirationManagement_getBackupExpirationSettingsResponse' - 400: - description: 'bad input parameter' - /api/v1/centralized-role-management: - get: - summary: 'Get current centralized role management settings.' - description: 'Get current centralized role management settings.' - x-cli-name: 'roles:get-mgr' - operationId: get_CentralizedRoleManagement_executeGetActions - responses: - 200: - description: 'CentralizedRoleManagement_executeGetActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse' - 400: - description: 'bad input parameter' - '/api/v1/centralized-role-management/{factory_role}': - put: - summary: 'Set the centralized role management settings for a given role.' - description: 'Set the centralized role management settings for a given role.' - x-cli-name: 'roles:set-mgr' - operationId: put_CentralizedRoleManagement_executePutActions - parameters: - - - in: path - name: factory_role - description: 'The site factory role. Currently the only supported ones are "content_editor", "platform_admin" and "site_builder".' - schema: - type: string - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_role: - description: 'The corresponding role on the site.' - type: string - required: - - site_role - responses: - 200: - description: 'CentralizedRoleManagement_executePutActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/CentralizedRoleManagement_executePutActionsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Disable the centralized role management settings for a given role.' - description: 'Disable the centralized role management settings for a given role.' - x-cli-name: 'roles:disable-mgr' - operationId: delete_CentralizedRoleManagement_executeDeleteActions - parameters: - - - in: path - name: factory_role - description: 'The site factory role. Currently the only supported ones are "content_editor", "platform_admin" and "site_builder".' - schema: - type: string - required: true - responses: - 200: - description: 'CentralizedRoleManagement_executeDeleteActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse' - 400: - description: 'bad input parameter' - /api/v1/stacks: - get: - summary: 'Get list of available stacks.' - description: 'Fetches the list of available stacks.' - x-cli-name: 'info:stacks-find' - operationId: get_CodeBases_getCodeBaseNames - responses: - 200: - description: 'CodeBases_getCodeBaseNames response' - content: - application/json: - schema: - $ref: '#/components/schemas/CodeBases_getCodeBaseNamesResponse' - 400: - description: 'bad input parameter' - '/api/v1/stacks/{codebase_id}': - put: - summary: 'Edit stack information.' - description: 'Edit stack information.' - x-cli-name: 'stacks:edit' - operationId: put_CodeBases_editCodebaseName - parameters: - - - in: path - name: codebase_id - description: 'Id of stack whose details are to be changed.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'New stack name to be updated.' - type: string - description: - description: 'Stack description to be updated.' - type: string - tangle_alias: - description: 'New tangle alias name for tangle associated with that stack.' - type: string - responses: - 200: - description: 'CodeBases_editCodebaseName response' - content: - application/json: - schema: - $ref: '#/components/schemas/CodeBases_editCodebaseNameResponse' - 400: - description: 'bad input parameter' - /api/v1/stacks/details: - get: - summary: 'Get details of available stacks.' - description: 'Fetches the details of available stacks.' - x-cli-name: 'stacks:find-details' - operationId: get_CodeBases_getCodeBaseDetails - responses: - 200: - description: 'CodeBases_getCodeBaseDetails response' - content: - application/json: - schema: - $ref: '#/components/schemas/CodeBases_getCodeBaseDetailsResponse' - 400: - description: 'bad input parameter' - /api/v1/cronjobs: - post: - summary: 'Create a new cron job.' - description: 'Create a new cron job.' - x-cli-name: 'crons:create' - operationId: post_CronJobs_createCronJob - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The cron job name.' - type: string - command: - description: 'The command that should be executed.' - type: string - interval: - description: 'A unix cron expression.' - type: string - sites_affected: - description: 'Possible values: dev-sites - sites without custom domains, prod-sites - sites with custom domains, all' - type: string - enabled: - description: 'If the cron should be enabled.' - type: integer - thread_percentage: - description: 'The percentage of cron threads that should be used for this cron. Value has to be an integer between 0 and 100.' - type: integer - stacks: - description: 'An array of stack ids for which the cron should be enabled.' - type: array - items: - type: integer - required: - - name - - command - - interval - - sites_affected - - enabled - - thread_percentage - - stacks - responses: - 200: - description: 'CronJobs_createCronJob response' - content: - application/json: - schema: - $ref: '#/components/schemas/CronJobs_createCronJobResponse' - 400: - description: 'bad input parameter' - get: - summary: 'Get cron jobs. sites_affected: dev-sites(without custom domains)|prod-sites(with custom domains)|all' - description: 'Get all cron jobs (paged).' - x-cli-name: 'cron:find-jobs' - operationId: get_CronJobs_getCronJobs - parameters: - - - in: query - name: limit - description: 'A positive integer (max 20).' - schema: - type: integer - minimum: 1 - maximum: 20 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'CronJobs_getCronJobs response' - content: - application/json: - schema: - $ref: '#/components/schemas/CronJobs_getCronJobsResponse' - 400: - description: 'bad input parameter' - '/api/v1/cronjobs/{job_id}': - put: - summary: 'Edit a cron job.' - description: 'Edit a cron job.' - x-cli-name: 'crons:edit' - operationId: put_CronJobs_editCronJob - parameters: - - - in: path - name: job_id - description: 'Cron job id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The cron job name.' - type: string - command: - description: 'The command that should be executed.' - type: string - interval: - description: 'A unix cron expression.' - type: string - sites_affected: - description: 'Possible values: dev-sites - sites without custom domains, prod-sites - sites with custom domains, all' - type: string - enabled: - description: 'If the cron should be enabled.' - type: integer - thread_percentage: - description: 'The percentage of cron threads that should be used for this cron. Value has to be an integer between 0 and 100.' - type: integer - stacks: - description: 'An array of stack ids for which the cron should be enabled.' - type: array - items: - type: integer - required: - - name - - command - - interval - - sites_affected - - enabled - - thread_percentage - - stacks - responses: - 200: - description: 'CronJobs_editCronJob response' - content: - application/json: - schema: - $ref: '#/components/schemas/CronJobs_editCronJobResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete a cron job.' - description: 'Delete a cron job.' - x-cli-name: 'crons:delete' - operationId: delete_CronJobs_deleteCronJob - parameters: - - - in: path - name: job_id - description: 'Cron job id.' - schema: - type: integer - required: true - responses: - 200: - description: 'CronJobs_deleteCronJob response' - content: - application/json: - schema: - $ref: '#/components/schemas/CronJobs_deleteCronJobResponse' - 400: - description: 'bad input parameter' - get: - summary: 'Get cron job' - description: 'Get cron job by its id.' - x-cli-name: 'cron:get-job' - operationId: get_CronJobs_getCronJob - parameters: - - - in: path - name: job_id - description: 'Cron job id' - schema: - type: integer - required: true - responses: - 200: - description: 'CronJobs_getCronJob response' - content: - application/json: - schema: - $ref: '#/components/schemas/CronJobs_getCronJobResponse' - 400: - description: 'bad input parameter' - /api/v1/domains: - get: - summary: 'Get all domains.' - description: "Get all domains known to Site Factory.\n\n Possible domain types:\n simple|collectionLive|collectionInternal|factoryStandard." - x-cli-name: 'domains:get-all' - operationId: get_Domains_getAllDomains - parameters: - - - in: query - name: limit - description: 'A positive integer (max 1000).' - schema: - type: integer - minimum: 1 - maximum: 1000 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'Domains_getAllDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/Domains_getAllDomainsResponse' - 400: - description: 'bad input parameter' - '/api/v1/domains/{node_id}': - get: - summary: 'Get domains' - description: 'Get domains by node ID.' - x-cli-name: 'domains:get' - operationId: get_Domains_getDomains - parameters: - - - in: path - name: node_id - description: 'Site node id.' - schema: - type: integer - required: true - responses: - 200: - description: 'Domains_getDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/Domains_getDomainsResponse' - 400: - description: 'bad input parameter' - '/api/v1/domains/status/{domain_name}': - get: - summary: 'Get domain status' - description: 'Get domain status.' - x-cli-name: 'domains:get-status' - operationId: get_Domains_getDomainStatus - parameters: - - - in: path - name: domain_name - description: 'The domain name.' - schema: - type: string - required: true - responses: - 200: - description: 'Domains_getDomainStatus response' - content: - application/json: - schema: - $ref: '#/components/schemas/Domains_getDomainStatusResponse' - 400: - description: 'bad input parameter' - '/api/v1/domains/{node_id}/add': - post: - summary: 'Add domain' - description: 'Adds a domain.' - x-cli-name: 'domains:add' - operationId: post_Domains_addDomain - parameters: - - - in: path - name: node_id - description: 'Site node id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - domain_name: - description: 'The domain name to add.' - type: string - required: - - domain_name - responses: - 200: - description: 'Domains_addDomain response' - content: - application/json: - schema: - $ref: '#/components/schemas/Domains_addDomainResponse' - 400: - description: 'bad input parameter' - '/api/v1/domains/{node_id}/remove': - post: - summary: 'Remove domain' - description: 'Removes a domain.' - x-cli-name: 'domains:remove' - operationId: post_Domains_removeDomain - parameters: - - - in: path - name: node_id - description: 'Site node id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - domain_name: - description: 'The domain name to remove.' - type: string - required: - - domain_name - responses: - 200: - description: 'Domains_removeDomain response' - content: - application/json: - schema: - $ref: '#/components/schemas/Domains_removeDomainResponse' - 400: - description: 'bad input parameter' - /api/v1/factory-standard-domains: - post: - summary: 'Backfill the current factory standard domain templates.' - description: 'Backfill the current factory standard domain templates.' - x-cli-name: 'domains:backfill-std' - operationId: post_FactoryStandardDomains_backfillFactoryStandardDomains - responses: - 200: - description: 'FactoryStandardDomains_backfillFactoryStandardDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/FactoryStandardDomains_backfillFactoryStandardDomainsResponse' - 400: - description: 'bad input parameter' - get: - summary: 'Get the current factory standard domain templates.' - description: 'Get the current factory standard domain templates.' - x-cli-name: 'domains:get-std-templates' - operationId: get_FactoryStandardDomains_getFactoryStandardDomains - responses: - 200: - description: 'FactoryStandardDomains_getFactoryStandardDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/FactoryStandardDomains_getFactoryStandardDomainsResponse' - 400: - description: 'bad input parameter' - '/api/v1/factory-standard-domains/{template_name}': - put: - summary: 'Set the factory standard domain template.' - description: 'Set the factory standard domain template.' - x-cli-name: 'domains:set-std-templates' - operationId: put_FactoryStandardDomains_setFactoryStandardDomains - parameters: - - - in: path - name: template_name - description: 'The template name to change. Currently the only supported ones are "site_prod", "site_nonprod", "collection_prod" and "collection_nonprod".' - schema: - type: string - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - new_template: - description: 'The new template.' - type: array - items: - type: string - required: - - new_template - responses: - 200: - description: 'FactoryStandardDomains_setFactoryStandardDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/FactoryStandardDomains_setFactoryStandardDomainsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Remove the factory standard domain template.' - description: 'Remove the factory standard domain template.' - x-cli-name: 'domains:remove-std-templates' - operationId: delete_FactoryStandardDomains_removeFactoryStandardDomains - parameters: - - - in: path - name: template_name - description: 'The template name to remove. Currently the only supported ones are "site_prod", "site_nonprod", "collection_prod" and "collection_nonprod".' - schema: - type: string - required: true - responses: - 200: - description: 'FactoryStandardDomains_removeFactoryStandardDomains response' - content: - application/json: - schema: - $ref: '#/components/schemas/FactoryStandardDomains_removeFactoryStandardDomainsResponse' - 400: - description: 'bad input parameter' - '/api/v1/groups/{group_id}/members': - get: - summary: 'List group members' - description: 'Get the members of a group.' - x-cli-name: 'groups:find-members' - operationId: get_Groups_getMembers - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - - - in: query - name: limit - description: 'A positive integer (max 1000).' - schema: - type: integer - minimum: 1 - maximum: 1000 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'Groups_getMembers response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_getMembersResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Add members to a group' - description: 'Add members to a group.' - x-cli-name: 'groups:add-members' - operationId: post_Groups_addMembers - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - uids: - description: 'A single user ID, or an array of user IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - uids - responses: - 200: - description: 'Groups_addMembers response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_addMembersResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Remove members from a group' - description: 'Remove members from a group.' - x-cli-name: 'groups:remove-members' - operationId: delete_Groups_removeMembers - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - uids: - description: 'A single user ID, or an array of user IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - uids - responses: - 200: - description: 'Groups_removeMembers response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_removeMembersResponse' - 400: - description: 'bad input parameter' - '/api/v1/groups/{group_id}': - get: - summary: 'Get a group' - description: 'Get a group by group ID.' - x-cli-name: 'groups:get' - operationId: get_Groups_getGroupById - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - responses: - 200: - description: 'Groups_getGroupById response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_getGroupByIdResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete a group' - description: 'Delete a site group.' - x-cli-name: 'groups:delete' - operationId: delete_Groups_deleteGroup - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - responses: - 200: - description: 'Groups_deleteGroup response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_deleteGroupResponse' - 400: - description: 'bad input parameter' - /api/v1/groups: - get: - summary: 'List groups' - description: 'Get a list of groups.' - x-cli-name: 'groups:find' - operationId: get_Groups_getGroups - parameters: - - - in: query - name: limit - description: 'A positive integer not higher than 100.' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'Groups_getGroups response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_getGroupsResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Create a group' - description: 'Create a site group.' - x-cli-name: 'groups:create' - operationId: post_Groups_createGroup - requestBody: - content: - application/json: - schema: - type: object - properties: - group_name: - description: 'The name of the site group to create.' - type: string - parent_id: - description: 'The parent group ID, if applicable.' - type: integer - required: - - group_name - responses: - 200: - description: 'Groups_createGroup response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_createGroupResponse' - 400: - description: 'bad input parameter' - '/api/v1/groups/{group_id}/update': - put: - summary: 'Edit a group' - description: 'Edit a group.' - x-cli-name: 'groups:edit' - operationId: put_Groups_editGroup - parameters: - - - in: path - name: group_id - description: 'Group ID.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - group_name: - description: 'New name for the group.' - type: string - required: - - group_name - responses: - 200: - description: 'Groups_editGroup response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_editGroupResponse' - 400: - description: 'bad input parameter' - '/api/v1/groups/{group_id}/admins': - post: - summary: 'Make members group admin' - description: 'Make members group admin.' - x-cli-name: 'groups:make-members-admins' - operationId: post_Groups_addAdmins - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - uids: - description: 'A single user ID, or an array of user IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - uids - responses: - 200: - description: 'Groups_addAdmins response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_addAdminsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Remove group admin from members' - description: 'Remove group admin from members.' - x-cli-name: 'groups:remove-admins' - operationId: delete_Groups_removeAdmins - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - uids: - description: 'A single user ID, or an array of user IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - uids - responses: - 200: - description: 'Groups_removeAdmins response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_removeAdminsResponse' - 400: - description: 'bad input parameter' - '/api/v1/groups/{group_id}/sites': - post: - summary: 'Add site(s) to a site group.' - description: 'Add site(s) to a site group.' - x-cli-name: 'groups:add-sites' - operationId: post_Groups_addSites - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_ids: - description: 'Either a single site ID, or an array of site IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - site_ids - responses: - 200: - description: 'Groups_addSites response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_addSitesResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Remove site(s) from a site group.' - description: 'Remove site(s) from a site group.' - x-cli-name: 'groups:remove-sites' - operationId: delete_Groups_removeSites - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_ids: - description: 'Either a single site ID, or an array of site IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - site_ids - responses: - 200: - description: 'Groups_removeSites response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_removeSitesResponse' - 400: - description: 'bad input parameter' - get: - summary: 'List sites in a group.' - description: 'Get the sites of a group.' - x-cli-name: 'groups:find-sites' - operationId: get_Groups_getSites - parameters: - - - in: path - name: group_id - description: 'Group id.' - schema: - type: integer - required: true - - - in: query - name: limit - description: 'A positive integer (max 1000).' - schema: - type: integer - minimum: 1 - maximum: 1000 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'Groups_getSites response' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups_getSitesResponse' - 400: - description: 'bad input parameter' - /api/v1/profiles: - get: - summary: 'List installation profiles.' - description: 'List installation profiles.' - x-cli-name: 'install-profiles:find' - operationId: get_InstallationProfiles_getInstallationProfiles - parameters: - - - in: query - name: stack_id - description: 'Get only the profiles on the given stack.' - schema: - type: integer - required: false - - - in: query - name: is_enabled - description: 'Get only the enabled/disabled profiles.' - schema: - type: boolean - required: false - responses: - 200: - description: 'InstallationProfiles_getInstallationProfiles response' - content: - application/json: - schema: - $ref: '#/components/schemas/InstallationProfiles_getInstallationProfilesResponse' - 400: - description: 'bad input parameter' - '/api/v1/profiles/{profile_name}/enable': - post: - summary: 'Enable installation profile.' - description: 'Enable installation profile.' - x-cli-name: 'install-profiles:enable' - operationId: post_InstallationProfiles_enableProfile - parameters: - - - in: path - name: profile_name - description: 'The installation profile name.' - schema: - type: string - required: true - - - in: query - name: stack_id - description: 'The installation profile''s stack.' - schema: - type: integer - required: false - responses: - 200: - description: 'InstallationProfiles_enableProfile response' - content: - application/json: - schema: - $ref: '#/components/schemas/InstallationProfiles_enableProfileResponse' - 400: - description: 'bad input parameter' - '/api/v1/profiles/{profile_name}/disable': - post: - summary: 'Disable installation profile.' - description: 'Disable installation profile.' - x-cli-name: 'install-profiles:disable' - operationId: post_InstallationProfiles_disableProfile - parameters: - - - in: path - name: profile_name - description: 'The installation profile name.' - schema: - type: string - required: true - - - in: query - name: stack_id - description: 'The installation profile''s stack.' - schema: - type: integer - required: false - responses: - 200: - description: 'InstallationProfiles_disableProfile response' - content: - application/json: - schema: - $ref: '#/components/schemas/InstallationProfiles_disableProfileResponse' - 400: - description: 'bad input parameter' - '/api/v1/profiles/{profile_name}/set_default': - post: - summary: 'Sets the installation profile as default.' - description: 'Sets the installation profile as default.' - x-cli-name: 'install-profiles:set-default' - operationId: post_InstallationProfiles_setDefault - parameters: - - - in: path - name: profile_name - description: 'The installation profile name.' - schema: - type: string - required: true - - - in: query - name: stack_id - description: 'The installation profile''s stack.' - schema: - type: integer - required: false - responses: - 200: - description: 'InstallationProfiles_setDefault response' - content: - application/json: - schema: - $ref: '#/components/schemas/InstallationProfiles_setDefaultResponse' - 400: - description: 'bad input parameter' - /api/v1/dynamic-requests/monthly: - get: - summary: 'List monthly aggregated dynamic request statistics.' - description: 'Gets the monthly aggregated dynamic request statistics.' - x-cli-name: 'page-views:aggregated' - operationId: get_PageView_getPageViewDataMonthly - parameters: - - - in: query - name: stack_id - description: 'The stack id for which to fetch the dynamic request statistics. If there is only one stack, this parameter can be omitted.' - schema: - type: integer - required: true - - - in: query - name: start_from - description: 'The first date from which to start showing the statistics in the format of YYYY-MM.' - schema: - type: string - required: false - - - in: query - name: sort_order - description: 'The sort order direction. Either asc or desc.' - schema: - type: string - required: false - - - in: query - name: limit - description: 'The number of months to be listed. Maximum value is 120.' - schema: - type: integer - minimum: 1 - maximum: 120 - required: false - - - in: query - name: page - description: 'The page number to show in the list.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'PageView_getPageViewDataMonthly response' - content: - application/json: - schema: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyResponse' - 400: - description: 'bad input parameter' - /api/v1/dynamic-requests/monthly/domains: - get: - summary: 'List monthly dynamic request statistics by domain.' - description: 'Gets the monthly dynamic request statistics by domain.' - x-cli-name: 'page-views:by-domain' - operationId: get_PageView_getPageViewDataMonthlyPerDomain - parameters: - - - in: query - name: stack_id - description: 'The stack id for which to fetch the dynamic request statistics. If there is only one stack, this parameter can be omitted.' - schema: - type: integer - required: true - - - in: query - name: date - description: 'The month in the format of YYYY-MM.' - schema: - type: string - required: true - - - in: query - name: domain_name - description: 'Full domain name or a prefix for filtering the results.' - schema: - type: string - required: false - - - in: query - name: sort_order - description: 'The sort order direction. Either asc or desc.' - schema: - type: string - required: false - - - in: query - name: limit - description: 'The number of domains to be listed. (max 100)' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'The page number to show in the list.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'PageView_getPageViewDataMonthlyPerDomain response' - content: - application/json: - schema: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse' - 400: - description: 'bad input parameter' - /api/v1/pause: - post: - summary: 'Pause/resume task processing' - description: 'Pause or resume task processing.' - x-cli-name: 'tasks:pause-all' - operationId: post_Pause_pause - requestBody: - content: - application/json: - schema: - type: object - properties: - paused: - description: 'Pauses/resumes the WIP task processing.' - type: boolean - reason: - description: 'Brief explanation for pausing workers.' - type: string - required: - - paused - responses: - 200: - description: 'Pause_pause response' - content: - application/json: - schema: - $ref: '#/components/schemas/Pause_pauseResponse' - 400: - description: 'bad input parameter' - '/api/v1/pause/{task_id}': - post: - summary: 'Pause/resume task processing for a specific task' - description: 'Pause or resume task processing.' - x-cli-name: 'tasks:pause' - operationId: post_Pause_pauseTask - parameters: - - - in: path - name: task_id - description: TaskID. - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - paused: - description: 'Leave the task in paused or unpaused state.' - type: boolean - level: - description: 'Pause/unpause just the specified task or all its children (task|family).' - type: string - pattern: ^(task|family)$ - required: - - paused - - level - responses: - 200: - description: 'Pause_pauseTask response' - content: - application/json: - schema: - $ref: '#/components/schemas/Pause_pauseTaskResponse' - 400: - description: 'bad input parameter' - /api/v1/ping: - get: - summary: 'Check service response' - description: 'Checks whether the API is responding.' - x-cli-name: 'api:ping' - operationId: get_Ping_ping - responses: - 200: - description: 'Ping_ping response' - content: - application/json: - schema: - $ref: '#/components/schemas/Ping_pingResponse' - 400: - description: 'bad input parameter' - /api/v1/roles: - get: - summary: 'List roles' - description: 'Gets a list of roles.' - x-cli-name: 'roles:find' - operationId: get_Role_getRoles - parameters: - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - - - in: query - name: order - description: 'Either "ASC" or "DESC".' - schema: - type: string - pattern: ^(ASC|DESC)$ - required: false - responses: - 200: - description: 'Role_getRoles response' - content: - application/json: - schema: - $ref: '#/components/schemas/Role_getRolesResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Create a role' - description: 'Create a role.' - x-cli-name: 'roles:create' - operationId: post_Role_createRole - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The name of the role.' - type: string - required: - - name - responses: - 200: - description: 'Role_createRole response' - content: - application/json: - schema: - $ref: '#/components/schemas/Role_createRoleResponse' - 400: - description: 'bad input parameter' - '/api/v1/roles/{role_id}': - get: - summary: 'Retrieve a role' - description: 'Retrieve a role by role ID.' - x-cli-name: 'roles:get' - operationId: get_Role_getRole - parameters: - - - in: path - name: role_id - description: 'The role ID of the user role.' - schema: - type: integer - required: true - responses: - 200: - description: 'Role_getRole response' - content: - application/json: - schema: - $ref: '#/components/schemas/Role_getRoleResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete a role' - description: 'Delete a role.' - x-cli-name: 'roles:delete' - operationId: delete_Role_deleteRole - parameters: - - - in: path - name: role_id - description: 'The role ID of the user role.' - schema: - type: integer - required: true - responses: - 200: - description: 'Role_deleteRole response' - content: - application/json: - schema: - $ref: '#/components/schemas/Role_deleteRoleResponse' - 400: - description: 'bad input parameter' - '/api/v1/roles/{role_id}/update': - put: - summary: 'Update (rename) a role' - description: 'Update (rename) a role.' - x-cli-name: 'roles:update' - operationId: put_Role_updateRole - parameters: - - - in: path - name: role_id - description: 'The role ID of the user role.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - new_name: - description: 'The new name for the user role.' - type: string - required: - - new_name - responses: - 200: - description: 'Role_updateRole response' - content: - application/json: - schema: - $ref: '#/components/schemas/Role_updateRoleResponse' - 400: - description: 'bad input parameter' - /api/v1/security: - get: - summary: 'Get current security settings.' - description: 'Get current security settings.' - x-cli-name: 'security:get-security-settings' - operationId: get_Security_getSecuritySettings - responses: - 200: - description: 'Security_getSecuritySettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/Security_getSecuritySettingsResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Set the security settings.' - description: 'Set the security settings.' - x-cli-name: 'security:set-security-settings' - operationId: put_Security_updateSecuritySettings - requestBody: - content: - application/json: - schema: - type: object - properties: - minimum_password_length: - description: 'Sets the minimum password length required for customers.' - type: integer - minimum: 0 - maximum: 29 - minimum_required_password_strength: - description: 'Sets the password strength required for customers.' - type: string - pattern: '^(disabled|weak|good|strong|very strong)$' - two_step_verification: - description: 'Sets if tfa required for customers.' - type: boolean - sign_out_inactive_user_accounts: - description: 'Automatically sign out inactive account.' - type: boolean - sign_out_inactivity_time: - description: 'Automatically sign out of the account after seconds, required when sign_out_inactive_user_accounts is set.' - type: integer - minimum: 60 - automatically_disable_accounts: - description: 'Automatically disable inactive account.' - type: boolean - automatically_disable_accounts_after_days: - description: 'Number of days after which an account will be disabled, required when automatically_disable_accounts is set.' - type: integer - minimum: 1 - responses: - 200: - description: 'Security_updateSecuritySettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/Security_updateSecuritySettingsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete the security settings.' - description: 'Delete the security settings.' - x-cli-name: 'security:reset-security-settings' - operationId: delete_Security_resetSecuritySettings - responses: - 200: - description: 'Security_resetSecuritySettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/Security_resetSecuritySettingsResponse' - 400: - description: 'bad input parameter' - /api/v1/sf-info: - get: - summary: 'Get the version of the Site Factory' - description: 'Gets the (release) version the Site Factory is on.' - x-cli-name: 'api:factory-version' - operationId: get_SfInfo_getSfVersion - responses: - 200: - description: 'SfInfo_getSfVersion response' - content: - application/json: - schema: - $ref: '#/components/schemas/SfInfo_getSfVersionResponse' - 400: - description: 'bad input parameter' - /api/v1/collections: - get: - summary: 'List site collections' - description: 'Gets a list of site collections.' - operationId: get_SiteCollections_getCollections - parameters: - - - in: query - name: remove_empty - description: 'True to only return collections containing active sites.' - schema: - type: boolean - required: false - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'SiteCollections_getCollections response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_getCollectionsResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Create a site collection' - description: 'Create a new site collection.' - operationId: post_SiteCollections_createCollection - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The name of the new site collection.' - type: string - site_ids: - description: 'Either a single site ID, or an array of site IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - group_ids: - description: 'Either a single group ID, or an array of group IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - internal_domain_prefix: - description: 'The site collection''s internal domain prefix. Uses the "name" parameter''s value if not set.' - type: string - required: - - name - - site_ids - - group_ids - responses: - 200: - description: 'SiteCollections_createCollection response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_createCollectionResponse' - 400: - description: 'bad input parameter' - '/api/v1/collections/{collection_id}': - get: - summary: 'Site collection details' - description: 'Get detailed information about a site collection.' - operationId: get_SiteCollections_getCollection - parameters: - - - in: path - name: collection_id - description: 'Collection ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'SiteCollections_getCollection response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_getCollectionResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete a site collection' - description: 'Delete a site collection.' - operationId: delete_SiteCollections_deleteCollection - parameters: - - - in: path - name: collection_id - description: 'Collection ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'SiteCollections_deleteCollection response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_deleteCollectionResponse' - 400: - description: 'bad input parameter' - '/api/v1/collections/{collection_id}/add': - post: - summary: 'Add site(s) to a site collection.' - description: 'Add site(s) to a site collection.' - operationId: post_SiteCollections_addSiteToCollection - parameters: - - - in: path - name: collection_id - description: 'Collection ID.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_ids: - description: 'A site ID or an array of site IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - site_ids - responses: - 200: - description: 'SiteCollections_addSiteToCollection response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_addSiteToCollectionResponse' - 400: - description: 'bad input parameter' - '/api/v1/collections/{collection_id}/remove': - post: - summary: 'Remove site(s) from a site collection.' - description: 'Remove site(s) from a site collection.' - operationId: post_SiteCollections_removeSiteFromCollection - parameters: - - - in: path - name: collection_id - description: 'Collection ID.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_ids: - description: 'A site ID, or an array of site IDs.' - oneOf: - - - type: integer - - - type: array - items: - type: integer - required: - - site_ids - responses: - 200: - description: 'SiteCollections_removeSiteFromCollection response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_removeSiteFromCollectionResponse' - 400: - description: 'bad input parameter' - '/api/v1/collections/{collection_id}/set-primary': - post: - summary: 'Set the primary site of a site collection.' - description: 'Set the primary site of a site collection.' - operationId: post_SiteCollections_setPrimarySite - parameters: - - - in: path - name: collection_id - description: 'Collection ID.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_id: - description: 'A single site ID.' - type: integer - required: - - site_id - responses: - 200: - description: 'SiteCollections_setPrimarySite response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteCollections_setPrimarySiteResponse' - 400: - description: 'bad input parameter' - /api/v1/site-guard: - get: - summary: 'Get current site guard config.' - description: 'Get current site guard config.' - operationId: get_SiteGuardConfig_getSiteGuardConfig - responses: - 200: - description: 'SiteGuardConfig_getSiteGuardConfig response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteGuardConfig_getSiteGuardConfigResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Enable and set the site guard settings.' - description: 'Enable the site guard config.' - operationId: put_SiteGuardConfig_setSiteGuardConfig - requestBody: - content: - application/json: - schema: - type: object - properties: - message: - description: 'The message which the site guard should output.' - type: string - username: - description: 'The username for the site guard.' - type: string - password: - description: 'The password for the site guard.' - type: string - required: - - message - - username - - password - responses: - 200: - description: 'SiteGuardConfig_setSiteGuardConfig response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteGuardConfig_setSiteGuardConfigResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Disable the site guard config.' - description: 'Disable the site guard config.' - operationId: delete_SiteGuardConfig_removeSiteGuardConfig - responses: - 200: - description: 'SiteGuardConfig_removeSiteGuardConfig response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteGuardConfig_removeSiteGuardConfigResponse' - 400: - description: 'bad input parameter' - /api/v1/site-ownership: - get: - summary: 'Get current site ownership settings.' - description: 'Get current site ownership settings.' - x-cli-name: 'site-owner:get' - operationId: get_SiteOwnership_executeGetActions - responses: - 200: - description: 'SiteOwnership_executeGetActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteOwnership_executeGetActionsResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Set the site ownership settings.' - description: 'Set the site ownership settings.' - x-cli-name: 'site-owner:set' - operationId: put_SiteOwnership_executePutActions - requestBody: - content: - application/json: - schema: - type: object - properties: - username: - description: 'The default owner username. The user has to have the "Platform admin" role.' - type: string - required: - - username - responses: - 200: - description: 'SiteOwnership_executePutActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteOwnership_executePutActionsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete the site ownership settings.' - description: 'Delete the site ownership settings.' - x-cli-name: 'site-owner:delete' - operationId: delete_SiteOwnership_executeDeleteActions - responses: - 200: - description: 'SiteOwnership_executeDeleteActions response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteOwnership_executeDeleteActionsResponse' - 400: - description: 'bad input parameter' - /api/v1/site-update-priority: - get: - summary: 'Get current site update priority.' - description: 'Get current site update priority.' - operationId: get_SiteUpdatePriority_getSiteUpdatePriority - responses: - 200: - description: 'SiteUpdatePriority_getSiteUpdatePriority response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteUpdatePriority_getSiteUpdatePriorityResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Set the site update priority.' - description: 'Set the site update priority.' - operationId: put_SiteUpdatePriority_setSiteUpdatePriority - requestBody: - content: - application/json: - schema: - type: object - properties: - priority: - description: 'An array of site node ids in the desired update order.' - type: array - items: - type: integer - required: - - priority - responses: - 200: - description: 'SiteUpdatePriority_setSiteUpdatePriority response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteUpdatePriority_setSiteUpdatePriorityResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Reset the site update priority.' - description: 'Reset the site update priority.' - operationId: delete_SiteUpdatePriority_resetSiteUpdatePriority - responses: - 200: - description: 'SiteUpdatePriority_resetSiteUpdatePriority response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteUpdatePriority_resetSiteUpdatePriorityResponse' - 400: - description: 'bad input parameter' - /api/v1/site-variables: - post: - summary: 'Trigger the site variables set up on the sites.' - description: 'Trigger the site variables set up on the sites.' - x-cli-name: 'sites:distribute-site-variables' - operationId: post_SiteVariables_triggerSiteVariablesDistribution - responses: - 200: - description: 'SiteVariables_triggerSiteVariablesDistribution response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteVariables_triggerSiteVariablesDistributionResponse' - 400: - description: 'bad input parameter' - '/api/v1/site-variables/{site_id}': - get: - summary: 'Get the site variables for a given site.' - description: 'Get the site variables for a given site.' - x-cli-name: 'sites:get-site-variables' - operationId: get_SiteVariables_getSiteVariables - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - responses: - 200: - description: 'SiteVariables_getSiteVariables response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteVariables_getSiteVariablesResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Change a site variable for a given site.' - description: 'Change a site variable for a given site.' - x-cli-name: 'sites:set-site-variable' - operationId: put_SiteVariables_changeSiteVariables - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - variable_key: - description: 'The variable key.' - type: string - variable_value: - description: 'The variable value.' - type: string - variable_scrub: - description: 'If the variable should be removed during staging.' - type: integer - required: - - variable_key - - variable_value - responses: - 200: - description: 'SiteVariables_changeSiteVariables response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteVariables_changeSiteVariablesResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Clear all site variables for a given site.' - description: 'Clear all site variables for a given site.' - x-cli-name: 'sites:clear-site-variables' - operationId: delete_SiteVariables_removeSiteVariables - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - responses: - 200: - description: 'SiteVariables_removeSiteVariables response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteVariables_removeSiteVariablesResponse' - 400: - description: 'bad input parameter' - '/api/v1/site-variables/{site_id}/{variable_key}': - delete: - summary: 'Remove a site variable for a given site.' - description: 'Remove a site variable for a given site.' - x-cli-name: 'sites:remove-site-variable' - operationId: delete_SiteVariables_removeSiteVariable - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - - - in: path - name: variable_key - description: 'The variable key.' - schema: - type: string - required: true - responses: - 200: - description: 'SiteVariables_removeSiteVariable response' - content: - application/json: - schema: - $ref: '#/components/schemas/SiteVariables_removeSiteVariableResponse' - 400: - description: 'bad input parameter' - /api/v1/sites: - get: - summary: 'List sites' - description: 'Gets a list of sites.' - x-cli-name: 'sites:find' - operationId: get_Sites_getSites - parameters: - - - in: query - name: limit - description: 'A positive integer (max 1000).' - schema: - type: integer - minimum: 1 - maximum: 1000 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - - - in: query - name: canary - description: 'No value necessary.' - schema: - type: boolean - required: false - - - in: query - name: show_incomplete - description: 'Show sites that are incomplete.' - schema: - type: boolean - required: false - - - in: query - name: stack_id - description: 'Show sites on a specific stack.' - schema: - type: integer - required: false - - - in: query - name: domain_contains - description: 'Show sites whose domain contains this value.' - schema: - type: string - required: false - - - in: query - name: domain_not_contains - description: 'Show sites whose domain does not contain this value.' - schema: - type: string - required: false - - - in: query - name: has_custom_domain - description: 'Whether to only show sites with custom domains.' - schema: - type: boolean - required: false - - - in: query - name: site_owner - description: 'Either a user id or a comma separated list of user ids.' - schema: - type: array - items: - type: integer - required: false - - - in: query - name: show_custom_domain - description: 'Return the first custom domain if the site has one instead of the internal one.' - schema: - type: boolean - required: false - responses: - 200: - description: 'Sites_getSites response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_getSitesResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Create a site' - description: 'Create a new site.' - x-cli-name: 'sites:create' - operationId: post_Sites_createSite - requestBody: - content: - application/json: - schema: - type: object - properties: - site_name: - description: 'The new site name.' - type: string - group_ids: - description: 'Either a single group ID, or an array of group IDs.' - type: array - items: - type: integer - install_profile: - description: 'The install profile to be used to install the site.' - type: string - stack_id: - description: 'The stack id where the site should go.' - type: integer - required: - - site_name - - group_ids - responses: - 200: - description: 'Sites_createSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_createSiteResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}': - get: - summary: 'Site details' - description: 'Get detailed information about a site.' - x-cli-name: 'sites:get' - operationId: get_Sites_getSite - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - responses: - 200: - description: 'Sites_getSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_getSiteResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Site delete' - description: 'Delete a site.' - x-cli-name: 'sites:delete' - operationId: delete_Sites_deleteSite - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - responses: - 200: - description: 'Sites_deleteSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_deleteSiteResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/duplicate': - post: - summary: 'Duplicate a site' - description: 'Duplicate a site.' - x-cli-name: 'sites:duplicate' - operationId: post_Sites_duplicateSite - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - site_name: - description: 'The new site name.' - type: string - group_ids: - description: 'Either a single group ID, or an array of group IDs.' - type: array - items: - type: integer - exact_copy: - description: 'A boolean indicating whether or not to create an exact copy.' - type: boolean - required: - - site_name - responses: - 200: - description: 'Sites_duplicateSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_duplicateSiteResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/backup': - post: - summary: 'Create a site backup' - description: 'Create a site backup.' - x-cli-name: 'sites:backup' - operationId: post_Sites_backupSite - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - label: - description: 'The human-readable description of this backup.' - type: string - callback_url: - description: 'The callback URL, which is invoked upon completion.' - type: string - callback_method: - description: 'The callback method, "GET", or "POST". Uses "POST" if empty.' - type: string - caller_data: - description: 'Data that should be included in the callback, json encoded.' - type: string - components: - description: 'Array of components to be included in the backup. The following component names are accepted: codebase, database, public files, private files, themes. When omitting this parameter it will default to a backup with every component.' - type: array - items: - type: string - responses: - 200: - description: 'Sites_backupSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_backupSiteResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/backups': - get: - summary: 'List site backups' - description: "List site backups.\n\n Note that the results are sorted from newest backup to oldest." - x-cli-name: 'sites:find-backups' - operationId: get_Sites_getSiteBackups - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - responses: - 200: - description: 'Sites_getSiteBackups response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_getSiteBackupsResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/backups/{backup_id}/url': - get: - summary: 'Get a temporary site backup URL' - description: 'Get temporary site backup URL.' - x-cli-name: 'sites:backup-url' - operationId: get_Sites_getSiteBackupUrl - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - - - in: path - name: backup_id - description: 'Backup ID' - schema: - type: integer - required: true - - - in: query - name: lifetime - description: 'The number of seconds the temporary URL is good for.' - schema: - type: integer - required: false - responses: - 200: - description: 'Sites_getSiteBackupUrl response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_getSiteBackupUrlResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/backups/{backup_id}': - delete: - summary: 'Delete a site backup' - description: 'Delete a site backup.' - x-cli-name: 'sites:delete-backup' - operationId: delete_Sites_deleteSiteBackup - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - - - in: path - name: backup_id - description: 'Backup ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - callback_url: - description: 'The callback URL, which is invoked upon completion.' - type: string - callback_method: - description: 'The callback method, "GET", or "POST". Uses "POST" if empty.' - type: string - caller_data: - description: 'Data that should be included in the callback, json encoded.' - type: string - responses: - 200: - description: 'Sites_deleteSiteBackup response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_deleteSiteBackupResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/restore': - post: - summary: 'Restore a site backup' - description: 'Restore a site backup.' - x-cli-name: 'sites:restore-backup' - operationId: post_Sites_restoreSite - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - target_site_id: - description: 'ID of the site to restore the backup onto.' - type: integer - backup_id: - description: 'ID of the backup to restore defaults to the most recent.' - type: integer - callback_url: - description: 'The callback URL, which is invoked upon completion.' - type: string - callback_method: - description: 'The callback method, "GET", or "POST". Uses "POST" if empty.' - type: string - caller_data: - description: 'Data that should be included in the callback, json encoded.' - type: string - components: - description: 'Array of components to be restored from the backup. The following component names are accepted: database, public files, private files, themes. When omitting this parameter it will default to the backup''s every component.' - type: array - items: - type: string - responses: - 200: - description: 'Sites_restoreSite response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_restoreSiteResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/cache-clear': - post: - summary: 'Clear a site''s caches' - description: 'Clear Drupal and Varnish caches for a site.' - x-cli-name: 'sites:clear-cache' - operationId: post_Sites_clearCaches - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - responses: - 200: - description: 'Sites_clearCaches response' - content: - application/json: - schema: - $ref: '#/components/schemas/Sites_clearCachesResponse' - 400: - description: 'bad input parameter' - /api/v2/stage: - get: - summary: 'Retrieve available environments' - description: 'Retrieves available environments user can stage to.' - x-cli-name: 'stage-v2:find-envs' - operationId: get_StageV2_stagingEnvironments - responses: - 200: - description: 'StageV2_stagingEnvironments response' - content: - application/json: - schema: - $ref: '#/components/schemas/StageV2_stagingEnvironmentsResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Start staging process' - description: 'Starts the staging process.' - x-cli-name: 'stage-v2:start' - operationId: post_StageV2_stage - requestBody: - content: - application/json: - schema: - type: object - properties: - to_env: - description: 'Environment to deploy to.' - type: string - sites: - description: 'Node IDs of sites to deploy.' - type: array - items: - type: integer - wipe_target_environment: - description: 'Use this option to wipe the management console and all stacks on the selected environment before deploying sites.' - type: boolean - wipe_stacks: - description: 'Stack ids to wipe. It will be ignored if wipe_target_environment is true.' - type: array - items: - type: integer - synchronize_all_users: - description: 'Use this parameter to only stage the user accounts that are required for the provided sites and the related site collections and site groups.' - type: boolean - detailed_status: - description: 'Provide a status email for each site as it completes.' - type: boolean - skip_site_files: - description: 'Skip copying the staged down sites'' files.' - type: boolean - skip_site_files_overwrite: - description: 'File patterns to skip copying during the stage down process. Ignored if skip_site_files is false.' - type: array - items: - type: string - force_psu_hook: - description: 'Force post-staging-update hook to run even if VCS paths are the same on prod and non-prod.' - type: boolean - required: - - to_env - responses: - 200: - description: 'StageV2_stage response' - content: - application/json: - schema: - $ref: '#/components/schemas/StageV2_stageResponse' - 400: - description: 'bad input parameter' - /api/v1/status: - get: - summary: 'Get service status information' - description: 'Get a service status report.' - x-cli-name: 'service-status:get' - operationId: get_Status_getStatus - responses: - 200: - description: 'Status_getStatus response' - content: - application/json: - schema: - $ref: '#/components/schemas/Status_getStatusResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Modify service status' - description: 'Modify the status of the services.' - x-cli-name: 'service-status:modify' - operationId: put_Status_setStatus - requestBody: - content: - application/json: - schema: - type: object - properties: - all: - description: 'on, off, or something strtotime accepts' - type: string - site_creation: - description: 'on, off, or something strtotime accepts' - type: string - site_duplication: - description: 'on, off, or something strtotime accepts' - type: string - domain_management: - description: 'on, off, or something strtotime accepts' - type: string - bulk_operations: - description: 'on, off, or something strtotime accepts' - type: string - responses: - 200: - description: 'Status_setStatus response' - content: - application/json: - schema: - $ref: '#/components/schemas/Status_setStatusResponse' - 400: - description: 'bad input parameter' - '/api/v1/classes/{type}': - get: - summary: '(Internal use only) Get Task class information.' - description: 'Return data about WIP classes' - x-cli-name: 'tasks:find-wip-classes' - x-internal: true - operationId: get_Task_classes - parameters: - - - in: path - name: type - description: 'Either "softpaused" or "softpause-for-update"' - schema: - type: string - pattern: ^(softpaused|softpause-for-update)$ - required: true - responses: - 200: - description: 'Task_classes response' - content: - application/json: - schema: - $ref: '#/components/schemas/Task_classesResponse' - 400: - description: 'bad input parameter' - /api/v1/tasks: - get: - summary: '(Internal use only) Get Task information.' - description: 'Returns data about WIP tasks.' - x-cli-name: 'tasks:get' - x-internal: true - operationId: get_Task_tasks - parameters: - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - - - in: query - name: status - description: 'processing, error or not-started' - schema: - type: string - pattern: ^(processing|error|not-started)$ - required: false - - - in: query - name: class - description: 'A WIP class name to filter on.' - schema: - type: string - required: false - - - in: query - name: group - description: 'A WIP group name to filter on.' - schema: - type: string - required: false - responses: - 200: - description: 'Task_tasks response' - content: - application/json: - schema: - $ref: '#/components/schemas/Task_tasksResponse' - 400: - description: 'bad input parameter' - '/api/v1/tasks/{task_id}/logs': - get: - summary: '(Internal use only) Get Task log information.' - description: 'Returns log entries about WIP tasks.' - x-cli-name: 'tasks:log' - x-internal: true - operationId: get_Task_logs - parameters: - - - in: path - name: task_id - description: 'Task ID.' - schema: - type: integer - required: true - - - in: query - name: level - description: 'The minimum status level to display' - schema: - type: string - required: false - - - in: query - name: descendants - description: 'Include the logs of all descendant tasks.' - schema: - type: boolean - required: false - responses: - 200: - description: 'Task_logs response' - content: - application/json: - schema: - $ref: '#/components/schemas/Task_logsResponse' - 400: - description: 'bad input parameter' - '/api/v1/tasks/{task_id}': - delete: - summary: 'Delete tasks from the work pool.' - description: 'Delete a task and its descendants.' - x-cli-name: 'tasks:delete' - operationId: delete_Task_delete - parameters: - - - in: path - name: task_id - description: 'Task ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'Task_delete response' - content: - application/json: - schema: - $ref: '#/components/schemas/Task_deleteResponse' - 400: - description: 'bad input parameter' - '/api/v1/tasks/{task_id}/terminate': - put: - summary: 'Terminate tasks in the work pool.' - description: 'Terminate a task and its descendants.' - x-cli-name: 'tasks:terminate' - operationId: put_Task_terminate - parameters: - - - in: path - name: task_id - description: 'Task ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'Task_terminate response' - content: - application/json: - schema: - $ref: '#/components/schemas/Task_terminateResponse' - 400: - description: 'bad input parameter' - /api/v1/task-log-settings: - get: - summary: 'Get current task log settings.' - description: 'Get current task log settings.' - x-cli-name: 'tasks:get-task-log-settings' - operationId: get_TaskLogSettings_getTaskLogSettings - responses: - 200: - description: 'TaskLogSettings_getTaskLogSettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse' - 400: - description: 'bad input parameter' - put: - summary: 'Edit current task log settings.' - description: 'Edit task log settings.' - x-cli-name: 'tasks:set-task-log-settings' - operationId: put_TaskLogSettings_editTaskLogSettings - requestBody: - content: - application/json: - schema: - type: object - properties: - wip_log_level: - description: 'Level of Wip log messages to keep on successful completion.' - type: string - wip_log_maximum_level: - description: 'The maximum log level that will be written to the log.' - type: string - responses: - 200: - description: 'TaskLogSettings_editTaskLogSettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/TaskLogSettings_editTaskLogSettingsResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Reset task log settings.' - description: 'Reset task log settings.' - x-cli-name: 'tasks:reset-task-log-settings' - operationId: delete_TaskLogSettings_resetTaskLogSettings - responses: - 200: - description: 'TaskLogSettings_resetTaskLogSettings response' - content: - application/json: - schema: - $ref: '#/components/schemas/TaskLogSettings_resetTaskLogSettingsResponse' - 400: - description: 'bad input parameter' - /api/v1/theme/deploy-key: - get: - summary: 'External theme repository deploy key' - description: "Gets the deploy key that needs to be added to external theme repositories.\n\n Add this deploy key to your theme repositories, so that the Acquia Cloud\n Site Factory platform gets access to your repository and is able to deploy\n updated themes to your sites." - x-cli-name: 'themes:key' - operationId: get_Theme_getThemePublicKey - responses: - 200: - description: 'Theme_getThemePublicKey response' - content: - application/json: - schema: - $ref: '#/components/schemas/Theme_getThemePublicKeyResponse' - 400: - description: 'bad input parameter' - /api/v1/theme/process: - post: - summary: 'Process theme modifications' - description: 'Processes the stored theme change notifications.' - x-cli-name: 'themes:process-notifications' - operationId: post_Theme_processThemes - requestBody: - content: - application/json: - schema: - type: object - properties: - sitegroup_id: - description: 'The ID of a specific sitegroup to process e.g. "tangle001".' - type: string - responses: - 200: - description: 'Theme_processThemes response' - content: - application/json: - schema: - $ref: '#/components/schemas/Theme_processThemesResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/external-theme-refresh': - post: - summary: 'Site external theme refresh' - description: 'Refreshes the site''s themes from the external theme repository.' - x-cli-name: 'themes:refresh' - operationId: post_Theme_refreshSiteExternalThemes - parameters: - - - in: path - name: site_id - description: 'Site ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'Theme_refreshSiteExternalThemes response' - content: - application/json: - schema: - $ref: '#/components/schemas/Theme_refreshSiteExternalThemesResponse' - 400: - description: 'bad input parameter' - '/api/v1/sites/{site_id}/external-theme': - put: - summary: 'Set site external theme' - description: 'Sets the site''s external theme data.' - x-cli-name: 'themes:link-vcs' - operationId: put_Theme_setSiteExternalTheme - parameters: - - - in: path - name: site_id - description: 'Site ID.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - vcs_url: - description: 'The external theme repository''s url.' - type: string - vcs_path: - description: 'The VCS path to use.' - type: string - required: - - vcs_path - responses: - 200: - description: 'Theme_setSiteExternalTheme response' - content: - application/json: - schema: - $ref: '#/components/schemas/Theme_setSiteExternalThemeResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete site external theme' - description: 'Deletes the site''s external theme data.' - x-cli-name: 'themes:unlink-vcs' - operationId: delete_Theme_deleteSiteExternalTheme - parameters: - - - in: path - name: site_id - description: 'Site ID.' - schema: - type: integer - required: true - responses: - 200: - description: 'Theme_deleteSiteExternalTheme response' - content: - application/json: - schema: - $ref: '#/components/schemas/Theme_deleteSiteExternalThemeResponse' - 400: - description: 'bad input parameter' - /api/v1/theme/notification: - post: - summary: 'Send a theme notification' - description: 'Sends a theme event notification.' - x-cli-name: 'themes:send-notification' - operationId: post_ThemeNotification_handleNotification - requestBody: - content: - application/json: - schema: - type: object - properties: - scope: - description: 'The scope. Either "theme", "site", "group", or "global".' - type: string - pattern: ^(theme|site|group|global)$ - event: - description: 'The type of theme event. Either "create", "modify", or "delete".' - type: string - pattern: ^(create|modify|delete)$ - nid: - description: 'The node ID of the related entity (site or group). Not relevant for the "global" scope.' - type: integer - theme: - description: 'The system name of the theme. Only relevant for "theme" scope notifications.' - type: string - uid: - description: 'The user id owning the notification and who should get notified if an error occurs during processing.' - type: integer - required: - - scope - - event - responses: - 200: - description: 'ThemeNotification_handleNotification response' - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeNotification_handleNotificationResponse' - 400: - description: 'bad input parameter' - '/api/v1/site-ownership/{site_id}': - post: - summary: 'Transfer the site ownership.' - description: 'Transfer the site ownership.' - x-cli-name: 'site-owner:transfer' - operationId: post_TransferSiteOwnership_transferSiteOwner - parameters: - - - in: path - name: site_id - description: 'Site ID' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - username: - description: 'New owner username to which site needs to be transferred (either username or email field is required).' - type: string - email: - description: 'New owner email id to which site needs to be transferred.' - type: string - force_transfer: - description: 'Transfer site ownership without mail confirmation from owner and recipient.' - type: boolean - responses: - 200: - description: 'TransferSiteOwnership_transferSiteOwner response' - content: - application/json: - schema: - $ref: '#/components/schemas/TransferSiteOwnership_transferSiteOwnerResponse' - 400: - description: 'bad input parameter' - /api/v1/update: - post: - summary: 'Start an update' - description: 'Start the update process.' - x-cli-name: 'updates:start' - operationId: post_Update_update - requestBody: - content: - application/json: - schema: - type: object - properties: - scope: - description: 'Either "sites", "factory", or "both".' - type: string - start_time: - description: 'A start time string, parseable by strtotime(). Interpreted as UTC if no timezone is specified.' - type: string - sites_ref: - description: 'A VCS ref to deploy to the sites.' - type: string - factory_ref: - description: 'A VCS ref to deploy to the Factory.' - type: string - sites_type: - description: 'Either "code", "code, db", or "code, db, registry"' - type: string - factory_type: - description: 'Either "code" or "code, db"' - type: string - stack_id: - description: 'The stack id to release to.' - type: integer - site_update_fail_action: - description: 'Action to be performed on sites when updates fail. Either "online" or "offline"' - type: string - db_update_arguments: - description: 'Custom arguments to supply to the db-update hooks. Space separated alphanumeric characters only.' - type: string - responses: - 200: - description: 'Update_update response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_updateResponse' - 400: - description: 'bad input parameter' - get: - summary: 'List updates' - description: '' - x-cli-name: 'updates:find' - operationId: get_Update_updateList - responses: - 200: - description: 'Update_updateList response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_updateListResponse' - 400: - description: 'bad input parameter' - '/api/v1/update/{update_id}/status': - get: - summary: 'Get update progress' - description: 'Gets the status of a running update process.' - x-cli-name: 'updates:status' - operationId: get_Update_status - parameters: - - - in: path - name: update_id - description: 'Either int value or ''last''.' - schema: - oneOf: - - - type: integer - - - type: string - required: true - responses: - 200: - description: 'Update_status response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_statusResponse' - 400: - description: 'bad input parameter' - /api/v1/update/pause: - post: - summary: 'Pause an update' - description: 'Pause a running update process.' - x-cli-name: 'updates:pause' - operationId: post_Update_pauseUpdate - requestBody: - content: - application/json: - schema: - type: object - properties: - pause: - description: 'leave the task in paused or unpaused state.' - type: boolean - required: - - pause - responses: - 200: - description: 'Update_pauseUpdate response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_pauseUpdateResponse' - 400: - description: 'bad input parameter' - /api/v1/update/change_time: - post: - summary: 'Change the start time of an update process' - description: '' - x-cli-name: 'update:change-time' - operationId: post_Update_changeUpdaterStartTime - responses: - 200: - description: 'Update_changeUpdaterStartTime response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_changeUpdaterStartTimeResponse' - 400: - description: 'bad input parameter' - '/api/v1/update/{update_id}': - delete: - summary: 'Terminate an update process' - description: 'Terminate an update process.' - x-cli-name: 'update:terminate' - operationId: delete_Update_terminateUpdater - parameters: - - - in: path - name: update_id - description: 'The updater id.' - schema: - type: integer - required: true - responses: - 200: - description: 'Update_terminateUpdater response' - content: - application/json: - schema: - $ref: '#/components/schemas/Update_terminateUpdaterResponse' - 400: - description: 'bad input parameter' - /api/v1/users: - get: - summary: 'List users' - description: 'Gets a list of users.' - x-cli-name: 'users:find' - operationId: get_User_getUsers - parameters: - - - in: query - name: limit - description: 'A positive integer (max 100).' - schema: - type: integer - minimum: 1 - maximum: 100 - required: false - - - in: query - name: page - description: 'A positive integer.' - schema: - type: integer - minimum: 1 - required: false - - - in: query - name: order - description: 'Either "ASC" or "DESC".' - schema: - type: string - pattern: ^(ASC|DESC)$ - required: false - - - in: query - name: ids - description: 'A comma-separated list of user IDs.' - schema: - type: string - required: false - - - in: query - name: role_ids - description: 'A comma-separated list of role IDs.' - schema: - type: string - required: false - - - in: query - name: status - description: 'Either "active" or "blocked".' - schema: - type: string - required: false - - - in: query - name: uid_min - description: 'First uid value to start with.' - schema: - type: integer - required: false - - - in: query - name: uid_max - description: 'Last uid value to fetch.' - schema: - type: integer - required: false - - - in: query - name: created_min - description: 'Lowest ''created'' value (timestamp).' - schema: - type: integer - required: false - - - in: query - name: created_max - description: 'Highest ''created'' value (timestamp).' - schema: - type: integer - required: false - - - in: query - name: login_min - description: 'Lowest ''login'' value (timestamp).' - schema: - type: integer - required: false - - - in: query - name: login_max - description: 'Highest ''login'' value (timestamp).' - schema: - type: integer - required: false - - - in: query - name: tfa_status - description: 'Either "active" or "disabled".' - schema: - type: string - required: false - - - in: query - name: fields - description: 'A comma-separated list of Drupal user fields.' - schema: - type: string - required: false - responses: - 200: - description: 'User_getUsers response' - content: - application/json: - schema: - $ref: '#/components/schemas/User_getUsersResponse' - 400: - description: 'bad input parameter' - post: - summary: 'Create a user' - description: 'Create a user.' - x-cli-name: 'users:create' - operationId: post_User_createUser - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The name of the user.' - type: string - mail: - description: 'The email address of the user.' - type: string - pass: - description: 'The user''s password. (Included in the response, if not provided.)' - type: string - status: - description: 'The user''s status, either 0 or 1.' - type: integer - roles: - description: 'Either a single role name, or an array of role names.' - oneOf: - - - type: string - - - type: array - items: - type: string - required: - - name - - mail - responses: - 200: - description: 'User_createUser response' - content: - application/json: - schema: - $ref: '#/components/schemas/User_createUserResponse' - 400: - description: 'bad input parameter' - '/api/v1/users/{user_id}': - get: - summary: 'Retrieve a user' - description: 'Retrieve a user by user ID.' - x-cli-name: 'users:get' - operationId: get_User_getUser - parameters: - - - in: path - name: user_id - description: 'The user ID of the user.' - schema: - type: integer - required: true - - - in: query - name: fields - description: 'A comma-separated list of fields to retrieve.' - schema: - type: string - required: false - responses: - 200: - description: 'User_getUser response' - content: - application/json: - schema: - $ref: '#/components/schemas/User_getUserResponse' - 400: - description: 'bad input parameter' - delete: - summary: 'Delete a user' - description: 'Delete a user.' - x-cli-name: 'users:delete' - operationId: delete_User_deleteUser - parameters: - - - in: path - name: user_id - description: 'The user ID of the user.' - schema: - type: integer - required: true - responses: - 200: - description: 'User_deleteUser response' - content: - application/json: - schema: - $ref: '#/components/schemas/User_deleteUserResponse' - 400: - description: 'bad input parameter' - '/api/v1/users/{user_id}/update': - put: - summary: 'Update a user' - description: 'Update a user.' - x-cli-name: 'users:update' - operationId: put_User_updateUser - parameters: - - - in: path - name: user_id - description: 'The user ID of the user.' - schema: - type: integer - required: true - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - description: 'The name of the user.' - type: string - mail: - description: 'The email address of the user.' - type: string - pass: - description: 'The user''s password.' - type: string - status: - description: 'The user''s status, either 0 or 1.' - type: integer - minimum: 0 - maximum: 1 - roles: - description: 'Single role name, or an array of them.' - oneOf: - - - type: string - - - type: array - items: - type: string - tfa_status: - description: 'The user''s TFA status, either 0 or 1.' - type: integer - minimum: 0 - maximum: 1 - responses: - 200: - description: 'User_updateUser response' - content: - application/json: - schema: - $ref: '#/components/schemas/User_updateUserResponse' - 400: - description: 'bad input parameter' - /api/v1/vcs: - get: - summary: 'List deployable refs' - description: 'Get a list of VCS refs.' - x-cli-name: 'info:vcs-find' - operationId: get_Vcs_getRefs - parameters: - - - in: query - name: type - description: 'Either "sites" or "factory". (Note: "factory" is restricted to Acquia employees.)' - schema: - type: string - required: true - - - in: query - name: stack_id - description: 'The stack id.' - schema: - type: string - required: false - responses: - 200: - description: 'Vcs_getRefs response' - content: - application/json: - schema: - $ref: '#/components/schemas/Vcs_getRefsResponse' - 400: - description: 'bad input parameter' - '/api/v1/wip/task/{task_id}/status': - get: - summary: 'Wip task status' - description: 'Gets the status of a Wip task.' - x-cli-name: 'tasks:status' - operationId: get_WipTaskStatus_getWipTaskStatus - parameters: - - - in: path - name: task_id - description: 'The Wip task ID' - schema: - type: integer - required: true - responses: - 200: - description: 'WipTaskStatus_getWipTaskStatus response' - content: - application/json: - schema: - $ref: '#/components/schemas/WipTaskStatus_getWipTaskStatusResponse' - 400: - description: 'bad input parameter' -components: - schemas: - ApiKey_resetKeysResponse: - type: object - properties: - message: - type: string - example: 'API keys will be regenerated in a few minutes' - server_time: - type: string - example: '2014-02-16T20:04:12-06:00' - task_id: - type: integer - example: 1234 - ApiKey_resetUserKeysResponse: - type: object - properties: - message: - type: string - example: 'The API key for user 32 was regenerated.' - server_time: - type: string - example: '2014-02-16T20:04:12-06:00' - AuditEvent_getAuditEventsResponse_changes: - type: object - properties: - id: - type: integer - example: 1 - message: - type: string - example: 'Thing changed from @before to @after.' - before: - type: string - example: before_data - after: - type: string - example: after_data - type: - type: string - example: field_name - scope: - type: string - example: context_name - module: - type: string - example: system - source: - type: string - example: 'Factory UI' - nid: - type: integer - example: 123 - uid: - type: integer - example: 456 - timestamp: - type: integer - example: 1403742194 - AuditEvent_getAuditEventsResponse: - type: object - properties: - count: - type: integer - example: 1 - changes: - type: array - items: - $ref: '#/components/schemas/AuditEvent_getAuditEventsResponse_changes' - BackupExpirationManagement_setBackupExpirationSettingsResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-11-10T08:38:09+00:00' - BackupExpirationManagement_getBackupExpirationSettingsResponse: - type: object - properties: - expiration_days: - type: integer - example: 100 - time: - type: string - example: '2022-02-16T08:38:09+00:00' - CentralizedRoleManagement_executeGetActionsResponse_content_editor: - type: object - properties: - enabled: - type: boolean - example: false - site_roles: - type: array - items: - type: string - CentralizedRoleManagement_executeGetActionsResponse_platform_admin: - type: object - properties: - enabled: - type: boolean - example: true - site_roles: - type: array - items: - type: string - example: 'site maintainer' - CentralizedRoleManagement_executeGetActionsResponse_site_builder: - type: object - properties: - enabled: - type: boolean - example: false - site_roles: - type: array - items: - type: string - CentralizedRoleManagement_executeGetActionsResponse: - type: object - properties: - 'content editor': - $ref: '#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_content_editor' - 'platform admin': - $ref: '#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_platform_admin' - 'site builder': - $ref: '#/components/schemas/CentralizedRoleManagement_executeGetActionsResponse_site_builder' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - CentralizedRoleManagement_executePutActionsResponse_content_editor: - type: object - properties: - enabled: - type: boolean - example: true - site_roles: - type: array - items: - type: string - example: newrole - CentralizedRoleManagement_executePutActionsResponse_platform_admin: - type: object - properties: - enabled: - type: boolean - example: true - site_roles: - type: array - items: - type: string - example: 'site maintainer' - CentralizedRoleManagement_executePutActionsResponse_site_builder: - type: object - properties: - enabled: - type: boolean - example: false - site_roles: - type: array - items: - type: string - CentralizedRoleManagement_executePutActionsResponse: - type: object - properties: - 'content editor': - $ref: '#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_content_editor' - 'platform admin': - $ref: '#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_platform_admin' - 'site builder': - $ref: '#/components/schemas/CentralizedRoleManagement_executePutActionsResponse_site_builder' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - CentralizedRoleManagement_executeDeleteActionsResponse_content_editor: - type: object - properties: - enabled: - type: boolean - example: true - site_roles: - type: array - items: - type: string - example: newrole - CentralizedRoleManagement_executeDeleteActionsResponse_platform_admin: - type: object - properties: - enabled: - type: boolean - example: true - site_roles: - type: array - items: - type: string - example: 'site maintainer' - CentralizedRoleManagement_executeDeleteActionsResponse_site_builder: - type: object - properties: - enabled: - type: boolean - example: false - site_roles: - type: array - items: - type: string - CentralizedRoleManagement_executeDeleteActionsResponse: - type: object - properties: - 'content editor': - $ref: '#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_content_editor' - 'platform admin': - $ref: '#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_platform_admin' - 'site builder': - $ref: '#/components/schemas/CentralizedRoleManagement_executeDeleteActionsResponse_site_builder' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - CodeBases_getCodeBaseNamesResponse: - type: object - properties: - stacks: - type: object - additionalProperties: - type: string - CodeBases_editCodebaseNameResponse: - type: object - properties: - message: - type: string - example: 'Stack details are updated successfully.' - CodeBases_getCodeBaseDetailsResponse_1: - type: object - properties: - id: - type: integer - example: 1 - name: - type: string - example: abcd - description: - type: string - example: 'stack description' - tangle_alias: - type: string - example: tangle1 - CodeBases_getCodeBaseDetailsResponse_2: - type: object - properties: - id: - type: integer - example: 2 - name: - type: string - example: fghj - description: - type: string - example: 'stack description 2' - tangle_alias: - type: string - example: tangle2 - CodeBases_getCodeBaseDetailsResponse: - type: object - properties: - 1: - $ref: '#/components/schemas/CodeBases_getCodeBaseDetailsResponse_1' - 2: - $ref: '#/components/schemas/CodeBases_getCodeBaseDetailsResponse_2' - CronJobs_createCronJobResponse: - type: object - properties: - time: - type: string - example: '2021-11-25T13:18:44+00:00' - nid: - type: integer - example: 1234 - message: - type: string - example: 'The cron job has been created' - CronJobs_editCronJobResponse: - type: object - properties: - time: - type: string - example: '2021-11-25T13:18:44+00:00' - message: - type: string - example: 'The cron job has been saved' - CronJobs_deleteCronJobResponse: - type: object - properties: - time: - type: string - example: '2021-11-25T13:18:44+00:00' - message: - type: string - example: 'The cron job has been deleted' - CronJobs_getCronJobsResponse_cronjobs: - type: object - properties: - nid: - type: integer - example: 101 - name: - type: string - example: 'cron job 1' - stacks: - type: array - items: - type: integer - example: 1 - sites_affected: - type: string - example: dev-sites - interval: - type: string - example: '14 0,12 * * *' - drush_command: - type: string - example: cron - thread_percentage: - type: integer - example: 60 - CronJobs_getCronJobsResponse: - type: object - properties: - time: - type: string - example: '2021-11-25T13:18:44+00:00' - count: - type: integer - example: 2 - cronjobs: - type: array - items: - $ref: '#/components/schemas/CronJobs_getCronJobsResponse_cronjobs' - CronJobs_getCronJobResponse: - type: object - properties: - nid: - type: integer - example: 101 - name: - type: string - example: 'cron job 1' - stacks: - type: array - items: - type: integer - example: 1 - sites_affected: - type: string - example: dev-sites - interval: - type: string - example: '14 0,12 * * *' - drush_command: - type: string - example: cron - thread_percentage: - type: integer - example: 60 - Domains_getAllDomainsResponse_domains: - type: object - properties: - nid: - type: integer - example: 2 - domain: - type: string - example: foobar.com - type: - type: string - example: simple - readonly: - type: boolean - example: true - Domains_getAllDomainsResponse: - type: object - properties: - count: - type: integer - example: 111 - domains: - type: array - items: - $ref: '#/components/schemas/Domains_getAllDomainsResponse_domains' - Domains_getDomainsResponse_domains: - type: object - properties: - protected_domains: - type: array - items: - type: string - example: site.example.sfdev.acquia-test.co - custom_domains: - type: array - items: - type: string - example: www.abc.com/def - Domains_getDomainsResponse: - type: object - properties: - node_id: - type: integer - example: 121 - node_type: - type: string - example: 'site collection' - time: - type: string - example: '2016-10-28T09:25:26+00:00' - domains: - $ref: '#/components/schemas/Domains_getDomainsResponse_domains' - Domains_getDomainStatusResponse: - type: object - properties: - domain_name: - type: string - example: www.example.com - associated_status: - type: string - example: registered|registered_unstable|unregistered|unregistered_unstable - node_id: - type: integer - example: 123 - node_type: - type: string - example: site - stack_id: - type: integer - example: 1 - time: - type: string - example: '2016-10-28T09:25:26+00:00' - Domains_addDomainResponse: - type: object - properties: - node_id: - type: integer - example: 121 - node_type: - type: string - example: 'site collection' - domain: - type: string - example: www.domaintoadd.com - time: - type: string - example: '2016-10-28T09:25:26+00:00' - added: - type: boolean - example: true - messages: - type: array - items: - type: string - example: 'Your domain name was successfully added to the site collection.' - Domains_removeDomainResponse: - type: object - properties: - node_id: - type: integer - example: 121 - node_type: - type: string - example: 'site collection' - domain: - type: string - example: www.domaintoremove.com - time: - type: string - example: '2016-10-28T09:25:26+00:00' - removed: - type: boolean - example: true - message: - type: string - example: 'Your domain name has been successfully removed from <site collection name>.' - FactoryStandardDomains_backfillFactoryStandardDomainsResponse: - type: object - properties: - task_id: - type: integer - example: 1234 - message: - type: string - example: 'Task has been queued.' - time: - type: string - example: '2022-02-16T08:38:09+00:00' - FactoryStandardDomains_getFactoryStandardDomainsResponse: - type: object - properties: - site_prod: - type: array - items: - type: string - example: 'template1-[sitename].example.com' - site_nonprod: - type: array - items: - type: string - example: 'template1-[sitename]-[environment].example.com' - collection_prod: - type: array - items: - type: string - example: 'template1-[sitename]-collection.example.com' - collection_nonprod: - type: array - items: - type: string - example: 'template1-[sitename]-[environment]-collection.example.com' - time: - type: string - example: '2022-02-16T08:38:09+00:00' - FactoryStandardDomains_setFactoryStandardDomainsResponse: - type: object - properties: - site_prod: - type: array - items: - type: string - example: 'template1-[sitename].example.com' - site_nonprod: - type: array - items: - type: string - example: 'template3-[sitename]-[environment].example.com' - collection_prod: - type: array - items: - type: string - example: 'template1-[sitename]-collection.example.com' - collection_nonprod: - type: array - items: - type: string - example: 'template1-[sitename]-[environment]-collection.example.com' - time: - type: string - example: '2022-02-16T08:38:09+00:00' - FactoryStandardDomains_removeFactoryStandardDomainsResponse: - type: object - properties: - site_prod: - type: array - items: - type: string - example: 'template1-[sitename].example.com' - site_nonprod: - type: array - items: - type: string - example: 'template3-[sitename]-[environment].example.com' - collection_prod: - type: array - items: - type: string - collection_nonprod: - type: array - items: - type: string - example: 'template1-[sitename]-[environment]-collection.example.com' - time: - type: string - example: '2022-02-16T08:38:09+00:00' - Groups_getMembersResponse_members: - type: object - properties: - uid: - type: integer - example: 101 - 'group owner': - type: boolean - example: true - 'group administrator': - type: boolean - example: true - Groups_getMembersResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - count: - type: integer - example: 3 - members: - type: array - items: - $ref: '#/components/schemas/Groups_getMembersResponse_members' - Groups_getGroupByIdResponse: - type: object - properties: - created: - type: integer - example: 1399421609 - group_id: - type: integer - example: 123 - group_name: - type: string - example: mygroup - owner: - type: string - example: user_name - owner_id: - type: integer - example: 456 - parent_id: - type: integer - example: 789 - parent_name: - type: string - example: parentgroup - live_site_count: - type: integer - example: 1 - total_site_count: - type: integer - example: 3 - status: - type: integer - example: 1 - Groups_getGroupsResponse_groups: - type: object - properties: - group_name: - type: string - example: test - group_id: - type: integer - example: 10002246 - owner: - type: string - example: user_name - owner_id: - type: integer - example: 10000461 - parent_name: - type: string - example: foo - parent_id: - type: integer - example: 4242 - status: - type: integer - example: 1 - created: - type: integer - example: 1473142941 - live_site_count: - type: integer - example: 1 - total_site_count: - type: integer - example: 2 - Groups_getGroupsResponse: - type: object - properties: - count: - type: integer - example: 123 - groups: - type: array - items: - $ref: '#/components/schemas/Groups_getGroupsResponse_groups' - Groups_createGroupResponse: - type: object - properties: - group_id: - type: integer - example: 123 - group_name: - type: string - example: mygroup - Groups_editGroupResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - Groups_deleteGroupResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - Groups_addMembersResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - uids_added: - type: array - items: - type: integer - example: 66 - Groups_addAdminsResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - uids_promoted: - type: array - items: - type: integer - example: 66 - Groups_addSitesResponse: - type: object - properties: - group_id: - type: integer - example: 191 - name: - type: string - example: foobargroup - time: - type: string - example: '2020-04-20T10:58:18+00:00' - site_ids_added: - type: array - items: - type: integer - example: 121 - message: - type: string - example: 'One site was successfully added to the site group.' - site_ids_skipped: - type: array - items: - type: integer - example: 101 - Groups_removeMembersResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - uids_removed: - type: array - items: - type: integer - example: 66 - Groups_removeAdminsResponse: - type: object - properties: - time: - type: string - example: '2016-11-25T13:18:44+00:00' - group_id: - type: integer - example: 123 - uids_demoted: - type: array - items: - type: integer - example: 66 - Groups_removeSitesResponse: - type: object - properties: - group_id: - type: integer - example: 191 - name: - type: string - example: foobargroup - time: - type: string - example: '2020-04-20T10:58:18+00:00' - site_ids_removed: - type: array - items: - type: integer - example: 121 - message: - type: string - example: 'One site was successfully removed from the site group.' - site_ids_skipped: - type: array - items: - type: integer - example: 101 - Groups_getSitesResponse_sites: - type: object - properties: - id: - type: integer - example: 151 - db_name: - type: string - example: iade151 - site: - type: string - example: site1 - stack_id: - type: integer - example: 1 - domain: - type: string - example: '{base_url}' - groups: - type: array - items: - type: integer - example: 91 - site_collection: - type: integer - example: 5 - is_primary: - type: boolean - example: true - Groups_getSitesResponse: - type: object - properties: - time: - type: string - example: '2021-02-19T12:54:23+00:00' - group_id: - type: integer - example: 101 - count: - type: integer - example: 2 - sites: - type: array - items: - $ref: '#/components/schemas/Groups_getSitesResponse_sites' - InstallationProfiles_getInstallationProfilesResponse_profiles: - type: object - properties: - name: - type: string - example: acquia_acms - caption: - type: string - example: 'Acquia CMS' - stack_id: - type: integer - example: 1 - enabled: - type: boolean - example: true - rest_api_default: - type: boolean - example: true - description: - type: string - example: 'Ready-to-use solution designed to help create and publish websites more easily' - InstallationProfiles_getInstallationProfilesResponse: - type: object - properties: - profiles: - type: array - items: - $ref: '#/components/schemas/InstallationProfiles_getInstallationProfilesResponse_profiles' - count: - type: integer - example: 4 - time: - type: string - example: '1970-01-01T01:02:03+00:00' - InstallationProfiles_enableProfileResponse: - type: object - properties: - updated: - type: boolean - example: true - message: - type: string - example: 'Profile enabled successfully.' - profile_name: - type: string - example: standard - stack_id: - type: integer - example: 1 - enabled: - type: boolean - example: true - rest_api_default: - type: boolean - example: true - time: - type: string - example: '1970-01-01T01:02:03+00:00' - InstallationProfiles_disableProfileResponse: - type: object - properties: - updated: - type: boolean - example: true - message: - type: string - example: 'Profile disabled successfully.' - profile_name: - type: string - example: standard - stack_id: - type: integer - example: 1 - enabled: - type: boolean - example: false - rest_api_default: - type: boolean - example: false - time: - type: string - example: '1970-01-01T01:02:03+00:00' - InstallationProfiles_setDefaultResponse: - type: object - properties: - updated: - type: boolean - example: true - message: - type: string - example: 'Profile set as default successfully.' - profile_name: - type: string - example: standard - stack_id: - type: integer - example: 1 - enabled: - type: boolean - example: true - rest_api_default: - type: boolean - example: true - time: - type: string - example: '1970-01-01T01:02:03+00:00' - PageView_getPageViewDataMonthlyResponse_dynamic_requests_2016-10: - type: object - properties: - date: - type: string - example: 2016-10 - stack_id: - type: integer - example: 1 - total_dynamic_requests: - type: integer - example: 106 - 2xx_dynamic_requests: - type: integer - example: 100 - 3xx_dynamic_requests: - type: integer - example: 3 - 4xx_dynamic_requests: - type: integer - example: 2 - 5xx_dynamic_requests: - type: integer - example: 1 - total_runtime: - type: number - example: 101.4 - 2xx_runtime: - type: integer - example: 100 - 3xx_runtime: - type: number - example: 0.9 - 4xx_runtime: - type: number - example: 0.4 - 5xx_runtime: - type: number - example: 0.1 - PageView_getPageViewDataMonthlyResponse_dynamic_requests: - type: object - properties: - 2016-10: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyResponse_dynamic_requests_2016-10' - PageView_getPageViewDataMonthlyResponse: - type: object - properties: - count: - type: integer - example: 1 - time: - type: string - example: '2016-11-25T13:18:44+00:00' - most_recent_data: - type: string - example: '2016-11-23' - dynamic_requests: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyResponse_dynamic_requests' - PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests_domain1.example.com: - type: object - properties: - date: - type: string - example: 2016-11 - stack_id: - type: integer - example: 1 - total_dynamic_requests: - type: integer - example: 106 - 2xx_dynamic_requests: - type: integer - example: 100 - 3xx_dynamic_requests: - type: integer - example: 3 - 4xx_dynamic_requests: - type: integer - example: 2 - 5xx_dynamic_requests: - type: integer - example: 1 - total_runtime: - type: number - example: 101.4 - 2xx_runtime: - type: integer - example: 100 - 3xx_runtime: - type: number - example: 0.9 - 4xx_runtime: - type: number - example: 0.4 - 5xx_runtime: - type: number - example: 0.1 - PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests: - type: object - properties: - domain1.example.com: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests_domain1.example.com' - PageView_getPageViewDataMonthlyPerDomainResponse: - type: object - properties: - count: - type: integer - example: 1 - time: - type: string - example: '2016-11-25T13:18:44+00:00' - most_recent_data: - type: string - example: '2016-11-23' - dynamic_requests: - $ref: '#/components/schemas/PageView_getPageViewDataMonthlyPerDomainResponse_dynamic_requests' - Pause_pauseResponse: - type: object - properties: - message: - type: string - example: 'Task processing has been paused.' - Pause_pauseTaskResponse: - type: object - properties: - message: - type: string - example: 'Task processing has been paused.' - task_id: - type: integer - example: 123 - level: - type: string - example: family - Ping_pingResponse: - type: object - properties: - message: - type: string - example: pong - server_time: - type: string - example: '2014-02-16T20:04:12-06:00' - Role_getRolesResponse: - type: object - properties: - count: - type: integer - example: 4 - roles: - type: object - additionalProperties: - type: string - Role_getRoleResponse: - type: object - properties: - rid: - type: integer - example: 32 - name: - type: string - example: 'platform admin' - Role_createRoleResponse: - type: object - properties: - role_id: - type: integer - example: 16 - role_name: - type: string - example: 'content editor' - Role_updateRoleResponse: - type: object - properties: - role_id: - type: integer - example: 32 - updated: - type: boolean - example: true - Role_deleteRoleResponse: - type: object - properties: - role_id: - type: integer - example: 76 - deleted: - type: boolean - example: true - Security_getSecuritySettingsResponse: - type: object - properties: - minimum_password_length: - type: string - example: '7' - minimum_required_password_strength: - type: string - example: 'disabled|weak|good|strong|very strong' - two_step_verification: - type: boolean - example: true - sign_out_inactive_user_accounts: - type: boolean - example: true - sign_out_inactivity_time: - type: string - example: '18000' - automatically_disable_accounts: - type: boolean - example: true - automatically_disable_accounts_after_days: - type: string - example: '90' - Security_updateSecuritySettingsResponse: - type: object - properties: - message: - type: string - example: 'Security settings have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - Security_resetSecuritySettingsResponse: - type: object - properties: - message: - type: string - example: 'Security settings have been reset to their default values.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SfInfo_getSfVersionResponse: - type: object - properties: - factory_version: - type: string - example: 2.59.0 - time: - type: string - example: '2017-05-11T18:15:19+00:00' - SiteCollections_getCollectionsResponse_collections: - type: object - properties: - id: - type: integer - example: 196 - name: - type: string - example: collection2 - internal_domain: - type: string - example: domain1.site-factory.com - primary_site: - type: integer - example: 220 - site_count: - type: integer - example: 2 - groups: - type: array - items: - type: integer - example: 91 - customer_standard_domains: - type: array - items: - type: string - example: collection2-coll.example.com - external_domains: - type: array - items: - type: string - example: external1-coll.example.com - SiteCollections_getCollectionsResponse: - type: object - properties: - count: - type: integer - example: 111 - time: - type: string - example: '2016-11-25T13:18:44+00:00' - collections: - type: array - items: - $ref: '#/components/schemas/SiteCollections_getCollectionsResponse_collections' - SiteCollections_getCollectionResponse: - type: object - properties: - id: - type: integer - example: 261 - time: - type: string - example: '2016-11-25T13:18:44+00:00' - created: - type: integer - example: 1489075420 - owner: - type: string - example: admin - name: - type: string - example: collection1 - internal_domain: - type: string - example: collection1.site-factory.com - external_domains: - type: array - items: - type: string - example: domain1.site-factory.com - groups: - type: array - items: - type: integer - example: 91 - sites: - type: array - items: - type: integer - example: 236 - primary_site: - type: integer - example: 236 - SiteCollections_createCollectionResponse: - type: object - properties: - id: - type: integer - example: 191 - name: - type: string - example: mycollection - time: - type: string - example: '2016-11-25T13:18:44+00:00' - internal_domain: - type: string - example: mycollecton.site-factory.com - SiteCollections_deleteCollectionResponse: - type: object - properties: - id: - type: integer - example: 101 - time: - type: string - example: '2016-10-28T09:25:26+00:00' - deleted: - type: boolean - example: true - message: - type: string - example: 'Your site collection was successfully deleted.' - SiteCollections_addSiteToCollectionResponse: - type: object - properties: - id: - type: integer - example: 191 - name: - type: string - example: foobarcollection - time: - type: string - example: '2017-04-20T10:58:18+00:00' - site_ids_added: - type: array - items: - type: integer - example: 121 - added: - type: boolean - example: true - message: - type: string - example: 'One site was successfully added to the site collection.' - warning: - type: array - items: - type: string - example: 'The site aabbcc (site ID: 101) is already part of the current site collection.; The site ddeeff (site ID: 126) is already part of the current site collection.' - site_ids_skipped: - type: array - items: - type: integer - example: 101 - SiteCollections_removeSiteFromCollectionResponse: - type: object - properties: - id: - type: integer - example: 191 - name: - type: string - example: foobarcollection - time: - type: string - example: '2017-04-20T10:58:18+00:00' - site_ids_removed: - type: array - items: - type: integer - example: 121 - removed: - type: boolean - example: true - message: - type: string - example: 'One site was successfully removed from the site collection.' - SiteCollections_setPrimarySiteResponse: - type: object - properties: - id: - type: integer - example: 191 - name: - type: string - example: foobarcollection - time: - type: string - example: '2017-04-20T10:58:18+00:00' - primary_site_id: - type: integer - example: 101 - switched: - type: boolean - example: true - message: - type: string - example: 'It can take a few minutes to switch over to the new primary site.' - SiteGuardConfig_getSiteGuardConfigResponse: - type: object - properties: - enabled: - type: boolean - example: true - message: - type: string - example: 'Please log in' - password: - type: string - example: password1 - time: - type: string - example: '2022-03-28T08:46:11+00:00' - username: - type: string - example: test - SiteGuardConfig_setSiteGuardConfigResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteGuardConfig_removeSiteGuardConfigResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteOwnership_executeGetActionsResponse: - type: object - properties: - enabled: - type: boolean - example: true - uid: - type: integer - example: 1234 - username: - type: string - example: john.doe - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteOwnership_executePutActionsResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteOwnership_executeDeleteActionsResponse: - type: object - properties: - message: - type: string - example: 'Site ownership assignment feature has been disabled.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteUpdatePriority_getSiteUpdatePriorityResponse_priority: - type: object - properties: - 371: - type: integer - example: 3 - 416: - type: integer - example: 4 - 421: - type: integer - example: 5 - SiteUpdatePriority_getSiteUpdatePriorityResponse: - type: object - properties: - priority: - $ref: '#/components/schemas/SiteUpdatePriority_getSiteUpdatePriorityResponse_priority' - time: - type: string - example: '2022-03-16T10:03:26+00:00' - SiteUpdatePriority_setSiteUpdatePriorityResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteUpdatePriority_resetSiteUpdatePriorityResponse: - type: object - properties: - message: - type: string - example: 'Site update priority has been removed.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteVariables_triggerSiteVariablesDistributionResponse_task_ids: - type: object - properties: - glitch.01live.01update: - type: string - example: '1901' - glitch2.01live.01liveup: - type: string - example: '1906' - SiteVariables_triggerSiteVariablesDistributionResponse: - type: object - properties: - task_ids: - $ref: '#/components/schemas/SiteVariables_triggerSiteVariablesDistributionResponse_task_ids' - time: - type: string - example: '2022-11-23T12:49:57+00:00' - SiteVariables_getSiteVariablesResponse_vars_external_service_api_key: - type: object - properties: - id: - type: integer - example: 1 - nid: - type: integer - example: 101 - scrub_during_stage: - type: integer - example: 1 - variable_key: - type: string - example: external_service_api_key - variable_value: - type: string - example: apikey-value2 - SiteVariables_getSiteVariablesResponse_vars_external_service_api_key_non-secret: - type: object - properties: - id: - type: integer - example: 11 - nid: - type: integer - example: 101 - scrub_during_stage: - type: integer - example: 0 - variable_key: - type: string - example: external_service_api_key_non-secret - variable_value: - type: string - example: 'apikey-value xx1234' - SiteVariables_getSiteVariablesResponse_vars: - type: object - properties: - external_service_api_key: - $ref: '#/components/schemas/SiteVariables_getSiteVariablesResponse_vars_external_service_api_key' - external_service_api_key_non-secret: - $ref: '#/components/schemas/SiteVariables_getSiteVariablesResponse_vars_external_service_api_key_non-secret' - SiteVariables_getSiteVariablesResponse: - type: object - properties: - time: - type: string - example: '2022-11-23T12:38:06+00:00' - vars: - $ref: '#/components/schemas/SiteVariables_getSiteVariablesResponse_vars' - SiteVariables_changeSiteVariablesResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteVariables_removeSiteVariablesResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - SiteVariables_removeSiteVariableResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - Sites_getSitesResponse_sites: - type: object - properties: - id: - type: integer - example: 191 - created: - type: integer - example: 1616611353 - owner: - type: string - example: 'John Drupal' - site: - type: string - example: site1 - db_name: - type: string - example: bdpref191 - stack_id: - type: integer - example: 1 - domain: - type: string - example: domain1.site-factory.com - groups: - type: array - items: - type: integer - example: 91 - site_collection: - oneOf: - - - type: integer - - - type: boolean - is_primary: - type: boolean - example: true - Sites_getSitesResponse: - type: object - properties: - count: - type: integer - example: 111 - sites: - type: array - items: - $ref: '#/components/schemas/Sites_getSitesResponse_sites' - Sites_getSiteResponse_external_theme: - type: object - properties: - vcs_url: - type: string - example: 'git@github.com:username/drupal-theme-repo.git' - vcs_path: - type: string - example: master - Sites_getSiteResponse: - type: object - properties: - id: - type: integer - example: 123 - created: - type: integer - example: 1397483647 - owner: - type: string - example: 'John Drupal' - site: - type: string - example: site1 - stack_id: - type: integer - example: 1 - db_name: - type: string - example: bdpref196 - domains: - type: array - items: - type: string - example: domain1.site-factory.com - groups: - type: array - items: - type: integer - example: 91 - part_of_collection: - type: boolean - example: true - is_primary: - type: boolean - example: true - collection_id: - type: integer - example: 241 - collection_domains: - type: array - items: - type: string - example: domain241.example.com - external_theme: - $ref: '#/components/schemas/Sites_getSiteResponse_external_theme' - Sites_createSiteResponse: - type: object - properties: - id: - type: integer - example: 191 - site: - type: string - example: site1 - domains: - type: array - items: - type: string - example: mysite.site-factory.com - task_id: - type: integer - example: 12345 - Sites_deleteSiteResponse: - type: object - properties: - id: - type: integer - example: 123 - owner: - type: string - example: johnsmith - site: - type: string - example: unicorns - time: - type: string - example: '1970-01-01T01:02:03+00:00' - task_id: - type: integer - example: 16 - Sites_duplicateSiteResponse: - type: object - properties: - id: - type: integer - example: 183 - site: - type: string - example: mysite2 - Sites_backupSiteResponse: - type: object - properties: - task_id: - type: integer - example: 183 - Sites_getSiteBackupsResponse_backups: - type: object - properties: - id: - type: integer - example: 6 - nid: - type: integer - example: 123 - status: - type: integer - example: 1 - uid: - type: integer - example: 16 - timestamp: - type: integer - example: 1415044083 - bucket: - type: string - example: sitefactorybackups - directory: - type: string - example: oldschool - file: - type: string - example: oldschool_91_1415044083.tar.gz - label: - type: string - example: Weekly - componentList: - type: array - items: - type: string - example: codebase - complete: - type: boolean - example: true - Sites_getSiteBackupsResponse: - type: object - properties: - backups: - type: array - items: - $ref: '#/components/schemas/Sites_getSiteBackupsResponse_backups' - Sites_getSiteBackupUrlResponse: - type: object - properties: - url: - type: string - example: 'https://s3.amazonaws.com/sitefactorybackups/site/backup1_101_1415643727.tar.gz?AWSAccessKeyId=AKIAINAAC2EGOVCRW4WA&Expires=1415713064&Signature=pWucd8b6T%2FqzoNewXH6EuTyIr1g%3D' - lifetime: - type: integer - example: 300 - Sites_deleteSiteBackupResponse: - type: object - properties: - task_id: - type: integer - example: 16 - Sites_restoreSiteResponse: - type: object - properties: - task_id: - type: integer - example: 1024 - Sites_clearCachesResponse_task_ids: - type: object - properties: - drupal_cache_clear: - type: integer - example: 1234 - varnish_cache_clear: - type: integer - example: 1234 - Sites_clearCachesResponse: - type: object - properties: - id: - type: integer - example: 123 - time: - type: string - example: '2017-05-04T09:25:26+00:00' - task_ids: - $ref: '#/components/schemas/Sites_clearCachesResponse_task_ids' - StageV2_stagingEnvironmentsResponse_environments: - type: object - properties: - test: - type: string - example: test - StageV2_stagingEnvironmentsResponse: - type: object - properties: - environments: - $ref: '#/components/schemas/StageV2_stagingEnvironmentsResponse_environments' - StageV2_stageResponse: - type: object - properties: - message: - type: string - example: 'Staging deployment has been initiated - WIP123.' - task_id: - type: integer - example: 123 - Status_getStatusResponse: - type: object - properties: - site_creation: - type: string - example: Disabled - site_duplication: - type: string - example: Enabled - domain_management: - type: string - example: 'Disabled until 2014-02-14T11:52:17-05:00' - bulk_operations: - type: string - example: 'Disabled until 2014-02-14T11:52:17-05:00' - Status_setStatusResponse: - type: object - properties: - site_creation: - type: string - example: '' - site_duplication: - type: string - example: '2022-02-17T05:06:55-08:00' - domain_management: - type: string - example: '' - bulk_operations: - type: string - example: '2022-02-17T05:06:55-08:00' - Task_classesResponse: - type: array - items: - type: string - example: Acquia\SfSite\SiteInstall - Task_tasksResponse_item: - type: object - properties: - id: - type: string - example: '7726' - parent: - type: string - example: '0' - name: - type: string - example: 'CronController 151' - group_name: - type: string - example: CronController - priority: - type: string - example: '2' - object_id: - type: string - example: '7726' - status: - type: string - example: '8' - wake: - type: string - example: '1645143240' - added: - type: string - example: '1645103709' - started: - type: string - example: '1645103715' - completed: - type: string - example: '0' - taken: - type: string - example: '0' - lease: - type: string - example: '301' - max_run_time: - type: string - example: '300' - paused: - type: string - example: '0' - concurrency_exceeded: - type: string - example: '0' - error_message: - type: string - example: '' - nid: - type: string - example: '0' - uid: - type: string - example: '0' - class: - type: string - example: Acquia\SfCron\CronController - Task_tasksResponse: - type: array - items: - $ref: '#/components/schemas/Task_tasksResponse_item' - Task_logsResponse_item: - type: object - properties: - id: - type: string - example: '755096' - timestamp: - type: string - example: '1643297111' - object_id: - type: string - example: '5566' - action: - type: string - example: '' - level: - type: string - example: '7' - message: - type: string - example: '[ded-11|7376] - Task added for object id 5566.' - readable: - type: string - example: '0' - Task_logsResponse: - type: array - items: - $ref: '#/components/schemas/Task_logsResponse_item' - Task_deleteResponse: - type: object - properties: - message: - type: string - example: 'Task 123 has been deleted.' - time: - type: string - example: '1970-01-01T00:00:00+00:00' - task_id: - type: integer - example: 123 - Task_terminateResponse: - type: object - properties: - message: - type: string - example: 'Task 123 has been queued for termination.' - time: - type: string - example: '1970-01-01T00:00:00+00:00' - task_id: - type: integer - example: 123 - TaskLogSettings_getTaskLogSettingsResponse_wip_log_maximum_level: - type: object - properties: - name: - type: string - example: 'Overall tasks logging level' - value: - type: string - example: trace - TaskLogSettings_getTaskLogSettingsResponse_wip_log_level: - type: object - properties: - name: - type: string - example: 'Successful tasks logging level' - value: - type: string - example: warn - TaskLogSettings_getTaskLogSettingsResponse: - type: object - properties: - wip_log_maximum_level: - $ref: '#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse_wip_log_maximum_level' - wip_log_level: - $ref: '#/components/schemas/TaskLogSettings_getTaskLogSettingsResponse_wip_log_level' - TaskLogSettings_editTaskLogSettingsResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been saved.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - TaskLogSettings_resetTaskLogSettingsResponse: - type: object - properties: - message: - type: string - example: 'The configuration options have been reset to their default values.' - time: - type: string - example: '2022-01-19T08:38:09+00:00' - Theme_getThemePublicKeyResponse: - type: object - properties: - deploy_key: - type: string - example: 'ssh-rsa...== id_rsa_external_theme' - time: - type: string - example: '2034-05-11T18:15:19+00:00' - Theme_processThemesResponse: - type: object - properties: - message: - type: string - example: 'The request to process theme notification has been accepted.' - sitegroups: - type: array - items: - type: string - example: tangle001 - time: - type: string - example: '2014-05-02T16:21:25+00:00' - Theme_refreshSiteExternalThemesResponse: - type: object - properties: - id: - type: integer - example: 121 - accepted: - type: boolean - example: true - time: - type: string - example: '2024-05-11T18:15:19+00:00' - Theme_setSiteExternalThemeResponse: - type: object - properties: - id: - type: integer - example: 121 - vcs_url: - type: string - example: 'git@github.com:user/repo.git' - vcs_path: - type: string - example: master - time: - type: string - example: '2020-01-09T15:57:24+00:00' - Theme_deleteSiteExternalThemeResponse: - type: object - properties: - id: - type: integer - example: 121 - accepted: - type: boolean - example: true - time: - type: string - example: '2024-05-11T18:15:19+00:00' - ThemeNotification_handleNotificationResponse_notification: - type: object - properties: - scope: - type: string - example: site - event: - type: string - example: modify - nid: - type: integer - example: 123 - ThemeNotification_handleNotificationResponse: - type: object - properties: - message: - type: string - example: 'The site.modify notification has been received.' - time: - type: string - example: '2014-02-16T20:04:12-06:00' - notification: - $ref: '#/components/schemas/ThemeNotification_handleNotificationResponse_notification' - TransferSiteOwnership_transferSiteOwnerResponse: - type: object - properties: - message: - type: string - example: 'To transfer your site, please follow the instructions in the e-mail that was sent to site-owner@email.com' - Update_updateResponse: - type: object - properties: - message: - type: string - example: 'Update initiated.' - task_id: - type: integer - example: 123 - Update_statusResponse_statuses: - type: object - properties: - not-started: - type: integer - example: 0 - in-progress: - type: integer - example: 0 - completed: - type: string - example: '30' - warning: - type: integer - example: 0 - error: - type: integer - example: 0 - Update_statusResponse_docroot_pairs_environment: - type: object - properties: - site: - type: string - example: test - env: - type: string - example: prod - tangle: - type: string - example: tangle_test - type: - type: string - example: live_env - Update_statusResponse_docroot_pairs: - type: object - properties: - environment: - $ref: '#/components/schemas/Update_statusResponse_docroot_pairs_environment' - total: - type: integer - example: 30 - error_percentage: - type: integer - example: 0 - completed_percentage: - type: integer - example: 100 - Update_statusResponse: - type: object - properties: - statuses: - $ref: '#/components/schemas/Update_statusResponse_statuses' - message: - type: string - example: 'Update complete' - percentage: - type: integer - example: 100 - start_time: - type: integer - example: 1423862773 - end_time: - type: integer - example: 1423865337 - id: - type: integer - example: 4726 - docroot_pairs: - type: array - items: - $ref: '#/components/schemas/Update_statusResponse_docroot_pairs' - Update_updateListResponse: - type: object - additionalProperties: - $ref: '#/components/schemas/Update_updateListResponse_item' - Update_updateListResponse_item: - type: object - properties: - added: - type: string - example: '1423762615' - status: - type: string - example: '16' - Update_pauseUpdateResponse: - type: object - properties: - message: - type: string - example: 'Site update processing has been paused.' - Update_changeUpdaterStartTimeResponse: - type: object - properties: - success: - type: integer - example: 1 - message: - type: string - example: 'The updater start time has been changed.' - Update_terminateUpdaterResponse: - type: object - properties: - message: - type: string - example: 'Initiated termination of task 123.' - User_getUsersResponse_users: - type: object - properties: - uid: - type: string - example: '1' - name: - type: string - example: admin - mail: - type: string - example: admin@example.com - created: - type: string - example: '1431525207' - access: - type: string - example: '1431525447' - status: - type: string - example: blocked - tfa_status: - type: string - example: 'not available' - roles: - type: object - additionalProperties: - type: string - User_getUsersResponse: - type: object - properties: - count: - type: integer - example: 6 - users: - type: array - items: - $ref: '#/components/schemas/User_getUsersResponse_users' - User_getUserResponse: - type: object - properties: - uid: - type: string - example: '32' - name: - type: string - example: Mark - mail: - type: string - example: mark@example.com - created: - type: string - example: '1449070860' - login: - type: string - example: '1449071036' - status: - type: string - example: '1' - roles: - type: object - additionalProperties: - type: string - tfa_status: - type: string - example: active - User_createUserResponse: - type: object - properties: - user_id: - type: integer - example: 16 - user_name: - type: string - example: Mark - user_mail: - type: string - example: mark@example.com - user_status: - type: string - example: active - User_updateUserResponse: - type: object - properties: - user_id: - type: integer - example: 85 - updated: - type: boolean - example: true - User_deleteUserResponse: - type: object - properties: - user_id: - type: integer - example: 76 - deleted: - type: boolean - example: true - Vcs_getRefsResponse: - type: object - properties: - available: - type: array - items: - type: string - example: dev-branch - current: - type: string - example: tags/2.85.0.3085 - WipTaskStatus_getWipTaskStatusResponse_wip_task: - type: object - properties: - id: - type: string - example: '476' - parent: - type: string - example: '0' - name: - type: string - example: 'SiteArchive 111' - group_name: - type: string - example: 'SiteArchive customerstack1_01' - status: - type: string - example: '16' - status_string: - type: string - example: Completed - added: - type: string - example: '1475051666' - started: - type: string - example: '1475051667' - completed: - type: string - example: '1475051765' - paused: - type: string - example: '0' - error_message: - type: string - example: '' - nid: - type: string - example: '111' - uid: - type: string - example: '21' - WipTaskStatus_getWipTaskStatusResponse: - type: object - properties: - wip_task: - $ref: '#/components/schemas/WipTaskStatus_getWipTaskStatusResponse_wip_task' - time: - type: string - example: '2014-05-02T16:21:25+00:00' diff --git a/bin/acli b/bin/acli index 5edac2683..2a3a576ae 100755 --- a/bin/acli +++ b/bin/acli @@ -97,8 +97,8 @@ $application->setName('Acquia CLI'); $application->setVersion(getenv('ACLI_VERSION')); /** @var ApiCommandHelper $helper */ $helper = $container->get(ApiCommandHelper::class); -$application->addCommands($helper->getApiCommands( __DIR__ . '/../assets/acquia-spec.yaml', 'api', $container->get(ApiCommandFactory::class))); -$application->addCommands($helper->getApiCommands( __DIR__ . '/../assets/acsf-spec.yaml', 'acsf', $container->get(AcsfCommandFactory::class))); +$application->addCommands($helper->getApiCommands( __DIR__ . '/../assets/acquia-spec.json', 'api', $container->get(ApiCommandFactory::class))); +$application->addCommands($helper->getApiCommands( __DIR__ . '/../assets/acsf-spec.json', 'acsf', $container->get(AcsfCommandFactory::class))); try { $application->add(new SelfUpdateCommand($application->getName(), $application->getVersion(), 'acquia/cli')); } diff --git a/composer.json b/composer.json index c83d0d7d5..148691455 100644 --- a/composer.json +++ b/composer.json @@ -133,7 +133,7 @@ "infection --threads=max --only-covered" ], "mutation-diff-lines": [ - "infection --threads=max --only-covered --git-diff-lines --git-diff-base=origin/$GITHUB_BASE_REF --min-covered-msi=100" + "infection --threads=max --only-covered --git-diff-lines --git-diff-base=origin/$GITHUB_BASE_REF --min-covered-msi=100 --ignore-msi-with-no-mutations" ], "cs": "phpcs", "cbf": "phpcbf", diff --git a/src/Command/Api/ApiCommandHelper.php b/src/Command/Api/ApiCommandHelper.php index 9611a2278..feca40ffd 100644 --- a/src/Command/Api/ApiCommandHelper.php +++ b/src/Command/Api/ApiCommandHelper.php @@ -12,7 +12,6 @@ use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Logger\ConsoleLogger; -use Symfony\Component\Yaml\Yaml; class ApiCommandHelper { @@ -300,7 +299,7 @@ private function getCloudApiSpec(string $specFilePath): array { // Parse file. This can take a long while! $this->logger->debug("Rebuilding caches..."); - $spec = Yaml::parseFile($specFilePath); + $spec = json_decode(file_get_contents($specFilePath), TRUE); $cache->warmUp([ $cacheKey => $spec, @@ -316,12 +315,6 @@ private function getCloudApiSpec(string $specFilePath): array { private function generateApiCommandsFromSpec(array $acquiaCloudSpec, string $commandPrefix, CommandFactoryInterface $commandFactory): array { $apiCommands = []; foreach ($acquiaCloudSpec['paths'] as $path => $endpoint) { - // Skip internal endpoints. These shouldn't actually be in the spec. - // @infection-ignore-all - if (array_key_exists('x-internal', $endpoint) && $endpoint['x-internal']) { - continue; - } - foreach ($endpoint as $method => $schema) { if (!array_key_exists('x-cli-name', $schema)) { continue; diff --git a/tests/phpunit/src/CloudApi/AcsfClientServiceTest.php b/tests/phpunit/src/CloudApi/AcsfClientServiceTest.php index b2607a4d0..fd181a01e 100644 --- a/tests/phpunit/src/CloudApi/AcsfClientServiceTest.php +++ b/tests/phpunit/src/CloudApi/AcsfClientServiceTest.php @@ -14,7 +14,7 @@ class AcsfClientServiceTest extends TestBase { - protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../../assets/acsf-spec.yaml'; + protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../../assets/acsf-spec.json'; protected string $apiCommandPrefix = 'acsf'; /** diff --git a/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php b/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php index 683ad0425..e4bc4f748 100644 --- a/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php +++ b/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php @@ -20,9 +20,6 @@ */ class AcsfApiCommandTest extends AcsfCommandTestBase { - protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../../../assets/acsf-spec.yaml'; - protected string $apiCommandPrefix = 'acsf'; - public function setUp(): void { parent::setUp(); $this->clientProphecy->addOption('headers', ['Accept' => 'application/hal+json, version=2']); diff --git a/tests/phpunit/src/Commands/Acsf/AcsfCommandTestBase.php b/tests/phpunit/src/Commands/Acsf/AcsfCommandTestBase.php index 100dc3fda..90f76fb38 100644 --- a/tests/phpunit/src/Commands/Acsf/AcsfCommandTestBase.php +++ b/tests/phpunit/src/Commands/Acsf/AcsfCommandTestBase.php @@ -21,6 +21,10 @@ abstract class AcsfCommandTestBase extends CommandTestBase { protected string $acsfKey = 'h@x0r'; + protected string $apiCommandPrefix = 'acsf'; + + protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../../../assets/acsf-spec.json'; + /** * @return array */ diff --git a/tests/phpunit/src/Commands/Acsf/AcsfListCommandTest.php b/tests/phpunit/src/Commands/Acsf/AcsfListCommandTest.php index 237509dab..caf262883 100644 --- a/tests/phpunit/src/Commands/Acsf/AcsfListCommandTest.php +++ b/tests/phpunit/src/Commands/Acsf/AcsfListCommandTest.php @@ -8,15 +8,11 @@ use Acquia\Cli\Command\Acsf\AcsfListCommandBase; use Acquia\Cli\Command\CommandBase; use Acquia\Cli\Command\Self\ListCommand; -use Acquia\Cli\Tests\CommandTestBase; /** * @property AcsfListCommandBase $command */ -class AcsfListCommandTest extends CommandTestBase { - - protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../../../assets/acsf-spec.yaml'; - protected string $apiCommandPrefix = 'acsf'; +class AcsfListCommandTest extends AcsfCommandTestBase { public function setUp(): void { parent::setUp(); diff --git a/tests/phpunit/src/Commands/Pull/PullCommandTestBase.php b/tests/phpunit/src/Commands/Pull/PullCommandTestBase.php index 03fdc7f9e..5579832f6 100644 --- a/tests/phpunit/src/Commands/Pull/PullCommandTestBase.php +++ b/tests/phpunit/src/Commands/Pull/PullCommandTestBase.php @@ -288,7 +288,7 @@ protected function mockExecuteMySqlImport( $localMachineHelper->checkRequiredBinariesExist(['gunzip', 'mysql'])->shouldBeCalled(); $this->mockExecutePvExists($localMachineHelper, $pvExists); $process = $this->mockProcess($success); - $filePath = Path::join(sys_get_temp_dir(), "$env-$dbName-$dbMachineName-2012-05-15T12:00:00Z.sql.gz"); + $filePath = Path::join(sys_get_temp_dir(), "$env-$dbName-$dbMachineName-2012-05-15T12:00:00.000Z.sql.gz"); $command = $pvExists ? "pv $filePath --bytes --rate | gunzip | MYSQL_PWD=drupal mysql --host=localhost --user=drupal $localDbName" : "gunzip -c $filePath | MYSQL_PWD=drupal mysql --host=localhost --user=drupal $localDbName"; // MySQL import command. $localMachineHelper diff --git a/tests/phpunit/src/Commands/Ssh/SshKeyInfoCommandTest.php b/tests/phpunit/src/Commands/Ssh/SshKeyInfoCommandTest.php index c538e7c53..75f871742 100644 --- a/tests/phpunit/src/Commands/Ssh/SshKeyInfoCommandTest.php +++ b/tests/phpunit/src/Commands/Ssh/SshKeyInfoCommandTest.php @@ -36,7 +36,7 @@ public function testInfo(): void { $this->assertStringContainsString('UUID 02905393-65d7-4bef-873b-24593f73d273', $output); $this->assertStringContainsString('Label PC Home', $output); $this->assertStringContainsString('Fingerprint (md5) 5d:23:fb:45:70:df:ef:ad:ca:bf:81:93:cd:50:26:28', $output); - $this->assertStringContainsString('Created at 2017-05-09T20:30:35+00:00', $output); + $this->assertStringContainsString('Created at 2017-05-09T20:30:35.000Z', $output); } } diff --git a/tests/phpunit/src/Misc/ApiSpecTest.php b/tests/phpunit/src/Misc/ApiSpecTest.php index 41cdcf051..de7df9115 100644 --- a/tests/phpunit/src/Misc/ApiSpecTest.php +++ b/tests/phpunit/src/Misc/ApiSpecTest.php @@ -10,7 +10,7 @@ class ApiSpecTest extends TestCase { public function testApiSpec(): void { - $apiSpecFile = Path::canonicalize(__DIR__ . '/../../../../assets/acquia-spec.yaml'); + $apiSpecFile = Path::canonicalize(__DIR__ . '/../../../../assets/acquia-spec.json'); $this->assertFileExists($apiSpecFile); $apiSpec = file_get_contents($apiSpecFile); $this->assertStringNotContainsString('x-internal', $apiSpec); diff --git a/tests/phpunit/src/TestBase.php b/tests/phpunit/src/TestBase.php index 4dc128af1..138e9df09 100644 --- a/tests/phpunit/src/TestBase.php +++ b/tests/phpunit/src/TestBase.php @@ -49,7 +49,7 @@ */ abstract class TestBase extends TestCase { - protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../assets/acquia-spec.yaml'; + protected string $apiSpecFixtureFilePath = __DIR__ . '/../../../assets/acquia-spec.json'; protected ConsoleOutput $consoleOutput;