openapi: 3.1.1
info:
  title: Acquia Cloud Platform API
  version: 3.0.0
  description: >-
    The Cloud Platform API includes over 200 endpoints to enhance developer
    workflow, website management, and provisioning capabilities.
  license:
    name: Acquia Terms of Service
    url: https://www.acquia.com/acquia/agreement
  contact:
    name: Acquia
    url: https://www.acquia.com/contact
tags:
  - name: Sites
    description: Site management
    x-displayName: Sites
  - name: SSH Keys
    description: SSH key management for user accounts
    x-displayName: SSH Keys
  - name: OpenAPI Specs
    description: Acquia Cloud Platform API specification
    x-displayName: OpenAPI Specs
  - name: Codebases
    description: Codebase management
    x-displayName: Codebases
  - name: Codebase References
    description: Codebase branch and tag references
    x-displayName: Codebase References
  - name: Domain Patterns
    description: Automated domain pattern management
    x-displayName: Domain Patterns
  - name: Domains
    description: Domain management
    x-displayName: Domains
  - name: Identity Providers
    description: Federated SSO identity provider management
    x-displayName: Identity Providers
  - name: Tags
    description: Tag management
    x-displayName: Tags
  - name: CDNs
    description: CDN domain management and cache purge operations
    x-displayName: CDNs
  - name: Environments
    description: Environment configuration and lifecycle
    x-displayName: Environments
  - name: Site Instances
    description: Site instance management
    x-displayName: Site Instances
  - name: Deployments
    description: Deployment management
    x-displayName: Deployments
  - name: Code Deploys
    description: Code deploy operations
    x-displayName: Code Deploys
  - name: Site Instance Databases
    description: Site instance database, connection, and backup management
    x-displayName: Site Instance Databases
  - name: Failover Groups
    description: Failover group management
    x-displayName: Failover Groups
paths:
  /sites:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of sites accessible by the user.
      operationId: getSites
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:list
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_Offset'
        - $ref: '#/components/parameters/Site_Service_API_Limit'
        - $ref: '#/components/parameters/Site_Service_API_Filter'
        - $ref: '#/components/parameters/Site_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Site_Service_API_SiteCollection'
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
    post:
      summary: Creates a site for a codebase.
      operationId: createSite
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:create
      tags:
        - Sites
      requestBody:
        $ref: '#/components/requestBodies/Site_Service_API_CreateSiteRequest'
      responses:
        '200':
          description: Site created
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site creation started.
                        description: >-
                          Confirmation message indicating site creation has been
                          initiated
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/f1a2b3c4-d5e6-7890-abcd-ef1234567890
                  parent:
                    href: https://api.acquia.com/v3/sites
                message: Site creation started.
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /sites/{siteId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a site by its ID.
      operationId: findSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:find
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      responses:
        '200':
          $ref: '#/components/responses/Site_Service_API_Site'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
    put:
      summary: Updates a site by its ID.
      operationId: updateSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:update
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      requestBody:
        $ref: '#/components/requestBodies/Site_Service_API_UpdateSiteRequest'
      responses:
        '200':
          description: Site update accepted
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site update started.
                        description: >-
                          Confirmation message indicating site update has been
                          initiated
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/12345678-1234-1234-1234-123456789012
                message: Site update started.
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
    delete:
      summary: Deletes a site by its ID.
      operationId: deleteSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:delete
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      responses:
        '202':
          description: Site deletion accepted
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site deleted.
                        description: >-
                          Confirmation message indicating the site has been
                          deleted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/550e8400-e29b-41d4-a716-446655440002
                message: Site deleted.
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /sites/{siteId}/actions/duplicate:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Duplicates a site from another given site.
      operationId: duplicateSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:duplicate
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      requestBody:
        $ref: '#/components/requestBodies/Site_Service_API_DuplicateSiteRequest'
      responses:
        '202':
          description: Site duplication started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site duplication started.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/f1a2b3c4-d5e6-7890-abcd-ef1234567890
                  parent:
                    href: https://api.acquia.com/v3/sites
                message: Site duplication started.
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /sites/{siteId}/actions/recover:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Recovers a site that is scheduled for deletion
      operationId: recoverSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:recover
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      responses:
        '202':
          description: Site recovery started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site recovery started.
                        description: >-
                          Confirmation message indicating the site recovery has
                          been initiated.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/11111111-1111-1111-1111-111111111111
                  parent:
                    href: https://api.acquia.com/v3/sites
                message: Site recovery started.
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /sites/{siteId}/actions/schedule-delete:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Schedules a site for deletion
      operationId: scheduleDeleteSiteBySiteId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:schedule-delete
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SiteId'
      responses:
        '202':
          description: Site deletion scheduled
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Site_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site deletion scheduled.
                        description: >-
                          Confirmation message indicating the site deletion has
                          been scheduled.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/sites/550e8400-e29b-41d4-a716-446655440002
                  parent:
                    href: https://api.acquia.com/v3/sites
                message: Site deletion scheduled.
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Site_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /codebases/{codebaseId}/sites:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of sites associated with a codebase.
      operationId: getSitesByCodebaseId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:list-sites
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Site_Service_API_Offset'
        - $ref: '#/components/parameters/Site_Service_API_Limit'
        - $ref: '#/components/parameters/Site_Service_API_Filter'
        - $ref: '#/components/parameters/Site_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Site_Service_API_SiteCollection'
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /subscriptions/{subscriptionId}/sites:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of sites associated with a subscription.
      operationId: getSitesBySubscriptionId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-sites
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_SubscriptionId'
        - $ref: '#/components/parameters/Site_Service_API_Offset'
        - $ref: '#/components/parameters/Site_Service_API_Limit'
        - $ref: '#/components/parameters/Site_Service_API_Filter'
        - $ref: '#/components/parameters/Site_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Site_Service_API_SiteCollection'
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /environments/{environmentId}/sites:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of sites associated with an environment.
      operationId: getSitesByEnvironmentId
      x-acquia-operation:
        provider:
          service: site-service-php
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:list-sites
      tags:
        - Sites
      parameters:
        - $ref: '#/components/parameters/Site_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Site_Service_API_Offset'
        - $ref: '#/components/parameters/Site_Service_API_Limit'
        - $ref: '#/components/parameters/Site_Service_API_Filter'
        - $ref: '#/components/parameters/Site_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Site_Service_API_SiteCollection'
        '400':
          $ref: '#/components/responses/Site_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Site_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Site_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Site_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Site_Service_API_InternalServerError'
      security:
        - Site_Service_API_BearerAuth: []
  /ssh-keys:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Gets a list of SSH keys.
      description: >
        Gets a list of all SSH keys accessible to the requester. Each key
        includes

        a `user_id` field identifying the owner.


        To look up the owner of an SSH key by fingerprint or public key, apply a

        mandatory filter: `GET /ssh-keys?filter=fingerprint%3D<value>` or

        `GET /ssh-keys?filter=public_key%3D<value>`. The matching key(s) will

        include the `user_id` of the owner.


        Filterable fields:

        * `label`

        * `fingerprint`

        * `public_key`

        * `user_id`


        Sortable fields:

        * `label`
      operationId: getSshKeys
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: ssh-keys:list
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: ssh-key-service
      tags:
        - SSH Keys
      parameters:
        - $ref: '#/components/parameters/SSH_Key_Service_API_Offset'
        - $ref: '#/components/parameters/SSH_Key_Service_API_Limit'
        - $ref: '#/components/parameters/SSH_Key_Service_API_Filter'
        - $ref: '#/components/parameters/SSH_Key_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/SSH_Key_Service_API_SshKeyCollection'
        '400':
          $ref: '#/components/responses/SSH_Key_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/SSH_Key_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/SSH_Key_Service_API_ForbiddenError'
        '500':
          $ref: '#/components/responses/SSH_Key_Service_API_InternalServerError'
      security:
        - SSH_Key_Service_API_BearerAuth: []
    post:
      summary: Installs a new SSH key for the current user.
      description: Installs a new SSH key for the current user.
      operationId: createSshKey
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: ssh-keys:create
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: ssh-key-service
      tags:
        - SSH Keys
      requestBody:
        $ref: '#/components/requestBodies/SSH_Key_Service_API_SshKeyRequestBody'
      responses:
        '202':
          description: Accepted
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SSH_Key_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Added SSH key.
                        description: Confirmation message.
              example:
                message: Added SSH key.
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/ssh-keys/981b7910-2fe9-11e9-b210-d663bd873d93
        '400':
          $ref: '#/components/responses/SSH_Key_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/SSH_Key_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/SSH_Key_Service_API_ForbiddenError'
        '409':
          $ref: '#/components/responses/SSH_Key_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/SSH_Key_Service_API_InternalServerError'
      security:
        - SSH_Key_Service_API_BearerAuth: []
  /ssh-keys/{sshKeyId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Gets an SSH key.
      description: Gets an SSH key by SSH Key ID.
      operationId: findSshKeyBySshKeyId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: ssh-keys:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: ssh-key-service
      tags:
        - SSH Keys
      parameters:
        - $ref: '#/components/parameters/SSH_Key_Service_API_SshKeyId'
      responses:
        '200':
          $ref: '#/components/responses/SSH_Key_Service_API_SshKey'
        '401':
          $ref: '#/components/responses/SSH_Key_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/SSH_Key_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/SSH_Key_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/SSH_Key_Service_API_InternalServerError'
      security:
        - SSH_Key_Service_API_BearerAuth: []
    delete:
      summary: Deletes an SSH key.
      description: Deletes an SSH key by SSH Key ID.
      operationId: deleteSshKeyBySshKeyId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: ssh-keys:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: ssh-key-service
      tags:
        - SSH Keys
      parameters:
        - $ref: '#/components/parameters/SSH_Key_Service_API_SshKeyId'
      responses:
        '202':
          description: Accepted
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SSH_Key_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Removed SSH key.
                        description: Confirmation message.
              example:
                message: Removed SSH key.
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/ssh-keys/1acbb1a5-e864-4b8e-a3f9-b1ed462afd25
        '401':
          $ref: '#/components/responses/SSH_Key_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/SSH_Key_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/SSH_Key_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/SSH_Key_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/SSH_Key_Service_API_InternalServerError'
      security:
        - SSH_Key_Service_API_BearerAuth: []
  /openapi.yaml:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Gets the combined OpenAPI specification.
      description: >
        Returns the combined Acquia Cloud Platform OpenAPI specification as a
        YAML document.

        This endpoint is publicly accessible and does not require
        authentication.
      operationId: getOpenApiSpec
      security: []
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
        stability: production
        audience:
          - public
      x-acquia-operation:
        provider:
          service: api-specs
      tags:
        - OpenAPI Specs
      responses:
        '200':
          description: OK
          content:
            text/yaml:
              schema:
                type: string
                description: >-
                  The combined Acquia Cloud Platform OpenAPI specification as a
                  YAML document.
              example: |
                openapi: '3.1.1'
                info:
                    title: Acquia Cloud Platform API
                    version: 3.0.0
        '500':
          $ref: '#/components/responses/API_Specs_API_InternalServerError'
  /codebases:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of codebases accessible by the user.
      description: >
        Retrieves a paginated collection of codebases. Use the `filter`
        parameter to scope results by association.


        Filter syntax:

        - By application: `filter=application_id%3D<id>` (e.g.
        `filter=application_id%3Dabc-123`)
      operationId: getCodebases
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:list
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_Offset'
        - $ref: '#/components/parameters/Codebase_Service_API_Limit'
        - $ref: '#/components/parameters/Codebase_Service_API_Filter'
      responses:
        '200':
          $ref: '#/components/responses/Codebase_Service_API_CodebaseCollection'
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /codebases/{codebaseId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a codebase by its ID.
      operationId: findCodebaseByCodebaseId
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:find
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
      responses:
        '200':
          $ref: '#/components/responses/Codebase_Service_API_Codebase'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    put:
      summary: Updates a codebase by its ID.
      operationId: updateCodebaseByCodebaseId
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:update
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
      requestBody:
        $ref: '#/components/requestBodies/Codebase_Service_API_UpdateCodebaseRequest'
      responses:
        '200':
          description: Codebase updated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Codebase updated.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                message: Codebase updated.
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    delete:
      summary: Deletes a codebase by its ID.
      operationId: deleteCodebaseByCodebaseId
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:delete
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
      responses:
        '200':
          description: Codebase deleted
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Codebase deleted.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                message: Codebase deleted.
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /codebases/{codebaseId}/references:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of git references for a codebase.
      operationId: getReferencesByCodebaseId
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:list-references
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebase References
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_Offset'
        - $ref: '#/components/parameters/Codebase_Service_API_Limit'
      responses:
        '200':
          $ref: >-
            #/components/responses/Codebase_Service_API_CodebaseReferenceCollection
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /codebases/{codebaseId}/references/{referenceName}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a single git reference for a codebase.
      operationId: findReferenceByCodebaseIdAndReferenceName
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:find-reference
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebase References
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_ReferenceName'
      responses:
        '200':
          $ref: '#/components/responses/Codebase_Service_API_CodebaseReference'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /codebases/{codebaseId}/domain-patterns:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of domain patterns for the specified codebase.
      operationId: getDomainPatternsByCodebaseId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:list-domain-patterns
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: codebase-service
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_Offset'
        - $ref: '#/components/parameters/Codebase_Service_API_Limit'
        - $ref: '#/components/parameters/Codebase_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Codebase_Service_API_DomainPatternCollection'
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    post:
      summary: Creates a domain pattern for the specified codebase.
      operationId: createDomainPatternByCodebaseId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:create-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: codebase-service
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Codebase_Service_API_CreateDomainPatternRequest
      responses:
        '202':
          description: Domain pattern creation initiated.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern is being applied to all associated
                          sites in this codebase.
                        description: >-
                          Confirmation message that the domain pattern is being
                          applied.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns/22222222-2222-2222-2222-222222222222
                message: >-
                  The domain pattern is being applied to all associated sites in
                  this codebase.
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /codebases/{codebaseId}/domain-patterns/{patternId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a domain pattern by codebase ID and pattern ID.
      operationId: findDomainPatternByCodebaseIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:find-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: codebase-service
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_PatternId'
      responses:
        '200':
          $ref: '#/components/responses/Codebase_Service_API_DomainPattern'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    put:
      summary: Updates a domain pattern for the specified codebase.
      operationId: updateDomainPatternByCodebaseIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:update-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: codebase-service
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_PatternId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Codebase_Service_API_UpdateDomainPatternRequest
      responses:
        '202':
          description: Domain pattern update initiated.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern update is being applied to all
                          associated sites in this codebase.
                        description: >-
                          Confirmation message that the domain pattern update is
                          being applied.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns/22222222-2222-2222-2222-222222222222
                message: >-
                  The domain pattern update is being applied to all associated
                  sites in this codebase.
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    delete:
      summary: >-
        Deletes a domain pattern for the specified codebase. Engineering role
        only.
      operationId: deleteDomainPatternByCodebaseIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:delete-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: codebase-service
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Codebase_Service_API_PatternId'
      responses:
        '202':
          description: >
            Domain pattern deletion initiated. The 202 covers two async
            operations: (1) removal of the pattern record and (2) a bulk cleanup
            that disassociates any URLs already generated from this pattern on
            all associated site instances in the codebase. Both operations
            complete before the final settled state is observable.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern is being removed from all
                          associated sites in this codebase.
                        description: >-
                          Confirmation message that the domain pattern is being
                          removed.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns/22222222-2222-2222-2222-222222222222
                message: >-
                  The domain pattern is being removed from all associated sites
                  in this codebase.
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /subscriptions/{subscriptionId}/codebases:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a list of codebases for a subscription.
      operationId: getCodebasesBySubscriptionId
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-codebases
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_SubscriptionId'
        - $ref: '#/components/parameters/Codebase_Service_API_Offset'
        - $ref: '#/components/parameters/Codebase_Service_API_Limit'
        - $ref: '#/components/parameters/Codebase_Service_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Codebase_Service_API_SubscriptionCodebaseCollection
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
    post:
      summary: Creates a new codebase for a subscription.
      operationId: createCodebase
      x-acquia-exposure:
        stability: production
        audience:
          - public
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-codebase
          mcp:
            enabled: false
          ops:
            enabled: false
      x-acquia-operation:
        provider:
          service: codebase-service
      tags:
        - Codebases
      parameters:
        - $ref: '#/components/parameters/Codebase_Service_API_SubscriptionId'
      requestBody:
        $ref: '#/components/requestBodies/Codebase_Service_API_CreateCodebaseRequest'
      responses:
        '200':
          description: Codebase created
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Codebase_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Codebase created.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                message: Codebase created.
        '400':
          $ref: '#/components/responses/Codebase_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Codebase_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Codebase_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Codebase_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Codebase_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Codebase_Service_API_InternalServerError'
      security:
        - Codebase_Service_API_BearerAuth: []
  /subscriptions/{subscriptionId}/sso-domains:
    servers:
      - url: https://api.acquia.com/v3
    post:
      operationId: createSsoDomainBySubscriptionId
      summary: Create a new domain for federated SSO.
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-sso-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SubscriptionId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Federated_Authentication_API_CreateSsoDomain
      responses:
        '202':
          description: >-
            Domain creation accepted. The domain is being added to your
            subscription. To complete verification, add the provided DNS TXT
            record and call the verify action.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: Domain creation has been accepted.
              example:
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-456
                message: Domain creation has been accepted.
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    get:
      summary: Return a list of domains for a subscription.
      operationId: getSsoDomainsBySubscriptionId
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-sso-domains
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SubscriptionId'
        - $ref: '#/components/parameters/Federated_Authentication_API_Offset'
        - $ref: '#/components/parameters/Federated_Authentication_API_Limit'
        - $ref: '#/components/parameters/Federated_Authentication_API_Sort'
        - $ref: '#/components/parameters/Federated_Authentication_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Federated_Authentication_API_SsoDomainCollection
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /subscriptions/{subscriptionId}/identity-providers:
    servers:
      - url: https://api.acquia.com/v3
    post:
      operationId: createIdentityProviderBySubscriptionId
      summary: Create a new Identity Provider.
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-identity-provider
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SubscriptionId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Federated_Authentication_API_CreateIdentityProvider
      responses:
        '202':
          description: >-
            Identity Provider creation initiated. The Identity Provider is being
            provisioned. Poll the Identity Provider resource to check when it
            becomes active.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: Identity Provider creation has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f
                message: Identity Provider creation has been accepted.
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    get:
      summary: Return a list of Identity Providers for a subscription.
      operationId: getIdentityProvidersBySubscriptionId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-identity-providers
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SubscriptionId'
        - $ref: '#/components/parameters/Federated_Authentication_API_Offset'
        - $ref: '#/components/parameters/Federated_Authentication_API_Limit'
        - $ref: '#/components/parameters/Federated_Authentication_API_Sort'
        - $ref: '#/components/parameters/Federated_Authentication_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Federated_Authentication_API_IdentityProviderCollection
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /sso-domains:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Return a list of all accessible domains.
      operationId: getSsoDomains
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sso-domains:list
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_Offset'
        - $ref: '#/components/parameters/Federated_Authentication_API_Limit'
        - $ref: '#/components/parameters/Federated_Authentication_API_Sort'
        - $ref: '#/components/parameters/Federated_Authentication_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Federated_Authentication_API_SsoDomainCollection
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /sso-domains/{domainId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Return details about a specific domain.
      operationId: findSsoDomainBySsoDomainId
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sso-domains:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SsoDomainId'
      responses:
        '200':
          $ref: '#/components/responses/Federated_Authentication_API_SsoDomain'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    delete:
      summary: Delete a domain.
      operationId: deleteSsoDomainBySsoDomainId
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sso-domains:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SsoDomainId'
      responses:
        '202':
          description: Domain deletion accepted. The domain is being deleted.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: Domain deletion has been accepted.
              example:
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-456
                message: Domain deletion has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /sso-domains/{domainId}/actions/verify:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Verify domain ownership via DNS TXT record.
      operationId: verifySsoDomainBySsoDomainId
      tags:
        - Domains
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sso-domains:verify
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_SsoDomainId'
      responses:
        '202':
          description: >-
            Domain verification process initiated. The system will validate the
            DNS TXT record to confirm domain ownership. Poll the domain resource
            and check `health.code` to track progress: `202` in progress, `200`
            verified, `404` record not found.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Domain verification has been accepted.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-456
                message: Domain verification has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /identity-providers:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Return a list of all accessible Identity Providers.
      operationId: getIdentityProviders
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:list
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: '#/components/parameters/Federated_Authentication_API_Offset'
        - $ref: '#/components/parameters/Federated_Authentication_API_Limit'
        - $ref: '#/components/parameters/Federated_Authentication_API_Sort'
        - $ref: '#/components/parameters/Federated_Authentication_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Federated_Authentication_API_IdentityProviderCollection
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /identity-providers/{identityProviderId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Return details about a specific Identity Provider.
      operationId: findIdentityProviderByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '200':
          $ref: '#/components/responses/Federated_Authentication_API_IdentityProvider'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    put:
      summary: Updates an Identity Provider.
      operationId: updateIdentityProviderByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:update
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      requestBody:
        $ref: >-
          #/components/requestBodies/Federated_Authentication_API_UpdateIdentityProvider
      responses:
        '202':
          description: >-
            Identity Provider update initiated. The Identity Provider
            configuration changes are being applied. Poll the Identity Provider
            resource to verify the changes.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: Identity Provider update has been accepted.
              example:
                message: Identity Provider update has been accepted.
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    delete:
      summary: Deletes an Identity Provider.
      operationId: deleteIdentityProviderByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '202':
          description: >-
            Identity Provider deletion accepted. The Identity Provider is being
            deleted.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: Identity Provider deletion has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f
                message: Identity Provider deletion has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /identity-providers/{identityProviderId}/policies/sso:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Get the SSO policy for an Identity Provider.
      operationId: findIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:find-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: >-
                      #/components/schemas/Federated_Authentication_API_SsoPolicy
                  - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
              example:
                status: disabled
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                _embedded:
                  domains:
                    - domain_id: dom-456
                      domain: acme.com
                      subscription_id: sub-123
                      health:
                        code: '200'
                        summary: Verified
                        details: >-
                          The DNS TXT record has been confirmed and the domain
                          is verified.
                      verification_record:
                        type: TXT
                        host: _acquia-challenge.acme.com
                        value: abc123def456
                        health:
                          code: '200'
                          summary: Verified
                          details: >-
                            The TXT record at _acquia-challenge.acme.com matches
                            the expected value.
                      verified_at: '2026-04-15T10:30:00Z'
                      _links:
                        self:
                          href: https://api.acquia.com/v3/sso-domains/dom-456
                        identity_providers:
                          href: >-
                            https://api.acquia.com/v3/identity-providers?filter=domain_id%3Ddom-456
                    - domain_id: dom-789
                      domain: acme.corp
                      subscription_id: sub-123
                      health:
                        code: '200'
                        summary: Verified
                        details: >-
                          The DNS TXT record has been confirmed and the domain
                          is verified.
                      verification_record:
                        type: TXT
                        host: _acquia-challenge.acme.corp
                        value: xyz789abc123
                        health:
                          code: '200'
                          summary: Verified
                          details: >-
                            The TXT record at _acquia-challenge.acme.corp
                            matches the expected value.
                      verified_at: '2026-04-20T09:00:00Z'
                      _links:
                        self:
                          href: https://api.acquia.com/v3/sso-domains/dom-789
                        identity_providers:
                          href: >-
                            https://api.acquia.com/v3/identity-providers?filter=domain_id%3Ddom-789
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    post:
      summary: Create the SSO policy for an Identity Provider.
      operationId: createIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:create-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      requestBody:
        $ref: >-
          #/components/requestBodies/Federated_Authentication_API_CreateSsoPolicyRequest
      responses:
        '202':
          description: >-
            SSO policy creation initiated. The policy is being activated. Poll
            the SSO policy resource to verify activation.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: SSO policy creation has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                message: SSO policy creation has been accepted.
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    put:
      summary: Update the SSO policy for an Identity Provider.
      operationId: updateIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:update-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      requestBody:
        $ref: >-
          #/components/requestBodies/Federated_Authentication_API_UpdateSsoPolicyRequest
      responses:
        '202':
          description: >-
            SSO policy update initiated. The policy changes are being applied.
            Poll the SSO policy resource to verify the changes.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: SSO policy update has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                message: SSO policy update has been accepted.
        '400':
          $ref: '#/components/responses/Federated_Authentication_API_ValidationError'
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
    delete:
      summary: Delete the SSO policy for an Identity Provider.
      operationId: deleteIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:delete-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '202':
          description: >-
            SSO policy deletion initiated. The policy is being deactivated. Poll
            the Identity Provider resource to verify the policy has been
            removed.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: SSO policy deletion has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                message: SSO policy deletion has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /identity-providers/{identityProviderId}/policies/sso/actions/enable:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Enable the SSO policy for an Identity Provider.
      operationId: enableIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:enable-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '202':
          description: >-
            SSO policy enablement initiated. The policy is being enabled and
            will enforce domains. Poll the SSO policy resource to verify the
            status change.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: SSO policy enablement has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                message: SSO policy enablement has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /identity-providers/{identityProviderId}/policies/sso/actions/disable:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Disable the SSO policy for an Identity Provider.
      operationId: disableIdentityProviderSSOPolicyByIdentityProviderId
      tags:
        - Identity Providers
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: identity-providers:disable-sso-policy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: identity-service
      parameters:
        - $ref: >-
            #/components/parameters/Federated_Authentication_API_IdentityProviderId
      responses:
        '202':
          description: >-
            SSO policy disablement initiated. The policy is being disabled and
            will no longer enforce domains. Poll the SSO policy resource to
            verify the status change.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Federated_Authentication_API_Message'
                  - type: object
                    properties:
                      message:
                        const: SSO policy disablement has been accepted.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/identity-providers/9078ead6-dfc9-4868-8800-723fb6da706f/policies/sso
                message: SSO policy disablement has been accepted.
        '401':
          $ref: >-
            #/components/responses/Federated_Authentication_API_UnauthorizedError
        '403':
          $ref: '#/components/responses/Federated_Authentication_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Federated_Authentication_API_NotFoundError'
        '409':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InvalidOperationError
        '500':
          $ref: >-
            #/components/responses/Federated_Authentication_API_InternalServerError
      security:
        - Federated_Authentication_API_BearerAuth: []
  /tags:
    servers:
      - url: https://cloud.acquia.com/api-framework/demo-php/api
    get:
      summary: Retrieves a collection of tags.
      operationId: getTags
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: tags:list
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: tag-service
      tags:
        - Tags
      parameters:
        - $ref: '#/components/parameters/Tag_API_Offset'
        - $ref: '#/components/parameters/Tag_API_Limit'
        - $ref: '#/components/parameters/Tag_API_Filter'
        - $ref: '#/components/parameters/Tag_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Tag_API_TagCollection'
        '401':
          $ref: '#/components/responses/Tag_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Tag_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Tag_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Tag_API_InternalServerError'
      security:
        - Tag_API_BearerAuth: []
  /tags/{tagName}:
    servers:
      - url: https://cloud.acquia.com/api-framework/demo-php/api
    get:
      summary: Retrieves a tag by tag name.
      operationId: findTagByTagName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: tags:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: tag-service
      tags:
        - Tags
      parameters:
        - $ref: '#/components/parameters/Tag_API_TagName'
      responses:
        '200':
          $ref: '#/components/responses/Tag_API_Tag'
        '401':
          $ref: '#/components/responses/Tag_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Tag_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Tag_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Tag_API_InternalServerError'
      security:
        - Tag_API_BearerAuth: []
    put:
      summary: Creates a tag if tag does not exist else updates the tag by tag name.
      operationId: saveTagByTagName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: tags:update
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: tag-service
      tags:
        - Tags
      parameters:
        - $ref: '#/components/parameters/Tag_API_TagName'
      requestBody:
        $ref: '#/components/requestBodies/Tag_API_SaveTagRequest'
      responses:
        '202':
          description: Create/Updates a tag
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Tag_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: The tag has been saved.
                        description: Confirmation message that the tag is saved
              example:
                _links:
                  self:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags/tag-3
                message: The tag has been saved.
        '400':
          $ref: '#/components/responses/Tag_API_ValidationError'
        '401':
          $ref: '#/components/responses/Tag_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Tag_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Tag_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Tag_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Tag_API_InternalServerError'
      security:
        - Tag_API_BearerAuth: []
    delete:
      summary: Deletes a tag by tag name.
      operationId: deleteTagByTagName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: tags:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: tag-service
      tags:
        - Tags
      parameters:
        - $ref: '#/components/parameters/Tag_API_TagName'
      responses:
        '200':
          description: Deletes a tag
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Tag_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: The tag has been deleted.
                        description: Confirmation message that the tag is deleted
              example:
                _links:
                  self:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags/tag-1
                message: The tag has been deleted.
        '401':
          $ref: '#/components/responses/Tag_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Tag_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Tag_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Tag_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Tag_API_InternalServerError'
      security:
        - Tag_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/domains:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: getDomainsBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-domains
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a collection of CDN domains for a subscription
      description: >
        Retrieves a paginated list of CDN domains for the specified
        subscription.


        **Filtering:**
                - Format: `field=value` or `field<operator>value`
                - AND logic: semicolon (`;`) — `status=active;application_name=my-app`
                - OR logic: comma (`,`) — `status=active,status=pending`

        **Sorting:**

        - Format: Comma-delimited fields. Prefix with `-` for descending.

        - Example: `domain,-created_at`
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_Offset'
        - $ref: '#/components/parameters/CDN_API_Limit'
        - $ref: '#/components/parameters/CDN_API_Filter'
        - $ref: '#/components/parameters/CDN_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_DomainCollection'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/domains/{domainName}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a domain by domain name.
      description: >-
        Retrieves the full details of a CDN domain within a subscription,
        identified by its fully qualified domain name.
      operationId: findDomainBySubscriptionUuidAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:find-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_DomainName'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_Domain'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/domains/{domainName}/actions/provision:
    servers:
      - url: https://api.acquia.com/v3
    post:
      operationId: provisionDomainBySubscriptionUuidAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:provision-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Provisions a domain for CDN services
      description: >-
        Provisions a domain for CDN services within a subscription by
        associating it with an environment.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_DomainName'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_ProvisionCdnForDomainRequest'
      responses:
        '202':
          $ref: '#/components/responses/CDN_API_DomainCdnProvisioningAccepted'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/domains/{domainName}/actions/deprovision:
    servers:
      - url: https://api.acquia.com/v3
    post:
      operationId: deprovisionDomainBySubscriptionUuidAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:deprovision-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Deprovisions a domain from CDN services
      description: Deprovisions a domain for CDN services within a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_DomainName'
      responses:
        '202':
          $ref: '#/components/responses/CDN_API_DomainCdnDeprovisioningAccepted'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /environments/{environmentId}/actions/purge-cdn:
    servers:
      - url: https://api.acquia.com/v3
    post:
      operationId: purgeCdnByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:purge-cdn
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Creates a CDN cache purge request
      description: >
        Creates a request to purge cached content from the CDN for the specified
        environment.


        **Resource Types** (specified in the request body):

        - `urls` - Purge specific URLs

        - `tags` - Purge by cache tags

        - `domains` - Purge entire domains

        - `everything` - Purge all content in the environment
      parameters:
        - $ref: '#/components/parameters/CDN_API_EnvironmentId'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_CreatePurgeRequest'
      responses:
        '202':
          $ref: '#/components/responses/CDN_API_PurgeAccepted'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/rulesets:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: getSecurityRuleSetsBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-security-rule-sets
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a collection of security rulesets.
      description: Retrieves security rulesets for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_Offset'
        - $ref: '#/components/parameters/CDN_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_SecurityRuleSetCollection'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/rulesets/{ruleSetId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: findSecurityRuleSetBySubscriptionUuidAndRuleSetId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:find-security-rule-set
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a security ruleset.
      description: Retrieves a security ruleset for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_RuleSetId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_SecurityRuleSet'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    put:
      operationId: updateSecurityRuleSetBySubscriptionUuidAndRuleSetId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:update-security-rule-set
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Updates a security rulesets.
      description: Updates a security rulesets for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_RuleSetId'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_UpdateSecurityRuleSetRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_SecurityRuleSetUpdated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/ip-rules:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: getIpRulesBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-ip-rules
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a collection of IP rules.
      description: Retrieves IP rules for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_Filter'
        - $ref: '#/components/parameters/CDN_API_Sort'
        - $ref: '#/components/parameters/CDN_API_Offset'
        - $ref: '#/components/parameters/CDN_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_IpRuleCollection'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    post:
      operationId: createIpRuleBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-ip-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Creates an IP rule.
      description: Creates an IP rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_CreateIpRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_IpRuleCreated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/ip-rules/{ipRuleId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: findIpRuleBySubscriptionUuidAndIpRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:find-ip-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves an IP rule.
      description: Retrieves an IP rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_IpRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_IpRule'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    put:
      operationId: updateIpRuleBySubscriptionUuidAndIpRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:update-ip-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Updates an IP rule.
      description: Updates an IP rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_IpRuleId'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_UpdateIpRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_IpRuleUpdated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    delete:
      operationId: deleteIpRuleBySubscriptionUuidAndIpRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:delete-ip-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Deletes an IP rule.
      description: Deletes an IP rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_IpRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_IpRuleDeleted'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/custom-rules:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: getCustomRulesBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-custom-rules
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a collection of custom security rules.
      description: Retrieves custom security rules for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_Offset'
        - $ref: '#/components/parameters/CDN_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_CustomRuleCollection'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    post:
      operationId: createCustomRuleBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-custom-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Creates a custom security rule.
      description: Creates a custom security rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_CreateCustomRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_CustomRuleCreated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/custom-rules/{customRuleId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: findCustomRuleBySubscriptionUuidAndCustomRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:find-custom-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a custom security rule.
      description: Retrieves a custom security rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_CustomRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_CustomRule'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    put:
      operationId: updateCustomRuleBySubscriptionUuidAndCustomRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:update-custom-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Updates a custom security rule.
      description: Updates a custom security rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_CustomRuleId'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_UpdateCustomRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_CustomRuleUpdated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    delete:
      operationId: deleteCustomRuleBySubscriptionUuidAndCustomRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:delete-custom-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Deletes a custom security rule.
      description: Deletes a custom security rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_CustomRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_CustomRuleDeleted'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/rate-limiting-rules:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: getRateLimitingRulesBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:list-rate-limiting-rules
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a collection of rate limiting rules.
      description: Retrieves rate limiting rules for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_Filter'
        - $ref: '#/components/parameters/CDN_API_Sort'
        - $ref: '#/components/parameters/CDN_API_Offset'
        - $ref: '#/components/parameters/CDN_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_RateLimitingRuleCollection'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    post:
      operationId: createRateLimitingRuleBySubscriptionUuid
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:create-rate-limiting-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Creates a rate limiting rule.
      description: Creates a rate limiting rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_CreateRateLimitingRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_RateLimitingRuleCreated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /subscriptions/{subscriptionUuid}/config/security/rate-limiting-rules/{rateLimitingRuleId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      operationId: findRateLimitingRuleBySubscriptionUuidAndRateLimitingRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:find-rate-limiting-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Retrieves a rate limiting rule.
      description: Retrieves a rate limiting rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_RateLimitingRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_RateLimitingRule'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    put:
      operationId: updateRateLimitingRuleBySubscriptionUuidAndRateLimitingRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:update-rate-limiting-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Updates a rate limiting rule.
      description: Updates a rate limiting rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_RateLimitingRuleId'
      requestBody:
        $ref: '#/components/requestBodies/CDN_API_UpdateRateLimitingRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_RateLimitingRuleUpdated'
        '400':
          $ref: '#/components/responses/CDN_API_ValidationError'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
    delete:
      operationId: deleteRateLimitingRuleBySubscriptionUuidAndRateLimitingRuleId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: subscriptions:delete-rate-limiting-rule
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: cdn-service
      tags:
        - CDNs
      summary: Deletes a rate limiting rule.
      description: Deletes a rate limiting rule for a subscription.
      parameters:
        - $ref: '#/components/parameters/CDN_API_SubscriptionUuid'
        - $ref: '#/components/parameters/CDN_API_RateLimitingRuleId'
      responses:
        '200':
          $ref: '#/components/responses/CDN_API_RateLimitingRuleDeleted'
        '401':
          $ref: '#/components/responses/CDN_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/CDN_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/CDN_API_NotFoundError'
        '409':
          $ref: '#/components/responses/CDN_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/CDN_API_InternalServerError'
      security:
        - CDN_API_BearerAuth: []
  /codebases/{codebaseId}/environments:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of environments for the specified codebase.
      operationId: getEnvironmentsByCodebaseId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:list-environments
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
        - $ref: '#/components/parameters/Environment_Service_API_Filter'
      responses:
        '200':
          $ref: >-
            #/components/responses/Environment_Service_API_FilterableEnvironmentCollection
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /codebases/{codebaseId}/environments/{environmentId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves details for an environment by codebase and environment ID.
      operationId: findEnvironmentByCodebaseIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: codebases:find-environment
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_CodebaseId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_Environment'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /sites/{siteId}/environments:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of environments for the specified site.
      operationId: getEnvironmentsBySiteId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: sites:list-environments
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_EnvironmentCollection'
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /private-networks/{privateNetworkId}/environments:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: >-
        Retrieves a collection of environments associated with the specified
        private network.
      operationId: getEnvironmentsByPrivateNetworkId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: private-networks:list-environments
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_PrivateNetworkId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_EnvironmentCollection'
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Get environment details.
      operationId: findEnvironmentByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_Environment'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Modifies properties settings for the specified environment.
      operationId: updateEnvironmentByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:update
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_UpdateEnvironmentRequest
      responses:
        '202':
          description: Environment update started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Environment update started.
                        description: >-
                          Confirmation message that the environment update has
                          been started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc
                message: Environment update started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/actions/enable-protection-mode:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Enable Environment Protection mode.
      operationId: enableEnvironmentProtectionModeByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:enable-protection-mode
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Enable protection mode initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Environment protection mode enabled.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323
                message: Environment protection mode enabled.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/actions/disable-protection-mode:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Disable Environment Protection mode.
      operationId: disableEnvironmentProtectionModeByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:disable-protection-mode
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Disable protection mode initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Environment protection mode disabled.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323
                message: Environment protection mode disabled.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/actions/clear-caches:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Clears caches for the specified environment.
      operationId: clearEnvironmentCachesByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:clear-caches
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: '#/components/requestBodies/Environment_Service_API_ClearCachesRequest'
      responses:
        '202':
          description: Cache clear started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Varnish domain cache clear started.
                        description: >-
                          Confirmation message that the cache clear has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc
                message: Varnish domain cache clear started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/eips:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of egress IPs for the specified environment.
      operationId: getEgressIpsByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:list-egress-ips
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_EgressIpCollection'
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/private-network:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the private network associated with the specified environment.
      operationId: findPrivateNetworkByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find-private-network
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_PrivateNetwork'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Associates the specified environment with a private network.
      operationId: saveEnvironmentPrivateNetworkByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:associate-private-network
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_AssociatePrivateNetworkRequest
      responses:
        '202':
          description: Private network association started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Associating private network started.
                        description: >-
                          Confirmation message that the association has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/private-network
                message: Associating private network started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    delete:
      summary: Disassociates the specified environment from its private network.
      operationId: deleteEnvironmentPrivateNetworkByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:disassociate-private-network
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Private network disassociation started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          Disassociating environment from private network
                          started.
                        description: >-
                          Confirmation message that the disassociation has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/private-network
                message: Disassociating environment from private network started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/trusted-proxies:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the trusted proxy configuration for the specified environment.
      operationId: findTrustedProxiesByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find-trusted-proxies
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_TrustedProxies'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Updates the trusted proxy configuration for the specified environment.
      operationId: updateTrustedProxiesByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:update-trusted-proxies
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_UpdateTrustedProxiesRequest
      responses:
        '200':
          description: Trusted proxy configuration updated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Trusted Proxies updated successfully.
                        description: >-
                          Confirmation message that the configuration has been
                          updated.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/trusted-proxies
                message: Trusted Proxies updated successfully.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/deployments:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of deployments for the specified environment.
      operationId: getDeploymentsByEnvironmentId
      tags:
        - Deployments
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:list-deployments
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
        - $ref: '#/components/parameters/Environment_Service_API_Filter'
        - $ref: '#/components/parameters/Environment_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DeploymentCollection'
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    post:
      summary: Starts a deployment for the specified environment.
      operationId: createDeploymentByEnvironmentId
      tags:
        - Deployments
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:create-deployment
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_StartDeploymentRequest
      responses:
        '202':
          description: Deployment started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Deployment started.
                        description: >-
                          Confirmation message that the deployment has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/deployments/e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                message: Deployment started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/code-deploy:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the code deploy concurrency setting for the environment.
      operationId: findCodeDeployByEnvironmentId
      tags:
        - Code Deploys
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find-code-deploy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_CodeDeploy'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Updates the code deploy concurrency setting for the environment.
      operationId: updateCodeDeployByEnvironmentId
      tags:
        - Code Deploys
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:update-code-deploy
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_UpdateCodeDeployRequest
      responses:
        '200':
          description: Code deploy concurrency setting updated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Code deploy settings updated successfully.
                        description: >-
                          Confirmation message that the concurrency setting has
                          been updated.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/code-deploy
                message: Code deploy settings updated successfully.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/site-instances:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Associates a site with the specified environment.
      operationId: createSiteInstanceByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:create-site-instance
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_CreateSiteInstanceRequest
      responses:
        '202':
          description: Site instance creation started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance creation started.
                        description: >-
                          Confirmation message that site association has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance creation started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/site-instances/actions/reorder:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Updates the priority order of site instances for the environment.
      operationId: reorderSiteInstancesByEnvironmentId
      tags:
        - Site Instances
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:reorder-site-instances
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_ReorderSiteInstancesRequest
      responses:
        '200':
          description: Site instances reordered successfully
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instances reordered successfully.
                        description: >-
                          Confirmation message that the site instances have been
                          reordered.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/site-instances
                message: Site instances reordered successfully.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Get site instance details.
      operationId: findSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_SiteInstance'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    delete:
      summary: Dissociates a site and environment with no grace period.
      operationId: deleteSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Site instance deletion started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance deletion started.
                        description: >-
                          Confirmation message that the deletion has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance deletion started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/files:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: >-
        Copies files from one environment to another for the specified site
        instance.
      operationId: copySiteInstanceFilesBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:copy-files
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_CopySiteInstanceFilesRequest
      responses:
        '202':
          description: File copy started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: File copy started.
                        description: >-
                          Confirmation message that the file copy has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323
                message: File copy started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/cancel:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Dissociates a site and environment.
      operationId: cancelSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:cancel
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Site instance cancellation started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance cancellation started.
                        description: >-
                          Confirmation message that the cancellation has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance cancellation started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/enable-protection-mode:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Enable Site Instance Protection mode.
      operationId: enableSiteInstanceProtectionModeBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:enable-protection-mode
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Enable protection mode initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance protection mode enabled.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance protection mode enabled.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/disable-protection-mode:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Disable Site Instance Protection mode.
      operationId: disableSiteInstanceProtectionModeBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:disable-protection-mode
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Disable protection mode initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance protection mode disabled.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance protection mode disabled.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/inherit-protection-mode:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Inherit Site Instance Protection mode.
      operationId: inheritSiteInstanceProtectionModeBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:inherit-protection-mode
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Inherit protection mode initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          Site instance protection mode inherited from
                          environment.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                message: Site instance protection mode inherited from environment.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/recover:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Recovers a site instance that is scheduled for deletion
      operationId: recoverSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:recover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Site instance restoration started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance restoration started.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                  parent:
                    href: https://api.acquia.com/v3/site-instances
                message: Site instance restoration started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/schedule-delete:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Schedules a site instance for deletion.
      operationId: scheduleDeleteSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:schedule-delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Site instance deletion scheduled
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance deletion scheduled.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                  parent:
                    href: https://api.acquia.com/v3/site-instances
                message: Site instance deletion scheduled.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/domains:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of domains for the specified site instance.
      operationId: getDomainsBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:list-domains
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
        - $ref: '#/components/parameters/Environment_Service_API_Filter'
        - $ref: '#/components/parameters/Environment_Service_API_Sort'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DomainCollection'
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/domains/{domainName}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves details for the specified domain on a site instance.
      operationId: findDomainBySiteIdAndEnvironmentIdAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_DomainName'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_Domain'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Adds a domain to the specified site instance.
      operationId: saveDomainBySiteIdAndEnvironmentIdAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:update-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_DomainName'
      responses:
        '202':
          description: Domain addition started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Domain addition started.
                        description: >-
                          Confirmation message that the domain addition has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains/example.com
                message: Domain addition started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    delete:
      summary: Removes a domain from the specified site instance.
      operationId: deleteDomainBySiteIdAndEnvironmentIdAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:delete-domain
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_DomainName'
      responses:
        '202':
          description: Domain removal started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Domain removal started.
                        description: >-
                          Confirmation message that the domain removal has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains/example.com
                message: Domain removal started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/domains/{domainName}/status:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the DNS status for the specified domain on a site instance.
      operationId: findDomainStatusBySiteIdAndEnvironmentIdAndDomainName
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find-domain-status
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_DomainName'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DomainStatus'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/database:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves database details for the specified site instance.
      operationId: findDatabaseBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find-database
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_Database'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    post:
      summary: >-
        Copies a database from another environment to the specified site
        instance.
      operationId: copySiteInstanceDatabaseBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:copy-database
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_CopySiteInstanceDatabaseRequest
      responses:
        '202':
          description: Database copy started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Database copy started.
                        description: >-
                          Confirmation message that the database copy has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database
                message: Database copy started.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/database/connection:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: >-
        Retrieves database connection credentials for the specified site
        instance.
      operationId: findDatabaseConnectionBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find-database-connection
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DatabaseConnection'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/database/backups:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: >-
        Retrieves a collection of database backups for the specified site
        instance.
      operationId: getDatabaseBackupsBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:list-database-backups
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
        - $ref: '#/components/parameters/Environment_Service_API_Filter'
        - $ref: '#/components/parameters/Environment_Service_API_Sort'
      responses:
        '200':
          $ref: >-
            #/components/responses/Environment_Service_API_DatabaseBackupCollection
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    post:
      summary: Creates a database backup for the specified site instance.
      operationId: createDatabaseBackupBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:create-database-backup
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Database backup creation started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Database backup started.
                        description: >-
                          Confirmation message that the database backup has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups
                message: Database backup started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/database/backups/{backupId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves details for the specified database backup.
      operationId: findDatabaseBackupBySiteIdAndEnvironmentIdAndBackupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:find-database-backup
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_BackupId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DatabaseBackup'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    delete:
      summary: Deletes the specified database backup.
      operationId: deleteDatabaseBackupBySiteIdAndEnvironmentIdAndBackupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:delete-database-backup
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_BackupId'
      responses:
        '202':
          description: Database backup deletion started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Database backup deletion started.
                        description: >-
                          Confirmation message that the deletion has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups/a1b2c3d4-e5f6-7890-abcd-ef1234567890
                message: Database backup deletion started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/database/backups/{backupId}/actions/restore:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Restores the specified database backup to the site instance.
      operationId: restoreDatabaseBackupBySiteIdAndEnvironmentIdAndBackupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:restore-database-backup
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instance Databases
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_BackupId'
      responses:
        '202':
          description: Database backup restore started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Database restore started.
                        description: >-
                          Confirmation message that the restore has been
                          started.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups/a1b2c3d4-e5f6-7890-abcd-ef1234567890
                message: Database restore started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /deployments/{deploymentId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the status of a deployment by deployment ID.
      operationId: findDeploymentByDeploymentId
      tags:
        - Deployments
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: deployments:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_DeploymentId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_Deployment'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /deployments/{deploymentId}/actions/stop:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Stops a deployment by sending a stop request.
      operationId: stopDeploymentByDeploymentId
      tags:
        - Deployments
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: deployments:stop
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_DeploymentId'
      responses:
        '202':
          description: Deployment stop initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Deployment stop initiated.
                        description: >-
                          Confirmation message that the deployment stop has been
                          initiated.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/deployments/e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                message: Deployment stop initiated.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /deployments/{deploymentId}/actions/terminate:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Terminates a deployment immediately.
      operationId: terminateDeploymentByDeploymentId
      tags:
        - Deployments
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: deployments:terminate
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_DeploymentId'
      responses:
        '202':
          description: Deployment termination is initiated
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Deployment termination initiated.
                        description: >-
                          Confirmation message that the deployment termination
                          has been initiated.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/deployments/e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                message: Deployment termination initiated.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /site-instances/{siteId}.{environmentId}/actions/wipe:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Wipes a site instance.
      operationId: wipeSiteInstanceBySiteIdAndEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: site-instances:wipe
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      tags:
        - Site Instances
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_SiteId'
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      responses:
        '202':
          description: Site instance wipe started
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: Site instance wipe started.
                        description: Confirmation message
              example:
                _links:
                  self:
                    href: >-
                      https://cloud.acquia.com/api/site-instances/d3f7270e-c45f-4801-9308-5e8afe84a323.e3f7270e-c45f-4801-9308-5e8afe84a323
                  parent:
                    href: https://cloud.acquia.com/api/site-instances
                message: Site instance wipe started.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/domain-patterns:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of domain patterns for the specified environment.
      operationId: getDomainPatternsByEnvironmentId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:list-domain-patterns
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_Offset'
        - $ref: '#/components/parameters/Environment_Service_API_Limit'
        - $ref: '#/components/parameters/Environment_Service_API_Sort'
      responses:
        '200':
          $ref: >-
            #/components/responses/Environment_Service_API_DomainPatternCollection
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    post:
      summary: Creates a domain pattern for the specified environment.
      operationId: createDomainPatternByEnvironmentId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:create-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_CreateDomainPatternRequest
      responses:
        '202':
          description: Domain pattern creation initiated.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern is being applied to all associated
                          sites in this environment.
                        description: >-
                          Confirmation message that the domain pattern is being
                          applied.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns/11111111-1111-1111-1111-111111111111
                message: >-
                  The domain pattern is being applied to all associated sites in
                  this environment.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /environments/{environmentId}/domain-patterns/{patternId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a domain pattern by environment ID and pattern ID.
      operationId: findDomainPatternByEnvironmentIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_PatternId'
      responses:
        '200':
          $ref: '#/components/responses/Environment_Service_API_DomainPattern'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    put:
      summary: Updates a domain pattern for the specified environment.
      operationId: updateDomainPatternByEnvironmentIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:update-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_PatternId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Environment_Service_API_UpdateDomainPatternRequest
      responses:
        '202':
          description: Domain pattern update initiated.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern update is being applied to all
                          associated sites in this environment.
                        description: >-
                          Confirmation message that the domain pattern update is
                          being applied.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns/11111111-1111-1111-1111-111111111111
                message: >-
                  The domain pattern update is being applied to all associated
                  sites in this environment.
        '400':
          $ref: '#/components/responses/Environment_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
    delete:
      summary: >-
        Deletes a domain pattern for the specified environment. Engineering role
        only.
      operationId: deleteDomainPatternByEnvironmentIdAndPatternId
      tags:
        - Domain Patterns
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:delete-domain-pattern
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: environment-service
      parameters:
        - $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
        - $ref: '#/components/parameters/Environment_Service_API_PatternId'
      responses:
        '202':
          description: >
            Domain pattern deletion initiated. The 202 covers two async
            operations: (1) removal of the pattern record and (2) a bulk cleanup
            that disassociates any URLs already generated from this pattern on
            all associated site instances in the environment. Both operations
            complete before the final settled state is observable.
          content:
            application/hal+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Environment_Service_API_Message'
                  - type: object
                    properties:
                      message:
                        type: string
                        const: >-
                          The domain pattern is being removed from all
                          associated sites in this environment.
                        description: >-
                          Confirmation message that the domain pattern is being
                          removed.
              example:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns/11111111-1111-1111-1111-111111111111
                message: >-
                  The domain pattern is being removed from all associated sites
                  in this environment.
        '401':
          $ref: '#/components/responses/Environment_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Environment_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Environment_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Environment_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Environment_Service_API_InternalServerError'
      security:
        - Environment_Service_API_BearerAuth: []
  /failover-groups:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a collection of failover groups.
      operationId: getFailoverGroups
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:list
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      description: >
        Retrieves a collection of failover groups. Use the `filter` parameter to
        scope results by source environment.


        Filter syntax:

        - By source environment: `filter=environment_id:<id>`
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_Offset'
        - $ref: '#/components/parameters/Failover_Service_API_Limit'
        - $ref: '#/components/parameters/Failover_Service_API_Filter'
      responses:
        '200':
          $ref: '#/components/responses/Failover_Service_API_FailoverGroupCollection'
        '400':
          $ref: '#/components/responses/Failover_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
    post:
      summary: Creates a new failover group.
      operationId: createFailoverGroup
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:create
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      requestBody:
        $ref: >-
          #/components/requestBodies/Failover_Service_API_CreateFailoverGroupRequest
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_CreateFailoverGroupResponse
        '400':
          $ref: '#/components/responses/Failover_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
  /failover-groups/{failoverGroupId}:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves a failover group by ID.
      operationId: findFailoverGroupByFailoverGroupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:find
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
      responses:
        '200':
          $ref: '#/components/responses/Failover_Service_API_FailoverGroup'
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
    delete:
      summary: Deletes a failover group by ID.
      operationId: deleteFailoverGroupByFailoverGroupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:delete
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_DeleteFailoverGroupResponse
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
  /failover-groups/{failoverGroupId}/actions/failover:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Initiates failover for a failover group.
      operationId: failoverFailoverGroupByFailoverGroupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:failover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_FailoverGroupFailoverResponse
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
  /failover-groups/{failoverGroupId}/actions/revert-failover:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Initiates a revert failover for a failover group.
      operationId: revertFailoverFailoverGroupByFailoverGroupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:revert-failover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_FailoverGroupRevertFailoverResponse
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
  /failover-groups/{failoverGroupId}/actions/sync:
    servers:
      - url: https://api.acquia.com/v3
    post:
      summary: Initiates a sync for a failover group.
      operationId: syncFailoverGroupByFailoverGroupId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: failover-groups:sync
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Failover Groups
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_FailoverGroupSyncResponse
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
  /environments/{environmentId}/multi-region-failover:
    servers:
      - url: https://api.acquia.com/v3
    get:
      summary: Retrieves the multi-region failover status for an environment.
      operationId: findMultiRegionFailoverByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:find-multi-region-failover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_EnvironmentId'
      responses:
        '200':
          $ref: >-
            #/components/responses/Failover_Service_API_MultiRegionFailoverStatus
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
    put:
      summary: Enables multi-region failover for an environment.
      operationId: saveMultiRegionFailoverByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:update-multi-region-failover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_EnvironmentId'
      requestBody:
        $ref: >-
          #/components/requestBodies/Failover_Service_API_SaveMultiRegionFailoverRequest
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_SaveMultiRegionFailoverResponse
        '400':
          $ref: '#/components/responses/Failover_Service_API_ValidationError'
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
    delete:
      summary: Disables multi-region failover for an environment.
      operationId: deleteMultiRegionFailoverByEnvironmentId
      x-acquia-exposure:
        channels:
          rest:
            enabled: true
          cli:
            enabled: true
            command: environments:delete-multi-region-failover
        stability: development
        audience:
          - public
      x-acquia-operation:
        provider:
          service: failover-service
      tags:
        - Environments
      parameters:
        - $ref: '#/components/parameters/Failover_Service_API_EnvironmentId'
      responses:
        '202':
          $ref: >-
            #/components/responses/Failover_Service_API_DeleteMultiRegionFailoverResponse
        '401':
          $ref: '#/components/responses/Failover_Service_API_UnauthorizedError'
        '403':
          $ref: '#/components/responses/Failover_Service_API_ForbiddenError'
        '404':
          $ref: '#/components/responses/Failover_Service_API_NotFoundError'
        '409':
          $ref: '#/components/responses/Failover_Service_API_InvalidOperationError'
        '500':
          $ref: '#/components/responses/Failover_Service_API_InternalServerError'
      security:
        - Failover_Service_API_BearerAuth: []
components:
  parameters:
    Site_Service_API_siteId:
      $ref: '#/components/parameters/Site_Service_API_SiteId'
    Site_Service_API_codebaseId:
      $ref: '#/components/parameters/Site_Service_API_CodebaseId'
    Site_Service_API_subscriptionId:
      $ref: '#/components/parameters/Site_Service_API_SubscriptionId'
    Site_Service_API_environmentId:
      $ref: '#/components/parameters/Site_Service_API_EnvironmentId'
    Site_Service_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Site_Service_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Site_Service_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Site_Service_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Site_Service_API_SiteId:
      name: siteId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
        example: 12345678-1234-1234-1234-123456789012
      description: Unique identifier for the site
    Site_Service_API_CodebaseId:
      name: codebaseId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
        example: 550e8400-e29b-41d4-a716-446655441212
      description: Unique identifier for the codebase
    Site_Service_API_SubscriptionId:
      name: subscriptionId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
        example: 550e8300-e29b-41d4-a716-446655441212
      description: Unique identifier for the subscription
    Site_Service_API_EnvironmentId:
      name: environmentId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
        example: 0ebce493-9d09-479d-a9a8-138a206fa687
      description: Unique identifier for the environment
    SSH_Key_Service_API_SshKeyId:
      name: sshKeyId
      in: path
      description: The SSH key's unique identifier.
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      example: 981b7910-2fe9-11e9-b210-d663bd873d93
    SSH_Key_Service_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    SSH_Key_Service_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    SSH_Key_Service_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals (default if no operator specified)

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `label=primary` - Filter by label equals primary

        - `fingerprint=@SHA256` - Filter by fingerprint containing "SHA256"

        - `label=primary;fingerprint=@SHA256` - label is primary AND fingerprint
        contains SHA256

        - `label=primary,label=backup` - label is primary OR backup
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: label=primary;fingerprint=@SHA256
    SSH_Key_Service_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Codebase_Service_API_codebaseId:
      $ref: '#/components/parameters/Codebase_Service_API_CodebaseId'
    Codebase_Service_API_patternId:
      $ref: '#/components/parameters/Codebase_Service_API_PatternId'
    Codebase_Service_API_referenceName:
      $ref: '#/components/parameters/Codebase_Service_API_ReferenceName'
    Codebase_Service_API_subscriptionId:
      $ref: '#/components/parameters/Codebase_Service_API_SubscriptionId'
    Codebase_Service_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Codebase_Service_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Codebase_Service_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Codebase_Service_API_CodebaseId:
      name: codebaseId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the codebase.
    Codebase_Service_API_ReferenceName:
      name: referenceName
      in: path
      required: true
      description: >-
        Name of the git reference (branch or tag). Slashes must be URL-encoded
        as `%2F` in the path (e.g., `feature%2Fbranch-name`).
      schema:
        type: string
        pattern: ^[^/]+$
    Codebase_Service_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Codebase_Service_API_PatternId:
      name: patternId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the domain pattern.
    Codebase_Service_API_SubscriptionId:
      name: subscriptionId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the subscription
    Federated_Authentication_API_SubscriptionId:
      name: subscriptionId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the subscription.
    Federated_Authentication_API_SsoDomainId:
      name: domainId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the domain.
    Federated_Authentication_API_IdentityProviderId:
      name: identityProviderId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the identity provider.
    Federated_Authentication_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Federated_Authentication_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Federated_Authentication_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Federated_Authentication_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Tag_API_tagName:
      $ref: '#/components/parameters/Tag_API_TagName'
    Tag_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Tag_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Tag_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Tag_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Tag_API_TagName:
      name: tagName
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the tag.
    CDN_API_SubscriptionUuid:
      name: subscriptionUuid
      in: path
      required: true
      description: The unique identifier of the subscription.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_DomainName:
      name: domainName
      in: path
      required: true
      description: The fully qualified domain name.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]?(\.[a-zA-Z]{2,})+$
    CDN_API_EnvironmentId:
      name: environmentId
      in: path
      required: true
      description: The unique identifier of the environment.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_RuleSetId:
      name: ruleSetId
      in: path
      required: true
      description: The unique identifier of the security rule set.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_IpRuleId:
      name: ipRuleId
      in: path
      required: true
      description: The unique identifier of the IP rule.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_CustomRuleId:
      name: customRuleId
      in: path
      required: true
      description: The unique identifier of the custom security rule.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_RateLimitingRuleId:
      name: rateLimitingRuleId
      in: path
      required: true
      description: The unique identifier of the rate limiting rule.
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
    CDN_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    CDN_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    CDN_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    CDN_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Environment_Service_API_environmentId:
      $ref: '#/components/parameters/Environment_Service_API_EnvironmentId'
    Environment_Service_API_siteId:
      $ref: '#/components/parameters/Environment_Service_API_SiteId'
    Environment_Service_API_deploymentId:
      $ref: '#/components/parameters/Environment_Service_API_DeploymentId'
    Environment_Service_API_codebaseId:
      $ref: '#/components/parameters/Environment_Service_API_CodebaseId'
    Environment_Service_API_domainName:
      $ref: '#/components/parameters/Environment_Service_API_DomainName'
    Environment_Service_API_backupId:
      $ref: '#/components/parameters/Environment_Service_API_BackupId'
    Environment_Service_API_privateNetworkId:
      $ref: '#/components/parameters/Environment_Service_API_PrivateNetworkId'
    Environment_Service_API_patternId:
      $ref: '#/components/parameters/Environment_Service_API_PatternId'
    Environment_Service_API_CodebaseId:
      name: codebaseId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Codebase identifier
    Environment_Service_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Environment_Service_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Environment_Service_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Environment_Service_API_EnvironmentId:
      name: environmentId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the environment.
    Environment_Service_API_SiteId:
      name: siteId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the site.
    Environment_Service_API_PrivateNetworkId:
      name: privateNetworkId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Private network identifier
    Environment_Service_API_Sort:
      name: sort
      in: query
      description: >
        Sort the result set by one or more fields.

        **Format:** `field1,field2,-field3`

        **Sort order:**

        - No prefix - Ascending order (default)

        - `-` prefix - Descending order

        **Multiple fields:**

        - Fields are processed in the order specified

        - First field has highest priority

        - Use comma to separate multiple fields

        **Examples:**

        - `name` - Sort by name in ascending order

        - `-created_at` - Sort by created_at in descending order

        - `name,-created_at` - Sort by name ascending, then created_at
        descending

        - `status,name,-updated_at` - Sort by status ascending, then name
        ascending, then updated_at descending
      required: false
      schema:
        type: string
        pattern: ^(-?[a-zA-Z0-9_]+)(,-?[a-zA-Z0-9_]+)*$
      example: name,-created_at
    Environment_Service_API_DomainName:
      name: domainName
      in: path
      required: true
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*$
      description: The fully-qualified domain name (e.g., www.example.com).
    Environment_Service_API_BackupId:
      name: backupId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Database backup identifier
    Environment_Service_API_DeploymentId:
      name: deploymentId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the deployment.
    Environment_Service_API_PatternId:
      name: patternId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the domain pattern.
    Failover_Service_API_environmentId:
      $ref: '#/components/parameters/Failover_Service_API_EnvironmentId'
    Failover_Service_API_failoverGroupId:
      $ref: '#/components/parameters/Failover_Service_API_FailoverGroupId'
    Failover_Service_API_Offset:
      name: offset
      in: query
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        type: integer
        minimum: 0
        example: 20
    Failover_Service_API_Limit:
      name: limit
      in: query
      description: The maximum number of items to return per page.
      required: false
      schema:
        type: integer
        minimum: 1
        example: 10
    Failover_Service_API_Filter:
      name: filter
      in: query
      description: >
        Filter the result set using field-based criteria.

        **Format:** `field=value` or `field<operator>value`

        **Logical operators:**

        - `,` (comma) - OR logic between filters

        - `;` (semicolon) - AND logic between filters

        - **Note:** Cannot mix OR and AND operators in the same query

        **Comparison operators:**

        - `=` - Equals. This is the default comparison operator; `:` is accepted
        as a backward-compatible alias for `=`

        - `!=` - Does not equal

        - `>` - Greater than

        - `<` - Less than

        - `>=` - Greater than or equal to

        - `<=` - Less than or equal to

        - `=@` - Contains substring

        - `!@` - Does not contain substring

        **Wildcards:**

        - `*` - Wildcard character for pattern matching

        **Examples:**

        - `status=active` - Filter by status equals active

        - `name=@prod` - Filter by name containing "prod"

        - `status=active;type=standard` - Status is active AND type is standard

        - `status=active,status=pending` - Status is active OR pending
      required: false
      schema:
        type: string
        pattern: >-
          ^[a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+([;,][a-zA-Z0-9_]+(=@|!@|!=|>=|<=|[:=]|>|<)[a-zA-Z0-9_\-*.]+)*$
      example: status=active;type=standard
    Failover_Service_API_FailoverGroupId:
      name: failoverGroupId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the failover group.
    Failover_Service_API_EnvironmentId:
      name: environmentId
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9-]+$
      description: Unique identifier for the environment.
  responses:
    Site_Service_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Site_Service_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Site_Service_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    Site_Service_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Site_Service_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Site_Service_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Site_Service_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    Site_Service_API_Site:
      description: Site details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Site_Service_API_Site'
              - $ref: '#/components/schemas/Site_Service_API_HalItem'
              - type: object
                properties:
                  _links:
                    properties:
                      self:
                        $ref: '#/components/schemas/Site_Service_API_HalLink'
                      codebase:
                        $ref: '#/components/schemas/Site_Service_API_HalLink'
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/sites/f1a2b3c4-d5e6-7890-abcd-ef1234567890
              codebase:
                href: >-
                  https://api.acquia.com/v3/codebases/a9b8c7d6-e5f4-3210-abcd-ef9876543210
            id: f1a2b3c4-d5e6-7890-abcd-ef1234567890
            name: mysite
            label: My Site
            description: This is a description of my site.
            codebase_id: a9b8c7d6-e5f4-3210-abcd-ef9876543210
            status: ready
      links:
        self:
          operationId: findSiteBySiteId
          parameters:
            siteId: $request.path.siteId
    Site_Service_API_SiteCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Site_Service_API_HalCollection'
              - $ref: '#/components/schemas/Site_Service_API_PaginatedCollection'
              - $ref: '#/components/schemas/Site_Service_API_FilteredCollection'
              - $ref: '#/components/schemas/Site_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/Site_Service_API_Site'
                            - $ref: '#/components/schemas/Site_Service_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            site_collection:
              summary: Site collection with pagination
              value:
                _links:
                  self:
                    href: https://api.acquia.com/v3/sites?limit=2&offset=0
                  limit:
                    href: https://api.acquia.com/v3/sites?offset=0{&limit}
                    templated: true
                  offset:
                    href: https://api.acquia.com/v3/sites?limit=2{&offset}
                    templated: true
                  filter:
                    href: https://api.acquia.com/v3/sites?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: https://api.acquia.com/v3/sites?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: https://api.acquia.com/v3/sites?limit=2&offset=2
                count: 2
                total: 4
                pagination:
                  total: 4
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: f1a2b3c4-d5e6-7890-abcd-ef1234567890
                      name: mysite
                      label: My Site
                      description: A description of my site.
                      codebase_id: a9b8c7d6-e5f4-3210-abcd-ef9876543210
                      status: ready
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/sites/f1a2b3c4-d5e6-7890-abcd-ef1234567890
                    - id: e2b3c4d5-f6a7-8901-bcde-f12345678901
                      name: anothersite
                      label: Another Site
                      codebase_id: a9b8c7d6-e5f4-3210-abcd-ef9876543210
                      status: marked-for-deletion
                      delete_at: '2025-01-01T00:00:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/sites/e2b3c4d5-f6a7-8901-bcde-f12345678901
    SSH_Key_Service_API_SshKeyCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_SshKeys'
          examples:
            ssh_keys:
              summary: SSH key collection
              value:
                _links:
                  self:
                    href: https://api.acquia.com/v3/ssh-keys?limit=2&offset=0
                  limit:
                    href: https://api.acquia.com/v3/ssh-keys?offset=0{&limit}
                    templated: true
                  offset:
                    href: https://api.acquia.com/v3/ssh-keys?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/ssh-keys?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: https://api.acquia.com/v3/ssh-keys?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: https://api.acquia.com/v3/ssh-keys?limit=2&offset=2
                count: 2
                total: 6
                pagination:
                  total: 6
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: 1acbb1a5-e864-4b8e-a3f9-b1ed462afd25
                      label: primary
                      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
                      fingerprint: >-
                        SHA256:7a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8g9h0i1j2k3l4m5n6o7p8q9r0s1
                      created_at: '2024-10-01T12:30:00Z'
                      user_id: a47ac10b-58cc-4372-a567-0e02b2c3d479
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/ssh-keys/1acbb1a5-e864-4b8e-a3f9-b1ed462afd25
                    - id: 2bcbb1a5-e864-4b8e-a3f9-b1ed462afd26
                      label: backup
                      public_key: >-
                        ssh-ed25519
                        AAAAC3NzaC1lZDI1NTE5AAAAIFf2T1I1d8T1B9Q1b8pS6m2xvY3i5q8sNnU5oQwY5vS9
                        example@example.com
                      fingerprint: >-
                        SHA256:9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8
                      created_at: '2024-10-02T09:15:00Z'
                      user_id: b58bd21c-69dd-5483-b678-1f13c3d4e580
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/ssh-keys/2bcbb1a5-e864-4b8e-a3f9-b1ed462afd26
    SSH_Key_Service_API_SshKey:
      description: OK
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_SshKey'
          example:
            id: 1acbb1a5-e864-4b8e-a3f9-b1ed462afd25
            label: primary
            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
            fingerprint: >-
              SHA256:7a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8g9h0i1j2k3l4m5n6o7p8q9r0s1
            created_at: '2024-10-01T12:30:00Z'
            user_id: a47ac10b-58cc-4372-a567-0e02b2c3d479
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/ssh-keys/1acbb1a5-e864-4b8e-a3f9-b1ed462afd25
      links:
        self:
          operationId: findSshKeyBySshKeyId
          parameters:
            sshKeyId: $request.path.sshKeyId
    SSH_Key_Service_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    SSH_Key_Service_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    SSH_Key_Service_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    SSH_Key_Service_API_ValidationError:
      description: Bad Request - Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
    SSH_Key_Service_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    SSH_Key_Service_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SSH_Key_Service_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    API_Specs_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/API_Specs_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Codebase_Service_API_Codebase:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_Codebase'
              - $ref: '#/components/schemas/Codebase_Service_API_HalItem'
          example:
            id: a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
            label: my-codebase
            region: us-east-1
            vcs_url: https://github.com/acquia/my-codebase.git
            repository_id: '12345678'
            created_at: '2024-01-15T10:30:00Z'
            updated_at: '2024-01-15T10:30:00Z'
            description: Main production codebase
            flags:
              is_active: true
              is_meo: false
            hash: abc123def456
            applications_total: 3
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
    Codebase_Service_API_CodebaseCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_PaginatedCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_FilteredCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_Codebase
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            codebase_collection:
              summary: Codebase collection with pagination
              value:
                _links:
                  self:
                    href: https://api.acquia.com/v3/codebases?limit=10&offset=0
                  limit:
                    href: https://api.acquia.com/v3/codebases?offset=0{&limit}
                    templated: true
                  offset:
                    href: https://api.acquia.com/v3/codebases?limit=10{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/codebases?limit=10&offset=0{&filter}
                    templated: true
                count: 1
                total: 1
                pagination:
                  total: 1
                  limit: 10
                  offset: 0
                _embedded:
                  items:
                    - id: a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                      label: my-codebase
                      region: us-east-1
                      vcs_url: https://github.com/acquia/my-codebase.git
                      repository_id: '12345678'
                      created_at: '2024-01-15T10:30:00Z'
                      updated_at: '2024-01-15T10:30:00Z'
                      description: Main production codebase
                      flags:
                        is_active: true
                        is_meo: false
                      hash: abc123def456
                      applications_total: 3
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
    Codebase_Service_API_CodebaseReference:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_CodebaseReference'
              - $ref: '#/components/schemas/Codebase_Service_API_HalItem'
          example:
            id: ref-123
            name: main
            type: branch
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references/main
    Codebase_Service_API_CodebaseReferenceCollection:
      description: A list of git references for the codebase
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_PaginatedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_CodebaseReference
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references?limit=10&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references?limit=10{&offset}
                templated: true
            count: 2
            total: 2
            pagination:
              total: 2
              limit: 10
              offset: 0
            _embedded:
              items:
                - id: ref-123
                  name: main
                  type: branch
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references/main
                - id: ref-456
                  name: v1.0.0
                  type: tag
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4/references/v1.0.0
    Codebase_Service_API_DomainPattern:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_DomainPattern'
              - $ref: '#/components/schemas/Codebase_Service_API_HalItem'
          example:
            id: 22222222-2222-2222-2222-222222222222
            pattern: '[site-name].[environment-name].acme.com'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns/22222222-2222-2222-2222-222222222222
      links:
        self:
          operationId: findDomainPatternByCodebaseIdAndPatternId
          parameters:
            codebaseId: $request.path.codebaseId
            patternId: $request.path.patternId
    Codebase_Service_API_DomainPatternCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_PaginatedCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_DomainPattern
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            domain_pattern_collection:
              summary: Domain pattern collection
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns
                  limit:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?limit=25{&offset}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?limit=25&offset=0{&sort}
                    templated: true
                count: 1
                total: 1
                pagination:
                  total: 1
                  limit: 25
                  offset: 0
                _embedded:
                  items:
                    - id: 22222222-2222-2222-2222-222222222222
                      pattern: '[site-name].[environment-name].acme.com'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns/22222222-2222-2222-2222-222222222222
            domain_pattern_collection_empty:
              summary: Empty domain pattern collection
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns
                  limit:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?limit=25{&offset}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/codebases/22222222-2222-2222-2222-222222222222/domain-patterns?limit=25&offset=0{&sort}
                    templated: true
                count: 0
                total: 0
                pagination:
                  total: 0
                  limit: 25
                  offset: 0
                _embedded:
                  items: []
    Codebase_Service_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Codebase_Service_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Codebase_Service_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    Codebase_Service_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Codebase_Service_API_SubscriptionCodebaseCollection:
      description: A list of codebases for the subscription
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_PaginatedCollection'
              - $ref: '#/components/schemas/Codebase_Service_API_FilteredCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_Codebase
                            - $ref: >-
                                #/components/schemas/Codebase_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            subscription_codebase_collection:
              summary: Subscription codebase collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-12345/codebases?limit=10&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-12345/codebases?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-12345/codebases?limit=10{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-12345/codebases?limit=10&offset=0{&filter}
                    templated: true
                count: 1
                total: 1
                pagination:
                  total: 1
                  limit: 10
                  offset: 0
                _embedded:
                  items:
                    - id: a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                      label: my-codebase
                      region: us-east-1
                      vcs_url: https://github.com/acquia/my-codebase.git
                      repository_id: '12345678'
                      created_at: '2024-01-15T10:30:00Z'
                      updated_at: '2024-01-15T10:30:00Z'
                      description: Main production codebase
                      flags:
                        is_active: true
                        is_meo: false
                      hash: abc123def456
                      applications_total: 3
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/codebases/a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
    Codebase_Service_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Codebase_Service_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Codebase_Service_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    Federated_Authentication_API_IdentityProvider:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_IdentityProvider
              - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
          example:
            identity_provider_id: 908914ec-2354-4fb1-9298-637247eccc3a
            label: Acme Corporation Azure AD
            subscription_id: sub-123
            idp_entity_id: https://idp.acme.com/saml
            sp_entity_id: https://sp.acme.com/saml
            sso_url: https://acme.com/sso
            certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
            created_at: '2026-04-15T11:00:00Z'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a
              sso_policy:
                href: >-
                  https://api.acquia.com/v3/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a/policies/sso
      links:
        self:
          operationId: findIdentityProviderByIdentityProviderId
          parameters:
            identityProviderId: $response.body#/identity_provider_id
        update:
          operationId: updateIdentityProviderByIdentityProviderId
          parameters:
            identityProviderId: $response.body#/identity_provider_id
        delete:
          operationId: deleteIdentityProviderByIdentityProviderId
          parameters:
            identityProviderId: $response.body#/identity_provider_id
        enable_sso_policy:
          operationId: enableIdentityProviderSSOPolicyByIdentityProviderId
          parameters:
            identityProviderId: $response.body#/identity_provider_id
        disable_sso_policy:
          operationId: disableIdentityProviderSSOPolicyByIdentityProviderId
          parameters:
            identityProviderId: $response.body#/identity_provider_id
    Federated_Authentication_API_IdentityProviderCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_HalCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_FilteredCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_SortedCollection
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Federated_Authentication_API_IdentityProvider
                            - $ref: >-
                                #/components/schemas/Federated_Authentication_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            identity_provider_response:
              summary: Identity provider collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?limit=2&offset=2
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?offset=2{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?limit=2&offset=2{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?limit=2&offset=2{&sort}
                    templated: true
                  prev:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?limit=2&offset=0
                  next:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/identity-providers?offset=4&limit=2
                count: 2
                total: 6
                pagination:
                  total: 6
                  limit: 2
                  offset: 2
                _embedded:
                  items:
                    - identity_provider_id: 908914ec-2354-4fb1-9298-637247eccc3a
                      label: Acme Corporation Azure AD
                      subscription_id: sub-123
                      idp_entity_id: https://idp.acme.com/saml
                      sp_entity_id: https://sp.acme.com/saml
                      sso_url: https://acme.com/sso
                      certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
                      created_at: '2026-04-15T11:00:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a
                        sso_policy:
                          href: >-
                            https://api.acquia.com/v3/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a/policies/sso
                    - identity_provider_id: 123456ec-2354-4fb1-9298-637247eccc3b
                      label: Acme Research Ping Identity
                      subscription_id: sub-123
                      idp_entity_id: https://idp-research.acme.com/saml
                      sp_entity_id: https://sp-research.acme.com/saml
                      sso_url: https://research.acme.com/sso
                      certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
                      created_at: '2026-04-20T14:20:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/identity-providers/123456ec-2354-4fb1-9298-637247eccc3b
                        sso_policy:
                          href: >-
                            https://api.acquia.com/v3/identity-providers/123456ec-2354-4fb1-9298-637247eccc3b/policies/sso
    Federated_Authentication_API_SsoDomain:
      description: >-
        OK. The `_links` object always contains `self`. Additional links are
        state-conditional: `verify` is present when `health.code` is `202` or
        `404` (POST it to initiate or retry DNS TXT record verification);
        `identity_providers` is present when the domain is referenced by one or
        more Identity Provider policies (follows to a filtered list of those
        IdPs; when present the domain cannot be deleted — remove it from all
        policies first).
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Federated_Authentication_API_SsoDomain'
              - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
          examples:
            pending_verification:
              summary: Domain awaiting DNS verification
              description: >-
                A newly created domain whose DNS TXT record has not yet been
                confirmed. `health.code` is `202`; the `verify` link is present
                so the client can trigger or retry the check.
                `identity_providers` is absent because no policy can reference
                an unverified domain.
              value:
                domain_id: dom-789
                domain: acme.corp
                subscription_id: sub-123
                health:
                  code: '202'
                  summary: Verification pending
                  details: >-
                    Acquia is waiting to confirm the DNS TXT record. Ensure the
                    record has been published and allow time for DNS
                    propagation, then retry verification.
                verification_record:
                  type: TXT
                  host: _acquia-challenge.acme.corp
                  value: xyz789abc123
                  health:
                    code: '202'
                    summary: Check in progress
                    details: The TXT record check has not yet completed.
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-789
                  verify:
                    href: >-
                      https://api.acquia.com/v3/sso-domains/dom-789/actions/verify
            failed_verification:
              summary: Domain verification failed — DNS record not found
              description: >-
                A domain whose TXT record could not be found. `health.code` is
                `404`; `details` names the exact record to check. The `verify`
                link is present so the client can retry after fixing the DNS
                entry.
              value:
                domain_id: dom-789
                domain: acme.corp
                subscription_id: sub-123
                health:
                  code: '404'
                  summary: Missing DNS record
                  details: >-
                    Acquia could not verify the presence of the required TXT DNS
                    record at _acquia-challenge.acme.corp. Ensure the record is
                    published with the correct value and retry verification.
                verification_record:
                  type: TXT
                  host: _acquia-challenge.acme.corp
                  value: xyz789abc123
                  health:
                    code: '404'
                    summary: Missing DNS record
                    details: >-
                      The TXT record at _acquia-challenge.acme.corp was not
                      found or does not match the expected value xyz789abc123.
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-789
                  verify:
                    href: >-
                      https://api.acquia.com/v3/sso-domains/dom-789/actions/verify
            verified_in_use:
              summary: Verified domain referenced by an Identity Provider policy
              description: >-
                A verified domain enforced by at least one Identity Provider
                policy. `health.code` is `200`; `verify` is absent;
                `identity_providers` is present. A DELETE on this domain will
                return 409 until the domain is removed from all policies.
              value:
                domain_id: dom-456
                domain: acme.com
                subscription_id: sub-123
                health:
                  code: '200'
                  summary: Verified
                  details: >-
                    The DNS TXT record has been confirmed and the domain is
                    verified.
                verification_record:
                  type: TXT
                  host: _acquia-challenge.acme.com
                  value: abc123def456
                  health:
                    code: '200'
                    summary: Verified
                    details: >-
                      The TXT record at _acquia-challenge.acme.com matches the
                      expected value.
                verified_at: '2026-04-15T10:30:00Z'
                _links:
                  self:
                    href: https://api.acquia.com/v3/sso-domains/dom-456
                  identity_providers:
                    href: >-
                      https://api.acquia.com/v3/identity-providers?filter=domain_id%3Ddom-456
      links:
        self:
          operationId: findSsoDomainBySsoDomainId
          parameters:
            domainId: $response.body#/domain_id
        delete:
          operationId: deleteSsoDomainBySsoDomainId
          parameters:
            domainId: $response.body#/domain_id
        verify:
          operationId: verifySsoDomainBySsoDomainId
          parameters:
            domainId: $response.body#/domain_id
    Federated_Authentication_API_SsoDomainCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_HalCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_FilteredCollection
              - $ref: >-
                  #/components/schemas/Federated_Authentication_API_SortedCollection
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Federated_Authentication_API_SsoDomain
                            - $ref: >-
                                #/components/schemas/Federated_Authentication_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            domain_response:
              summary: Domain collection with pagination
              description: >-
                Two domains in different states: one verified and in use by a
                policy (carries `identity_providers` link), one pending
                verification (carries `verify` link).
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/sub-123/sso-domains?offset=2&limit=2
                count: 2
                total: 3
                pagination:
                  total: 3
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - domain_id: dom-456
                      domain: acme.com
                      subscription_id: sub-123
                      health:
                        code: '200'
                        summary: Verified
                        details: >-
                          The DNS TXT record has been confirmed and the domain
                          is verified.
                      verification_record:
                        type: TXT
                        host: _acquia-challenge.acme.com
                        value: abc123def456
                        health:
                          code: '200'
                          summary: Verified
                          details: >-
                            The TXT record at _acquia-challenge.acme.com matches
                            the expected value.
                      verified_at: '2026-04-15T10:30:00Z'
                      _links:
                        self:
                          href: https://api.acquia.com/v3/sso-domains/dom-456
                        identity_providers:
                          href: >-
                            https://api.acquia.com/v3/identity-providers?filter=domain_id%3Ddom-456
                    - domain_id: dom-789
                      domain: acme.corp
                      subscription_id: sub-123
                      health:
                        code: '202'
                        summary: Verification pending
                        details: >-
                          Acquia is waiting to confirm the DNS TXT record.
                          Ensure the record has been published and allow time
                          for DNS propagation, then retry verification.
                      verification_record:
                        type: TXT
                        host: _acquia-challenge.acme.corp
                        value: xyz789abc123
                        health:
                          code: '202'
                          summary: Check in progress
                          details: The TXT record check has not yet completed.
                      _links:
                        self:
                          href: https://api.acquia.com/v3/sso-domains/dom-789
                        verify:
                          href: >-
                            https://api.acquia.com/v3/sso-domains/dom-789/actions/verify
    Federated_Authentication_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Federated_Authentication_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    Federated_Authentication_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: >-
              #/components/schemas/Federated_Authentication_API_UnauthorizedError
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Federated_Authentication_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Federated_Authentication_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Federated_Authentication_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Federated_Authentication_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Federated_Authentication_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: >-
              #/components/schemas/Federated_Authentication_API_InternalServerError
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Federated_Authentication_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: >-
              #/components/schemas/Federated_Authentication_API_InvalidOperationError
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    Tag_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Tag_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Tag_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Tag_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Tag_API_TagCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Tag_API_HalCollection'
              - $ref: '#/components/schemas/Tag_API_PaginatedCollection'
              - $ref: '#/components/schemas/Tag_API_FilteredCollection'
              - $ref: '#/components/schemas/Tag_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/Tag_API_Tag'
                            - $ref: '#/components/schemas/Tag_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            tag_response:
              summary: Tag collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?limit=2&offset=2
                  limit:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?offset=2{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?limit=2&offset=2{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?limit=2&offset=2{&sort}
                    templated: true
                  prev:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?limit=2&offset=0
                  next:
                    href: >-
                      https://cloud.acquia.com/api-framework/demo-php/api/tags?offset=4&limit=2
                count: 2
                total: 6
                pagination:
                  total: 6
                  limit: 2
                  offset: 2
                _embedded:
                  items:
                    - name: tag-1
                      color: '#ffffff'
                      _links:
                        self:
                          href: >-
                            https://cloud.acquia.com/api-framework/demo-php/api/tags/tag-1
                    - name: tag-2
                      color: '#000000'
                      _links:
                        self:
                          href: >-
                            https://cloud.acquia.com/api-framework/demo-php/api/tags/tag-2
    Tag_API_Tag:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Tag_API_Tag'
              - $ref: '#/components/schemas/Tag_API_HalItem'
          example:
            name: tag-1
            color: '#ffffff'
            _links:
              self:
                href: https://cloud.acquia.com/api-framework/demo-php/api/tags/tag-1
      links:
        self:
          operationId: findTagByTagName
          parameters:
            tagName: $request.path.tagName
    Tag_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    Tag_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tag_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    CDN_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    CDN_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    CDN_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    CDN_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    CDN_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    CDN_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CDN_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    CDN_API_DomainCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_HalCollection'
              - $ref: '#/components/schemas/CDN_API_PaginatedCollection'
              - $ref: '#/components/schemas/CDN_API_FilteredCollection'
              - $ref: '#/components/schemas/CDN_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/CDN_API_Domain'
                            - $ref: '#/components/schemas/CDN_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            domains_response:
              summary: Domain collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains?limit=2&offset=2
                count: 2
                total: 50
                pagination:
                  total: 50
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - domain: example.com
                      subscription_uuid: 12345678-1234-1234-1234-123456789012
                      environment_id: 0c3f0f5f-5727-4838-9459-2d90ee1cf7c1
                      application_name: my-application
                      status: configured
                      created_at: '2024-01-15T10:30:00Z'
                      updated_at: '2024-01-20T15:45:00Z'
                      ownership_validation_cname: _acme-challenge.example.com
                      bandwidth_usage_tb: 1.25
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains/example.com
                    - domain: test.example.org
                      subscription_uuid: 12345678-1234-1234-1234-123456789012
                      environment_id: 1d4f1f6f-6838-5949-a560-3e01ff2cf8d2
                      application_name: test-application
                      status: connecting-to-edge
                      created_at: '2024-01-18T08:15:00Z'
                      ownership_validation_cname: _acme-challenge.example.com
                      bandwidth_usage_tb: 1.25
                      updated_at: '2024-01-18T08:15:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains/test.example.org
    CDN_API_Domain:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Domain'
              - $ref: '#/components/schemas/CDN_API_HalItem'
          example:
            domain: example.com
            subscription_uuid: 12345678-1234-1234-1234-123456789012
            environment_id: 0c3f0f5f-5727-4838-9459-2d90ee1cf7c1
            application_name: my-application
            status: configured
            ownership_validation_cname: _acme-challenge.example.com
            bandwidth_usage_tb: 1.25
            created_at: '2024-01-15T10:30:00Z'
            updated_at: '2024-01-20T15:45:00Z'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains/example.com
      links:
        self:
          operationId: findDomainBySubscriptionUuidAndDomainName
          parameters:
            subscriptionUuid: $request.path.subscriptionUuid
            domainName: $request.path.domainName
    CDN_API_DomainCdnProvisioningAccepted:
      description: Accepted - Provisioning in progress
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The domain provisioning has been started.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains/example.com
            message: The domain provisioning has been started.
    CDN_API_DomainCdnDeprovisioningAccepted:
      description: Accepted - Deprovisioning in progress
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The domain deprovisioning has been started.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/domains/example.com
            message: The domain deprovisioning has been started.
    CDN_API_PurgeAccepted:
      description: Accepted - Purge request submitted
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The purge request has been submitted.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/0c3f0f5f-5727-4838-9459-2d90ee1cf7c1/actions/purge-cdn
            message: The purge request has been submitted.
    CDN_API_SecurityRuleSet:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_SecurityRuleSet'
              - $ref: '#/components/schemas/CDN_API_HalItem'
          example:
            id: 1
            name: OWASP Top 10
            is_enabled: true
            description: OWASP Top 10 security ruleset
            type: owasp
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets/1
      links:
        self:
          operationId: findSecurityRuleSetBySubscriptionUuidAndRuleSetId
          parameters:
            subscriptionUuid: $request.path.subscriptionUuid
            ruleSetId: $request.path.ruleSetId
    CDN_API_SecurityRuleSetCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_HalCollection'
              - $ref: '#/components/schemas/CDN_API_PaginatedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/CDN_API_SecurityRuleSet'
                            - $ref: '#/components/schemas/CDN_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            security_rule_sets_response:
              summary: Security rulesets collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets?limit=2{&offset}
                    templated: true
                count: 2
                total: 5
                pagination:
                  total: 5
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: 123
                      name: OWASP Core Ruleset
                      is_enabled: true
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets/123
                    - id: 456
                      name: Bot Protection
                      is_enabled: false
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets/456
    CDN_API_SecurityRuleSetUpdated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The security ruleset has been updated.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rulesets/123
            message: The security ruleset has been updated.
    CDN_API_IpRule:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_IpRule'
              - $ref: '#/components/schemas/CDN_API_HalItem'
          example:
            id: 101
            display_name: Block office VPN
            action: allow
            description: Allow traffic from the office VPN
            ips:
              - 203.0.113.0/24
            created_at: '2026-05-01T12:00:00Z'
            updated_at: '2026-05-10T09:30:00Z'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/101
      links:
        self:
          operationId: findIpRuleBySubscriptionUuidAndIpRuleId
          parameters:
            subscriptionUuid: $request.path.subscriptionUuid
            ipRuleId: $request.path.ipRuleId
    CDN_API_IpRuleCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_HalCollection'
              - $ref: '#/components/schemas/CDN_API_PaginatedCollection'
              - $ref: '#/components/schemas/CDN_API_FilteredCollection'
              - $ref: '#/components/schemas/CDN_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/CDN_API_IpRule'
                            - $ref: '#/components/schemas/CDN_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            ip_rules_response:
              summary: IP rules collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules?offset=2&limit=2
                count: 2
                total: 5
                pagination:
                  total: 5
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: 101
                      display_name: Block office IPs
                      action: block
                      description: Blocks office IP ranges.
                      ips:
                        - 192.0.2.10
                        - 198.51.100.0/24
                      created_at: '2026-05-01T12:00:00Z'
                      updated_at: '2026-05-10T09:30:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/101
                    - id: 102
                      display_name: Allow support
                      action: allow
                      description: Allows support traffic.
                      ips:
                        - 203.0.113.5
                      created_at: '2026-05-02T08:15:00Z'
                      updated_at: '2026-05-11T13:45:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/102
    CDN_API_IpRuleCreated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The IP rule has been created.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/101
            message: The IP rule has been created.
    CDN_API_IpRuleUpdated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The IP rule has been updated.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/101
            message: The IP rule has been updated.
    CDN_API_IpRuleDeleted:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The IP rule has been deleted.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/ip-rules/101
            message: The IP rule has been deleted.
    CDN_API_CustomRuleCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_HalCollection'
              - $ref: '#/components/schemas/CDN_API_PaginatedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/CDN_API_CustomRule'
                            - $ref: '#/components/schemas/CDN_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            custom_rules_response:
              summary: Custom rules collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules?limit=2{&offset}
                    templated: true
                count: 2
                total: 5
                pagination:
                  total: 5
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: 301
                      display_name: Block bad bots
                      action: block
                      priority: 1
                      domains:
                        - example.com
                      paths:
                        - /api/*
                      targets:
                        - attribute: source-ip
                          criteria: range
                          value:
                            from: 10.0.0.0
                            to: 10.0.0.255
                      created_at: '2026-05-01T12:00:00Z'
                      updated_at: '2026-05-10T09:30:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/301
                    - id: 302
                      display_name: Alert login scans
                      action: alert
                      priority: 2
                      domains:
                        - shop.example.com
                      paths:
                        - /login
                      targets:
                        - attribute: path
                          criteria: equals
                          value:
                            values:
                              - /login
                      created_at: '2026-05-02T08:15:00Z'
                      updated_at: '2026-05-11T13:45:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/302
    CDN_API_CustomRule:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_CustomRule'
              - $ref: '#/components/schemas/CDN_API_HalItem'
          example:
            id: 301
            display_name: Block bad bots
            action: block
            priority: 1
            domains:
              - example.com
            paths:
              - /api/*
            targets:
              - attribute: source-ip
                criteria: range
                value:
                  from: 10.0.0.0
                  to: 10.0.0.255
              - attribute: header
                criteria: equals
                value:
                  key_value_pairs:
                    - key: User-Agent
                      value: BadBot/1.0
            created_at: '2026-05-01T12:00:00Z'
            updated_at: '2026-05-10T09:30:00Z'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/301
      links:
        self:
          operationId: findCustomRuleBySubscriptionUuidAndCustomRuleId
          parameters:
            subscriptionUuid: $request.path.subscriptionUuid
            customRuleId: $request.path.customRuleId
    CDN_API_CustomRuleCreated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The custom security rule has been created.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/301
            message: The custom security rule has been created.
    CDN_API_CustomRuleDeleted:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The custom security rule has been deleted.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/301
            message: The custom security rule has been deleted.
    CDN_API_RateLimitingRuleCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_HalCollection'
              - $ref: '#/components/schemas/CDN_API_PaginatedCollection'
              - $ref: '#/components/schemas/CDN_API_FilteredCollection'
              - $ref: '#/components/schemas/CDN_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: '#/components/schemas/CDN_API_RateLimitingRule'
                            - $ref: '#/components/schemas/CDN_API_HalItem'
                    required:
                      - items
                required:
                  - _embedded
          examples:
            rate_limiting_rules_response:
              summary: Rate limiting rules collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?limit=2&offset=0
                  limit:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?limit=2&offset=0{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?limit=2&offset=0{&sort}
                    templated: true
                  next:
                    href: >-
                      https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules?limit=2&offset=2
                count: 2
                total: 4
                pagination:
                  total: 4
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: 501
                      display_name: Rate Rule 1
                      action: alert
                      rate_limit_per_minute: lenient
                      domains:
                        - example.com
                      created_at: '2026-05-01T12:00:00Z'
                      updated_at: '2026-05-10T09:30:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/501
                    - id: 502
                      display_name: Rate Rule 2
                      action: block
                      rate_limit_per_minute: strict
                      domains:
                        - shop.example.com
                      created_at: '2026-05-02T08:15:00Z'
                      updated_at: '2026-05-11T13:45:00Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/502
    CDN_API_RateLimitingRule:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_RateLimitingRule'
              - $ref: '#/components/schemas/CDN_API_HalItem'
          example:
            id: 501
            display_name: Rate Rule 1
            action: alert
            rate_limit_per_minute: lenient
            domains:
              - example.com
            created_at: '2026-05-01T12:00:00Z'
            updated_at: '2026-05-10T09:30:00Z'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/501
      links:
        self:
          operationId: findRateLimitingRuleBySubscriptionUuidAndRateLimitingRuleId
          parameters:
            subscriptionUuid: $request.path.subscriptionUuid
            rateLimitingRuleId: $request.path.rateLimitingRuleId
    CDN_API_RateLimitingRuleCreated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The rate limiting rule has been created.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/501
            message: The rate limiting rule has been created.
    CDN_API_RateLimitingRuleUpdated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The rate limiting rule has been updated.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/501
            message: The rate limiting rule has been updated.
    CDN_API_RateLimitingRuleDeleted:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The rate limiting rule has been deleted.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/rate-limiting-rules/501
            message: The rate limiting rule has been deleted.
    CDN_API_CustomRuleUpdated:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/CDN_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: The custom security rule has been updated.
                    description: Confirmation message
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/subscriptions/12345678-1234-1234-1234-123456789012/config/security/custom-rules/301
            message: The custom security rule has been updated.
    Environment_Service_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Environment_Service_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Environment_Service_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Environment_Service_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Environment_Service_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
    Environment_Service_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Environment_Service_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    Environment_Service_API_DeploymentCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Environment_Service_API_FilteredCollection
              - $ref: '#/components/schemas/Environment_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_Deployment
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            deployment_response:
              summary: Deployment collection with pagination
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2&offset=2
                  limit:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?offset=2{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2&offset=2{&filter}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2&offset=2{&sort}
                    templated: true
                  prev:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2&offset=0
                  next:
                    href: >-
                      https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/deployments?limit=2&offset=4
                count: 2
                total: 6
                pagination:
                  total: 6
                  limit: 2
                  offset: 2
                _embedded:
                  items:
                    - id: e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                      environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
                      status: done
                      code_reference: tags/v1.0.0
                      run_hooks: true
                      hooks_argument: null
                      sender_id: null
                      created_at: '2025-04-01T13:01:06.603Z'
                      started_at: '2025-04-01T13:01:10.123Z'
                      completed_at: '2025-04-01T13:05:00.000Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/deployments/e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                        environment:
                          href: >-
                            https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323
                    - id: f1dae0f8-67c7-5d1e-cbe1-1f7604f77de4
                      environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
                      status: failed
                      code_reference: tags/v0.9.0
                      run_hooks: false
                      hooks_argument: null
                      sender_id: null
                      created_at: '2025-03-28T09:15:00.000Z'
                      started_at: '2025-03-28T09:15:05.000Z'
                      completed_at: '2025-03-28T09:18:00.000Z'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/deployments/f1dae0f8-67c7-5d1e-cbe1-1f7604f77de4
                        environment:
                          href: >-
                            https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323
    Environment_Service_API_Deployment:
      description: Deployment details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_Deployment'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            id: e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
            environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
            status: started
            code_reference: tags/v1.0.0
            run_hooks: true
            hooks_argument: '--skip-db-update'
            created_at: '2025-04-01T13:01:06.603Z'
            started_at: '2025-04-01T13:01:10.123Z'
            completed_at: null
            sender_id: null
            logs: null
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/deployments/e0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
              environment:
                href: >-
                  https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323
      links:
        self:
          operationId: findDeploymentByDeploymentId
          parameters:
            deploymentId: $request.path.deploymentId
    Environment_Service_API_CodeDeploy:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_CodeDeploy'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            concurrency: 5
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/d3f7270e-c45f-4801-9308-5e8afe84a323/code-deploy
      links:
        self:
          operationId: findCodeDeployByEnvironmentId
          parameters:
            environmentId: $request.path.environmentId
    Environment_Service_API_Environment:
      description: Environment details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_Environment'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      codebase:
                        allOf:
                          - $ref: >-
                              #/components/schemas/Environment_Service_API_EmbeddedCodebase
                          - $ref: >-
                              #/components/schemas/Environment_Service_API_HalItem
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc
              codebase:
                href: >-
                  https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323
            id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
            name: environment_3e8ecbec-ea7c-4260-8414-ef2938c859bc
            label: Environment_3e8ecbec-ea7c-4260-8414-ef2938c859bc
            description: Description of 3e8ecbec-ea7c-4260-8414-ef2938c859bc
            status: normal
            flags:
              production: false
              protection_mode: false
            properties:
              version: '8.3'
              max_execution_time: 10
              memory_limit: 192
              apcu: 32
              client_max_body_size: 192
              max_input_vars: 1000
              max_post_size: 256
              memcached_limit: 128
              upload_max_filesize: 192
              operating_system: focal
            reference: tag/v3.1
            code_switch_status: IDLE
            ssh_url: ssh://site.dev@sitedev.ssh.hosted.acquia-sites.com
            _embedded:
              codebase:
                id: d3f7270e-c45f-4801-9308-5e8afe84a323
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323
      links:
        self:
          operationId: findEnvironmentByEnvironmentId
          parameters:
            environmentId: $request.path.environmentId
    Environment_Service_API_EnvironmentCollection:
      description: Environment collection
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_Environment
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/sites/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?limit=2&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/sites/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/sites/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?limit=2{&offset}
                templated: true
            count: 1
            total: 1
            pagination:
              total: 1
              limit: 2
              offset: 0
            _embedded:
              items:
                - id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
                  name: dev
                  label: Dev
                  description: Development environment
                  status: normal
                  reference: branch/main
                  code_switch_status: IDLE
                  ssh_url: ssh://site.dev@sitedev.ssh.hosted.acquia-sites.com
                  flags:
                    production: false
                    protection_mode: false
                  properties:
                    version: '8.3'
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc
    Environment_Service_API_FilterableEnvironmentCollection:
      description: Environment collection
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Environment_Service_API_FilteredCollection
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_Environment
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?limit=2&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?limit=2{&offset}
                templated: true
              filter:
                href: >-
                  https://api.acquia.com/v3/codebases/d3f7270e-c45f-4801-9308-5e8afe84a323/environments?limit=2&offset=0{&filter}
                templated: true
            count: 1
            total: 1
            pagination:
              total: 1
              limit: 2
              offset: 0
            _embedded:
              items:
                - id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
                  name: dev
                  label: Dev
                  description: Development environment
                  status: normal
                  reference: branch/main
                  code_switch_status: IDLE
                  ssh_url: ssh://site.dev@sitedev.ssh.hosted.acquia-sites.com
                  flags:
                    production: false
                    protection_mode: false
                  properties:
                    version: '8.3'
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc
    Environment_Service_API_SiteInstance:
      description: Site Instance details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_SiteInstance'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323
            site_id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
            environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
            status: active
            health_status:
              code: OK
              summary: The health status is OK.
              details: The site instance is active
            domains:
              - example.com
              - example-2.com
            protection_mode:
              is_enabled: true
              is_inherited: true
      links:
        self:
          operationId: findSiteInstanceBySiteIdAndEnvironmentId
          parameters:
            siteId: $request.path.siteId
            environmentId: $request.path.environmentId
    Environment_Service_API_Domain:
      description: Domain details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_Domain'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            name: example.com
            is_managed: false
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains/example.com
      links:
        self:
          operationId: findDomainBySiteIdAndEnvironmentIdAndDomainName
          parameters:
            siteId: $request.path.siteId
            environmentId: $request.path.environmentId
            domainName: $request.path.domainName
    Environment_Service_API_DomainCollection:
      description: Domain collection
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Environment_Service_API_FilteredCollection
              - $ref: '#/components/schemas/Environment_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_Domain
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains?limit=2&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains?limit=2{&offset}
                templated: true
              filter:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains?limit=2&offset=0{&filter}
                templated: true
              sort:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains?limit=2&offset=0{&sort}
                templated: true
            count: 1
            total: 1
            pagination:
              total: 1
              limit: 2
              offset: 0
            _embedded:
              items:
                - name: example.com
                  is_managed: false
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains/example.com
    Environment_Service_API_DomainStatus:
      description: Domain DNS status details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_DomainStatus'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            hostname: example.com
            site_id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
            environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
            ip_addresses:
              - 203.0.113.10
            cnames: []
            flags:
              default: false
              active: true
              dns_resolves: true
              acquia_hosted: true
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/domains/example.com/status
    Environment_Service_API_Database:
      description: Database details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_Database'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            database_name: site_dev
            database_role: site_dev_user
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database
      links:
        self:
          operationId: findDatabaseBySiteIdAndEnvironmentId
          parameters:
            siteId: $request.path.siteId
            environmentId: $request.path.environmentId
    Environment_Service_API_DatabaseConnection:
      description: Database connection credential details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: >-
                  #/components/schemas/Environment_Service_API_DatabaseConnection
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            db_host: db.example.com
            name: site_dev
            password: s3cr3t
            user_name: site_dev_user
            ssh_host: site.dev.ssh.hosted.acquia-sites.com
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/connection
    Environment_Service_API_DatabaseBackup:
      description: Database backup details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_DatabaseBackup'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
            database_id: b2c3d4e5-f6a7-8901-bcde-f01234567891
            created_at: '2025-04-01T02:00:00.000Z'
            type: DAILY
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups/a1b2c3d4-e5f6-7890-abcd-ef1234567890
              download:
                href: >-
                  https://s3.amazonaws.com/acquia-backups/backup-a1b2c3d4.sql.gz?X-Amz-Expires=3600&X-Amz-Signature=abc123
      links:
        self:
          operationId: findDatabaseBackupBySiteIdAndEnvironmentIdAndBackupId
          parameters:
            siteId: $request.path.siteId
            environmentId: $request.path.environmentId
            backupId: $request.path.backupId
    Environment_Service_API_DatabaseBackupCollection:
      description: Database backup collection
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - $ref: >-
                  #/components/schemas/Environment_Service_API_FilteredCollection
              - $ref: '#/components/schemas/Environment_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_DatabaseBackup
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups?limit=2&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups?limit=2{&offset}
                templated: true
              filter:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups?limit=2&offset=0{&filter}
                templated: true
              sort:
                href: >-
                  https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups?limit=2&offset=0{&sort}
                templated: true
            count: 1
            total: 1
            pagination:
              total: 1
              limit: 2
              offset: 0
            _embedded:
              items:
                - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  database_id: b2c3d4e5-f6a7-8901-bcde-f01234567891
                  created_at: '2025-04-01T02:00:00.000Z'
                  type: DAILY
                  _links:
                    self:
                      href: >-
                        https://api.acquia.com/v3/site-instances/3e8ecbec-ea7c-4260-8414-ef2938c859bc.d3f7270e-c45f-4801-9308-5e8afe84a323/database/backups/a1b2c3d4-e5f6-7890-abcd-ef1234567890
    Environment_Service_API_EgressIpCollection:
      description: Egress IP collection
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_EgressIp
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/eips?limit=25&offset=0
              limit:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/eips?offset=0{&limit}
                templated: true
              offset:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/eips?limit=25{&offset}
                templated: true
            count: 1
            total: 1
            pagination:
              total: 1
              limit: 25
              offset: 0
            _embedded:
              items:
                - id: eip-a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  status: active
                  ipv4: 203.0.113.10
                  ipv6: null
                  flags:
                    is_primary: true
    Environment_Service_API_TrustedProxies:
      description: Trusted proxy configuration details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_TrustedProxies'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            cidrs_ipv4:
              - 203.0.113.0/24
            cidrs_ipv6: []
            associated_cdns:
              cloudflare:
                label: Cloudflare
                is_enabled: true
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/trusted-proxies
      links:
        self:
          operationId: findTrustedProxiesByEnvironmentId
          parameters:
            environmentId: $request.path.environmentId
    Environment_Service_API_PrivateNetwork:
      description: Private network details
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_PrivateNetwork'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            id: pn-a1b2c3d4-e5f6-7890-abcd-ef1234567890
            label: Production VPC
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/3e8ecbec-ea7c-4260-8414-ef2938c859bc/private-network
      links:
        self:
          operationId: findPrivateNetworkByEnvironmentId
          parameters:
            environmentId: $request.path.environmentId
    Environment_Service_API_DomainPattern:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_DomainPattern'
              - $ref: '#/components/schemas/Environment_Service_API_HalItem'
          example:
            id: 11111111-1111-1111-1111-111111111111
            pattern: '[site-name].acme.com'
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns/11111111-1111-1111-1111-111111111111
      links:
        self:
          operationId: findDomainPatternByEnvironmentIdAndPatternId
          parameters:
            environmentId: $request.path.environmentId
            patternId: $request.path.patternId
    Environment_Service_API_DomainPatternCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
              - $ref: >-
                  #/components/schemas/Environment_Service_API_PaginatedCollection
              - $ref: '#/components/schemas/Environment_Service_API_SortedCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_DomainPattern
                            - $ref: >-
                                #/components/schemas/Environment_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            domain_pattern_collection:
              summary: Domain pattern collection
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns
                  limit:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?limit=25{&offset}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?limit=25&offset=0{&sort}
                    templated: true
                count: 1
                total: 1
                pagination:
                  total: 1
                  limit: 25
                  offset: 0
                _embedded:
                  items:
                    - id: 11111111-1111-1111-1111-111111111111
                      pattern: '[site-name].acme.com'
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns/11111111-1111-1111-1111-111111111111
            domain_pattern_collection_empty:
              summary: Empty domain pattern collection
              value:
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns
                  limit:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?offset=0{&limit}
                    templated: true
                  offset:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?limit=25{&offset}
                    templated: true
                  sort:
                    href: >-
                      https://api.acquia.com/v3/environments/11111111-1111-1111-1111-111111111111/domain-patterns?limit=25&offset=0{&sort}
                    templated: true
                count: 0
                total: 0
                pagination:
                  total: 0
                  limit: 25
                  offset: 0
                _embedded:
                  items: []
    Failover_Service_API_ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_ForbiddenError'
          example:
            error: forbidden
            message: You do not have permission to perform this action.
    Failover_Service_API_InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_InternalServerError'
          example:
            error: system
            message: >-
              An unknown error occurred. Please try your request again. If the
              problem persists, contact Acquia Support. Request ID:
              abc123-def456-ghi789.
    Failover_Service_API_NotFoundError:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_NotFoundError'
          example:
            error: not_found
            message: >-
              The resource you are trying to access does not exist, or you do
              not have access to it.
    Failover_Service_API_UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_UnauthorizedError'
          example:
            error: unauthorized
            message: You do not have permission to access this resource.
    Failover_Service_API_InvalidOperationError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_InvalidOperationError'
          example:
            error: conflict
            message: The requested operation is invalid or cannot be completed.
    Failover_Service_API_FailoverGroupCollection:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_HalCollection'
              - $ref: '#/components/schemas/Failover_Service_API_PaginatedCollection'
              - $ref: '#/components/schemas/Failover_Service_API_FilteredCollection'
              - type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          allOf:
                            - $ref: >-
                                #/components/schemas/Failover_Service_API_FailoverGroup
                            - $ref: >-
                                #/components/schemas/Failover_Service_API_HalItem
                    required:
                      - items
                required:
                  - _embedded
          examples:
            failover_group_collection:
              summary: Failover group collection with pagination
              value:
                _links:
                  self:
                    href: https://api.acquia.com/v3/failover-groups?limit=2&offset=0
                  limit:
                    href: https://api.acquia.com/v3/failover-groups?offset=0{&limit}
                    templated: true
                  offset:
                    href: https://api.acquia.com/v3/failover-groups?limit=2{&offset}
                    templated: true
                  filter:
                    href: >-
                      https://api.acquia.com/v3/failover-groups?limit=2&offset=0{&filter}
                    templated: true
                count: 1
                total: 1
                pagination:
                  total: 1
                  limit: 2
                  offset: 0
                _embedded:
                  items:
                    - id: b2c3d4e5-f6a7-8901-bcde-f12345678901
                      name: Primary Failover Group
                      status: normal
                      pairs:
                        - service_name: my-application-service
                          primary_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                          failover_id: f1e2d3c4-b5a6-7890-fedc-ba9876543210
                      _links:
                        self:
                          href: >-
                            https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
    Failover_Service_API_FailoverGroup:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_FailoverGroup'
              - $ref: '#/components/schemas/Failover_Service_API_HalItem'
          example:
            id: b2c3d4e5-f6a7-8901-bcde-f12345678901
            name: Primary Failover Group
            status: normal
            pairs:
              - service_name: my-application-service
                primary_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                failover_id: f1e2d3c4-b5a6-7890-fedc-ba9876543210
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
      links:
        self:
          operationId: findFailoverGroupByFailoverGroupId
          parameters:
            failoverGroupId: $request.path.failoverGroupId
    Failover_Service_API_MultiRegionFailoverStatus:
      description: OK
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: >-
                  #/components/schemas/Failover_Service_API_MultiRegionFailoverStatus
              - $ref: '#/components/schemas/Failover_Service_API_HalItem'
          example:
            is_enabled: true
            failover_group_id: b2c3d4e5-f6a7-8901-bcde-f12345678901
            is_traffic_failed_over: false
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/a1b2c3d4-e5f6-7890-abcd-ef1234567890/multi-region-failover
      links:
        self:
          operationId: findMultiRegionFailoverByEnvironmentId
          parameters:
            environmentId: $request.path.environmentId
    Failover_Service_API_CreateFailoverGroupResponse:
      description: Failover group creation initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Failover group creation has been initiated.
                    description: >-
                      Confirmation message that the failover group creation has
                      been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
            message: Failover group creation has been initiated.
    Failover_Service_API_DeleteFailoverGroupResponse:
      description: Failover group deletion initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Failover group deletion has been initiated.
                    description: >-
                      Confirmation message that the failover group deletion has
                      been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
            message: Failover group deletion has been initiated.
    Failover_Service_API_FailoverGroupFailoverResponse:
      description: Failover group failover initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Failover group failover initiated.
                    description: >-
                      Confirmation message that the failover group failover has
                      been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
            message: Failover group failover initiated.
    Failover_Service_API_FailoverGroupRevertFailoverResponse:
      description: Failover group revert failover initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Failover group revert failover initiated.
                    description: >-
                      Confirmation message that the failover group revert
                      failover has been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
            message: Failover group revert failover initiated.
    Failover_Service_API_FailoverGroupSyncResponse:
      description: Failover group sync initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Failover group sync initiated.
                    description: >-
                      Confirmation message that the failover group sync has been
                      initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/failover-groups/b2c3d4e5-f6a7-8901-bcde-f12345678901
            message: Failover group sync initiated.
    Failover_Service_API_SaveMultiRegionFailoverResponse:
      description: Multi-region failover enable initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Multi-region failover enable has been initiated.
                    description: >-
                      Confirmation message that multi-region failover enable has
                      been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/a1b2c3d4-e5f6-7890-abcd-ef1234567890/multi-region-failover
            message: Multi-region failover enable has been initiated.
    Failover_Service_API_DeleteMultiRegionFailoverResponse:
      description: Multi-region failover disable initiated
      content:
        application/hal+json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Failover_Service_API_Message'
              - type: object
                properties:
                  message:
                    type: string
                    const: Multi-region failover disable has been initiated.
                    description: >-
                      Confirmation message that multi-region failover disable
                      has been initiated.
          example:
            _links:
              self:
                href: >-
                  https://api.acquia.com/v3/environments/a1b2c3d4-e5f6-7890-abcd-ef1234567890/multi-region-failover
            message: Multi-region failover disable has been initiated.
    Failover_Service_API_ValidationError:
      description: Validation Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failover_Service_API_ValidationError'
          example:
            error: validation_failed
            message:
              field_name: This field is required.
              another_field: This field must be a valid format.
  requestBodies:
    Site_Service_API_DuplicateSiteRequest:
      description: Site duplication request body
      content:
        application/json:
          schema:
            type: object
            properties:
              environment_mapping:
                type: array
                items:
                  type: string
                  pattern: ^[a-zA-Z0-9-]+:[a-zA-Z0-9-]+$
                  description: Environment mapping in the format 'sourceEnvId:targetEnvId'
                description: >
                  Array of environment mappings. You must provide exactly one
                  environment mapping. Each entry maps a source environment ID
                  to a target environment ID, separated by a colon.
                minItems: 1
                maxItems: 1
                example:
                  - >-
                    0ebce493-9d09-479d-a9a8-138a206fa687:a1b2c3d4-e5f6-7890-abcd-ef1234567890
              site_name:
                type: string
                description: >
                  Machine name for the duplicated site. Must start with a
                  lowercase letter and contain only lowercase letters and
                  numbers. Maximum 14 characters.
                minLength: 1
                maxLength: 14
                pattern: ^[a-z][a-z0-9]*$
                example: dupsite
              site_label:
                type: string
                description: >
                  Human-readable label for the duplicated site. Must only
                  contain letters, numbers, and spaces. Maximum 50 characters.
                minLength: 1
                maxLength: 50
                example: Duplicated Site
              site_id:
                type: string
                format: uuid
                description: >-
                  An optional explicit UUID for the new duplicated site. A UUID
                  is generated automatically if omitted.
                example: f1a2b3c4-d5e6-7890-abcd-ef1234567890
              hook_argument:
                type: string
                description: Optional hook argument to pass to the duplication process.
                example: '--verbose'
            required:
              - environment_mapping
              - site_name
              - site_label
            additionalProperties: false
          examples:
            duplicate_basic:
              summary: Duplicate a site with required fields
              description: Duplicates a site with a single environment mapping
              value:
                environment_mapping:
                  - >-
                    0ebce493-9d09-479d-a9a8-138a206fa687:a1b2c3d4-e5f6-7890-abcd-ef1234567890
                site_name: dupsite
                site_label: Duplicated Site
            duplicate_with_options:
              summary: Duplicate a site with all options
              description: Duplicates a site specifying a custom site ID and hook argument
              value:
                environment_mapping:
                  - >-
                    0ebce493-9d09-479d-a9a8-138a206fa687:a1b2c3d4-e5f6-7890-abcd-ef1234567890
                site_name: duphook
                site_label: Dup With Hook
                site_id: f1a2b3c4-d5e6-7890-abcd-ef1234567890
                hook_argument: my-hook-arg
    Site_Service_API_CreateSiteRequest:
      description: Site creation request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                description: >-
                  The machine name of the site. Must start with a lowercase
                  letter and contain only lowercase letters and numbers.
                minLength: 1
                maxLength: 14
                pattern: ^[a-z][a-z0-9]*$
                example: mysite
              label:
                type: string
                description: The human-readable label for the site.
                minLength: 1
                maxLength: 50
                example: My Site
              codebase_id:
                type: string
                description: >-
                  The unique identifier of the codebase to associate with this
                  site.
                pattern: ^[a-zA-Z0-9-]+$
                example: a9b8c7d6-e5f4-3210-abcd-ef9876543210
              site_id:
                type: string
                format: uuid
                description: >-
                  An optional explicit UUID for the new site. A UUID is
                  generated automatically if omitted.
                example: 0ebce493-9d09-479d-a9a8-138a206fa687
              description:
                type: string
                description: An optional description for the site.
                maxLength: 512
                example: A production site for the marketing team.
            required:
              - name
              - label
              - codebase_id
            additionalProperties: false
          examples:
            create_site_full:
              summary: Create a new site with all fields
              value:
                name: mysite
                label: My Site
                codebase_id: a9b8c7d6-e5f4-3210-abcd-ef9876543210
                site_id: 0ebce493-9d09-479d-a9a8-138a206fa687
                description: This is a description of my site.
            create_site_minimal:
              summary: Create a new site with required fields only
              value:
                name: newsitename
                label: New Site Label
                codebase_id: a9b8c7d6-e5f4-3210-abcd-ef9876543210
    Site_Service_API_UpdateSiteRequest:
      description: Site update request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              label:
                type: string
                description: The new human-readable label for the site.
                minLength: 1
                maxLength: 50
                example: My Updated Site
              description:
                type: string
                description: The new description for the site.
                maxLength: 512
                example: Updated description for this site.
            additionalProperties: false
            minProperties: 1
          examples:
            update_label:
              summary: Update site label
              value:
                label: My Updated Site
            update_description:
              summary: Update site description
              value:
                description: Updated description for this site.
            update_both:
              summary: Update label and description
              value:
                label: My Updated Site
                description: Updated description for this site.
    SSH_Key_Service_API_SshKeyRequestBody:
      required: true
      content:
        application/json:
          schema:
            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.
            additionalProperties: false
            minProperties: 1
          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
    Codebase_Service_API_CreateCodebaseRequest:
      description: Codebase creation request body
      content:
        application/json:
          schema:
            type: object
            properties:
              codebase_id:
                type: string
                format: uuid
                description: Client-supplied UUID for the new codebase
              label:
                type: string
                description: Human-readable label for the codebase
              region:
                type: string
                description: AWS region where the codebase will be created
            required:
              - codebase_id
              - label
              - region
            additionalProperties: false
          examples:
            create:
              summary: Create a codebase
              description: Creates a new codebase for a subscription
              value:
                codebase_id: a0c9dff7-56b6-4c0d-bad0-0e6593f66cd4
                label: my-codebase
                region: us-east-1
    Codebase_Service_API_CreateDomainPatternRequest:
      description: Create domain pattern request body
      content:
        application/json:
          schema:
            type: object
            properties:
              pattern:
                type: string
                maxLength: 455
                pattern: >-
                  ^(?=.*\[site-name\])(?=.*\[environment-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
                description: >
                  The domain pattern to apply to all associated sites in this
                  codebase, optionally followed by a single path segment. Both
                  [site-name] and [environment-name] tokens are mandatory.
                  Domain ≤ 200 chars excluding token placeholders; optional path
                  max 255 chars matching ^/[A-Za-z0-9._-]+$. Additional semantic
                  rules (no IPs, no forbidden suffixes, no wildcards, one
                  pattern per codebase) are enforced at the service layer.
            required:
              - pattern
            additionalProperties: false
          examples:
            create_domain_pattern:
              summary: Create a domain pattern
              value:
                pattern: '[site-name].[environment-name].acme.com'
    Codebase_Service_API_UpdateCodebaseRequest:
      description: Codebase update request body
      content:
        application/json:
          schema:
            type: object
            properties:
              label:
                type: string
                description: Human-readable label for the codebase
              description:
                type: string
                description: Description of the codebase
            minProperties: 1
            additionalProperties: false
          examples:
            update:
              summary: Update a codebase
              description: Updates an existing codebase's label and description
              value:
                label: updated-codebase-label
                description: Updated codebase description
    Codebase_Service_API_UpdateDomainPatternRequest:
      description: Update domain pattern request body
      content:
        application/json:
          schema:
            type: object
            properties:
              pattern:
                type: string
                maxLength: 455
                pattern: >-
                  ^(?=.*\[site-name\])(?=.*\[environment-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
                description: >
                  The updated domain pattern to apply to all associated sites in
                  this codebase, optionally followed by a single path segment.
                  Both [site-name] and [environment-name] tokens are mandatory.
                  Domain ≤ 200 chars excluding token placeholders; optional path
                  max 255 chars matching ^/[A-Za-z0-9._-]+$. Additional semantic
                  rules (no IPs, no forbidden suffixes, no wildcards, one
                  pattern per codebase) are enforced at the service layer.
            required:
              - pattern
            additionalProperties: false
            minProperties: 1
          examples:
            update_domain_pattern:
              summary: Update a domain pattern
              value:
                pattern: '[site-name].[environment-name].acme.com'
    Federated_Authentication_API_CreateSsoDomain:
      description: Request body for creating a new domain.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              domain:
                type: string
                pattern: >-
                  ^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z]{2,})+$
                description: The domain name to create (e.g., "acme.com").
            required:
              - domain
            additionalProperties: false
          example:
            domain: acme.com
    Federated_Authentication_API_CreateIdentityProvider:
      description: Request body for creating a new Identity Provider.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              idp_entity_id:
                type: string
                format: uri
                description: The Identity Provider Entity ID.
              label:
                type: string
                description: The name of the Identity Provider.
              sso_url:
                type: string
                format: uri
                description: The SSO URL for this IdP.
              certificate:
                type: string
                description: The certificate for this IdP.
            required:
              - label
              - idp_entity_id
              - sso_url
              - certificate
            additionalProperties: false
          example:
            label: Acme Corporation Azure AD
            idp_entity_id: https://idp.acme.com/saml
            sso_url: https://acme.com/sso
            certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
    Federated_Authentication_API_UpdateIdentityProvider:
      description: Request body for updating an existing Identity Provider.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              label:
                type: string
                description: The name of the Identity Provider.
              certificate:
                type: string
                description: The X.509 certificate used for SAML authentication.
              sso_url:
                type: string
                format: uri
                description: The Single Sign-On URL for the Identity Provider.
              idp_entity_id:
                type: string
                format: uri
                description: The Identity Provider Entity ID.
            additionalProperties: false
            minProperties: 1
          example:
            label: Updated Acme Corporation Azure AD
            certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
            sso_url: https://updatedacme.com/sso
            idp_entity_id: https://idp2.acme.com/saml
    Federated_Authentication_API_CreateSsoPolicy:
      $ref: >-
        #/components/requestBodies/Federated_Authentication_API_CreateSsoPolicyRequest
    Federated_Authentication_API_UpdateSsoPolicy:
      $ref: >-
        #/components/requestBodies/Federated_Authentication_API_UpdateSsoPolicyRequest
    Federated_Authentication_API_UpdateSsoPolicyRequest:
      description: Request body for updating an SSO policy for an Identity Provider.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              domain_ids:
                type: array
                description: >-
                  List of verified domain IDs to enforce this Identity Provider
                  for.
                items:
                  type: string
                  description: Reference to a verified SSO domain.
            required:
              - domain_ids
            additionalProperties: false
            minProperties: 1
          example:
            domain_ids:
              - dom-456
    Federated_Authentication_API_CreateSsoPolicyRequest:
      description: Request body for creating an SSO policy for an Identity Provider.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              domain_ids:
                type: array
                description: >-
                  List of verified domain IDs to enforce this Identity Provider
                  for.
                items:
                  type: string
                  description: Reference to a verified SSO domain.
            required:
              - domain_ids
            additionalProperties: false
          example:
            domain_ids:
              - dom-456
              - dom-789
    Tag_API_SaveTagRequest:
      description: Tag create/update request body
      content:
        application/json:
          schema:
            type: object
            properties:
              color:
                type: string
                pattern: ^#((?:[a-f0-9]{3}){1,2})$
                description: A color for the specified tag
            additionalProperties: false
            minProperties: 1
          examples:
            save:
              summary: Saves a tag
              description: Saves a tag with specified color
              value:
                color: '#000000'
    CDN_API_ProvisionCdnForDomainRequest:
      description: Domain CDN provisioning request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              environment_id:
                type: string
                pattern: ^[a-zA-Z0-9-]+$
                description: >-
                  The environment identifier that the domain will be associated
                  with for purging purposes.
            additionalProperties: false
            required:
              - environment_id
            minProperties: 1
          example:
            environment_id: 0c3f0f5f-5727-4838-9459-2d90ee1cf7c1
    CDN_API_CreatePurgeRequest:
      description: Purge request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              resource_type:
                type: string
                description: The type of resource to purge.
                enum:
                  - tags
                  - urls
                  - domains
                  - everything
              values:
                type: array
                description: |
                  List of values to purge based on the resource type.
                  Required when `resource_type` is not `everything`.
                items:
                  type: string
                minItems: 1
            additionalProperties: false
            required:
              - resource_type
            minProperties: 1
          examples:
            purge_urls:
              summary: Purge specific URLs
              value:
                resource_type: urls
                values:
                  - https://example.com/page1
                  - https://example.com/page2
            purge_tags:
              summary: Purge by cache tags
              value:
                resource_type: tags
                values:
                  - product-123
                  - category-456
            purge_domains:
              summary: Purge entire domains
              value:
                resource_type: domains
                values:
                  - example.com
                  - test.example.org
            purge_everything:
              summary: Purge everything
              value:
                resource_type: everything
    CDN_API_UpdateSecurityRuleSetRequest:
      description: Security ruleset update request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              is_enabled:
                type: boolean
                description: Indicates whether the security ruleset should be enabled.
            additionalProperties: false
            required:
              - is_enabled
            minProperties: 1
          examples:
            enable:
              summary: Enables a security ruleset
              value:
                is_enabled: true
    CDN_API_CreateIpRuleRequest:
      description: IP rule create request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              ips:
                type: array
                description: The IPs or CIDR blocks to include in the rule.
                items:
                  type: string
                  description: An IP address or CIDR block.
              action:
                type: string
                enum:
                  - block
                  - allow
                description: The action applied when the rule matches.
              display_name:
                type: string
                description: The display name of the IP rule.
              description:
                type: string
                description: The description of the IP rule.
            additionalProperties: false
            required:
              - ips
              - action
              - display_name
          examples:
            create:
              summary: Creates an IP rule
              value:
                ips:
                  - 192.0.2.10
                  - 198.51.100.0/24
                action: block
                display_name: Block office IPs
                description: Blocks office IP ranges.
    CDN_API_UpdateIpRuleRequest:
      description: IP rule update request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              display_name:
                type: string
                description: The display name of the IP rule.
              action:
                type: string
                enum:
                  - block
                  - allow
                description: The action applied when the rule matches.
              description:
                type: string
                description: The description of the IP rule.
              ips:
                type: array
                description: The IPs or CIDR blocks associated with the rule.
                items:
                  type: string
                  description: An IP address or CIDR block.
            additionalProperties: false
            minProperties: 1
          examples:
            update:
              summary: Updates an IP rule
              value:
                display_name: Allow support
                action: allow
                ips:
                  - 203.0.113.5
    CDN_API_CreateCustomRuleRequest:
      description: Custom security rule create request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              display_name:
                type: string
                description: The display name of the custom security rule.
              action:
                type: string
                enum:
                  - block
                  - allow
                  - alert
                description: The action applied when the rule matches.
              priority:
                type: integer
                minimum: 1
                description: The priority order for the rule.
              domains:
                type: array
                description: The domains the rule applies to.
                items:
                  type: string
                  description: A domain name.
              paths:
                type: array
                description: The paths the rule applies to.
                items:
                  type: string
                  description: A path pattern.
            additionalProperties: false
            required:
              - display_name
              - action
              - domains
              - paths
            minProperties: 1
          examples:
            create:
              summary: Creates a custom security rule
              value:
                display_name: Block bad bots
                action: block
                priority: 1
                domains:
                  - example.com
                paths:
                  - /api/*
    CDN_API_CreateRateLimitingRuleRequest:
      description: Rate limiting rule create request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              display_name:
                type: string
                description: The display name of the rate limiting rule.
              action:
                type: string
                enum:
                  - block
                  - alert
                description: The action applied when the rule matches.
              domains:
                type: array
                description: The domains the rule applies to.
                items:
                  type: string
                  description: A domain name.
              rate_limit_per_minute:
                type: string
                enum:
                  - lenient
                  - moderate
                  - strict
                description: The rate limit category applied to the rule.
            additionalProperties: false
            required:
              - display_name
              - action
              - rate_limit_per_minute
            minProperties: 1
          examples:
            create:
              summary: Creates a rate limiting rule
              value:
                display_name: Rate Rule 1
                action: alert
                rate_limit_per_minute: lenient
                domains:
                  - example.com
    CDN_API_UpdateRateLimitingRuleRequest:
      description: Rate limiting rule update request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              display_name:
                type: string
                description: The display name of the rate limiting rule.
              action:
                type: string
                enum:
                  - block
                  - alert
                description: The action applied when the rule matches.
              domains:
                type: array
                description: The domains the rule applies to.
                items:
                  type: string
                  description: A domain name.
              rate_limit_per_minute:
                type: string
                enum:
                  - lenient
                  - moderate
                  - strict
                description: The rate limit category applied to the rule.
            additionalProperties: false
            minProperties: 1
          examples:
            update:
              summary: Updates a rate limiting rule
              value:
                display_name: Rate Rule 2
                action: block
                rate_limit_per_minute: strict
                domains:
                  - shop.example.com
    CDN_API_UpdateCustomRuleRequest:
      description: Custom security rule update request body
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              display_name:
                type: string
                description: The display name of the custom security rule.
              action:
                type: string
                enum:
                  - block
                  - allow
                  - alert
                description: The action applied when the rule matches.
              priority:
                type: integer
                minimum: 1
                description: The priority order for the rule.
              domains:
                type: array
                description: The domains the rule applies to.
                items:
                  type: string
                  description: A domain name.
              paths:
                type: array
                description: The paths the rule applies to.
                items:
                  type: string
                  description: A path pattern.
            additionalProperties: false
            minProperties: 1
          examples:
            update:
              summary: Updates a custom security rule
              value:
                display_name: Alert login scans
                action: alert
                priority: 2
                domains:
                  - shop.example.com
                paths:
                  - /login
    Environment_Service_API_StartDeploymentRequest:
      description: Deployment start request body
      content:
        application/json:
          schema:
            type: object
            properties:
              run_hooks:
                type: boolean
                description: Whether to run deployment hooks.
              code_reference:
                type: string
                description: The code reference (branch or tag) to deploy.
              hooks_argument:
                type: string
                description: Additional arguments passed to deployment hooks.
            required:
              - run_hooks
              - code_reference
            additionalProperties: false
            minProperties: 1
          examples:
            start_deployment:
              summary: Start a deployment
              description: Starts a deployment for the specified environment.
              value:
                run_hooks: true
                code_reference: release-2025-01-15
                hooks_argument: '--migrate --clear-cache'
    Environment_Service_API_UpdateCodeDeployRequest:
      description: Code deploy concurrency update request body
      content:
        application/json:
          schema:
            type: object
            properties:
              concurrency:
                type: integer
                minimum: 1
                maximum: 100
                description: >-
                  Maximum number of concurrent code deploys allowed for the
                  environment.
            required:
              - concurrency
            additionalProperties: false
            minProperties: 1
          examples:
            update_concurrency:
              summary: Update code deploy concurrency
              description: Sets the maximum concurrent code deploys for the environment.
              value:
                concurrency: 10
    Environment_Service_API_ReorderSiteInstancesRequest:
      description: Site instances reorder request body
      content:
        application/json:
          schema:
            type: object
            properties:
              site_instance_ids:
                type: array
                description: List of site instance IDs in the desired priority order.
                items:
                  type: string
                  description: >-
                    Site instance identifier in the format
                    {siteId}.{environmentId} (dot-separated site and environment
                    UUIDs).
            required:
              - site_instance_ids
            additionalProperties: false
            minProperties: 1
          examples:
            reorder:
              summary: Reorder site instances
              description: >-
                Provides the desired order of site instance IDs for the
                environment.
              value:
                site_instance_ids:
                  - >-
                    3e8ecbec-ea7c-4260-8414-ef2938c859bc.a0c9dff7-56b6-4c0d-bad0-0e6593f66cd3
                  - >-
                    b1d8e2f8-67c7-5d1e-cbe1-1f7604f77de4.c2e9f3a9-78d8-6e2f-dcf2-2a8715a88ef5
                  - >-
                    d3fa04ba-89e9-4f3a-edf3-3b9826b99fa6.e4ab15cb-90fa-4a4b-fea4-4c0937c00ab7
    Environment_Service_API_UpdateEnvironmentRequest:
      description: Update environment request body
      content:
        application/json:
          schema:
            type: object
            properties:
              label:
                type: string
                minLength: 1
                maxLength: 128
                description: Human-readable label for the environment.
              description:
                type: string
                minLength: 1
                maxLength: 512
                description: Description for the environment.
              properties:
                type: object
                description: PHP and server configuration properties for the environment.
                properties:
                  version:
                    type: string
                    description: PHP version (e.g. "8.3").
                  apcu:
                    type: integer
                    description: APCu memory limit in MB.
                  max_execution_time:
                    type: integer
                    description: PHP max execution time in seconds.
                  memory_limit:
                    type: integer
                    description: PHP memory limit in MB.
                  opcache:
                    type: integer
                    description: OPcache memory limit in MB.
                  interned_strings_buffer:
                    type: integer
                    description: OPcache interned strings buffer in MB.
                  client_max_body_size:
                    type: integer
                    description: Nginx client_max_body_size in MB.
                  upload_max_filesize:
                    type: integer
                    description: PHP upload_max_filesize in MB.
                  max_post_size:
                    type: integer
                    description: PHP post_max_size in MB.
                  max_input_vars:
                    type: integer
                    description: PHP max_input_vars.
                  memcached_limit:
                    type: integer
                    description: Memcached memory limit in MB.
                  operating_system:
                    type: string
                    description: Operating system (e.g. "focal").
                  sendmail_path:
                    type: string
                    description: Sendmail path configuration.
            additionalProperties: false
            minProperties: 1
          examples:
            update_label:
              summary: Update environment label
              value:
                label: Staging
                description: Staging environment
            update_properties:
              summary: Update PHP properties
              value:
                properties:
                  version: '8.3'
                  memory_limit: 256
    Environment_Service_API_ClearCachesRequest:
      description: Clear caches request body
      content:
        application/json:
          schema:
            type: object
            properties:
              domains:
                type: array
                description: List of domain names to clear caches for.
                minItems: 1
                items:
                  type: string
                  description: A domain name.
            required:
              - domains
            additionalProperties: false
          examples:
            clear_caches:
              summary: Clear caches for specific domains
              value:
                domains:
                  - example.com
                  - www.example.com
    Environment_Service_API_CreateSiteInstanceRequest:
      description: Create site instance request body
      content:
        application/json:
          schema:
            type: object
            properties:
              site_id:
                type: string
                description: The UUID of the site to associate with this environment.
              source_environment_id:
                type: string
                description: >-
                  The UUID of the environment to copy files and database from
                  during creation.
              source_site_id:
                type: string
                description: >-
                  The UUID of the source site to copy files from during
                  creation.
              hook_arguments:
                type: string
                description: >-
                  Additional arguments to pass to deployment hooks during
                  creation.
            required:
              - site_id
            additionalProperties: false
          examples:
            create:
              summary: Associate a site with an environment
              value:
                site_id: 3e8ecbec-ea7c-4260-8414-ef2938c859bc
    Environment_Service_API_CopySiteInstanceFilesRequest:
      description: Copy site instance files request body
      content:
        application/json:
          schema:
            type: object
            properties:
              source_environment_id:
                type: string
                description: The UUID of the environment to copy files from.
            required:
              - source_environment_id
            additionalProperties: false
          examples:
            copy_files:
              summary: Copy files from another environment
              value:
                source_environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
    Environment_Service_API_CopySiteInstanceDatabaseRequest:
      description: Copy site instance database request body
      content:
        application/json:
          schema:
            type: object
            properties:
              source_environment_id:
                type: string
                description: The UUID of the environment to copy the database from.
            required:
              - source_environment_id
            additionalProperties: false
          examples:
            copy_database:
              summary: Copy database from another environment
              value:
                source_environment_id: d3f7270e-c45f-4801-9308-5e8afe84a323
    Environment_Service_API_AssociatePrivateNetworkRequest:
      description: Associate private network request body
      content:
        application/json:
          schema:
            type: object
            properties:
              private_network_id:
                type: string
                description: >-
                  The identifier of the private network to associate with this
                  environment.
            required:
              - private_network_id
            additionalProperties: false
            minProperties: 1
          examples:
            associate:
              summary: Associate a private network
              value:
                private_network_id: pn-a1b2c3d4-e5f6-7890-abcd-ef1234567890
    Environment_Service_API_UpdateTrustedProxiesRequest:
      description: Update trusted proxies request body
      content:
        application/json:
          schema:
            type: object
            properties:
              cidrs_ipv4:
                type: array
                description: List of trusted IPv4 CIDR blocks.
                items:
                  type: string
                  description: An IPv4 CIDR block (e.g. "203.0.113.0/24").
              cidrs_ipv6:
                type: array
                description: List of trusted IPv6 CIDR blocks.
                items:
                  type: string
                  description: An IPv6 CIDR block (e.g. "2001:db8::/32").
              associated_cdns:
                type: array
                description: List of CDN names to associate with this environment.
                items:
                  type: string
                  enum:
                    - akamai
                    - cloudflare
                    - fastly
            additionalProperties: false
            minProperties: 1
          examples:
            update:
              summary: Update trusted proxy configuration
              value:
                cidrs_ipv4:
                  - 203.0.113.0/24
                cidrs_ipv6: []
                associated_cdns:
                  - cloudflare
    Environment_Service_API_CreateDomainPatternRequest:
      description: Create domain pattern request body
      content:
        application/json:
          schema:
            type: object
            properties:
              pattern:
                type: string
                maxLength: 455
                pattern: ^(?=.*\[site-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
                description: >
                  The domain pattern to apply to all associated sites in this
                  environment, optionally followed by a single path segment. The
                  [site-name] token is mandatory; [environment-name] is
                  optional. Domain ≤ 200 chars excluding token placeholders;
                  optional path max 255 chars matching ^/[A-Za-z0-9._-]+$.
                  Additional semantic rules (no IPs, no forbidden suffixes, no
                  wildcards, one pattern per environment) are enforced at the
                  service layer.
                example: '[site-name].acme.com'
            required:
              - pattern
            additionalProperties: false
          examples:
            create_domain_pattern:
              summary: Create a domain pattern
              value:
                pattern: '[site-name].acme.com'
    Environment_Service_API_UpdateDomainPatternRequest:
      description: Update domain pattern request body
      content:
        application/json:
          schema:
            type: object
            properties:
              pattern:
                type: string
                maxLength: 455
                pattern: ^(?=.*\[site-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
                description: >
                  The updated domain pattern to apply to all associated sites in
                  this environment, optionally followed by a single path
                  segment. The [site-name] token is mandatory. Domain ≤ 200
                  chars excluding token placeholders; optional path max 255
                  chars matching ^/[A-Za-z0-9._-]+$. Additional semantic rules
                  (no IPs, no forbidden suffixes, no wildcards, one pattern per
                  environment) are enforced at the service layer.
            required:
              - pattern
            additionalProperties: false
            minProperties: 1
          examples:
            update_domain_pattern:
              summary: Update a domain pattern
              value:
                pattern: '[site-name].staging.acme.com'
    Failover_Service_API_CreateFailoverGroupRequest:
      description: Create failover group request body
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                description: The name of the failover group.
                example: Primary Failover Group
            required:
              - name
            additionalProperties: false
          examples:
            create:
              summary: Creates a new failover group
              description: Creates a new failover group with the specified name
              value:
                name: Primary Failover Group
    Failover_Service_API_SaveMultiRegionFailoverRequest:
      description: Multi-region failover enable request body
      content:
        application/json:
          schema:
            type: object
            properties:
              region:
                type: string
                description: The region to enable multi-region failover for.
                example: us-east-1
            required:
              - region
            additionalProperties: false
            minProperties: 1
          examples:
            enable:
              summary: Enables multi-region failover for a region
              description: Enables multi-region failover for the specified region
              value:
                region: us-east-1
  schemas:
    Site_Service_API_Site:
      type: object
      description: A Site resource
      properties:
        id:
          type: string
          description: The unique identifier of the site
          pattern: ^[a-zA-Z0-9-]+$
          example: 12345678-1234-1234-1234-123456789012
        name:
          type: string
          description: >-
            The machine name of the site. Must start with a lowercase letter and
            contain only lowercase letters and numbers.
          minLength: 1
          maxLength: 14
          pattern: ^[a-z][a-z0-9]*$
          example: mysite
        label:
          type: string
          description: The human-readable label of the site
          minLength: 1
          maxLength: 50
          example: My Site 1
        description:
          type: string
          description: A description of the site
          maxLength: 512
          example: A production site for the marketing team.
        codebase_id:
          type: string
          description: The unique identifier of the codebase this site belongs to
          pattern: ^[a-zA-Z0-9-]+$
          example: 550e8400-e29b-41d4-a716-446655441210
        status:
          type: string
          description: >
            The current lifecycle status of the site. ready indicates the site
            is active and operational. marked-for-deletion indicates the site
            has been scheduled for deletion and can still be recovered.
          enum:
            - ready
            - marked-for-deletion
          example: ready
        delete_at:
          type: string
          format: date-time
          description: >-
            ISO 8601 datetime indicating when the site is scheduled for
            deletion. Only present when status is marked-for-deletion.
          example: '2025-06-15T00:00:00Z'
      required:
        - id
        - name
        - label
        - codebase_id
        - status
    Site_Service_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Site_Service_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Site_Service_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Site_Service_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Site_Service_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Site_Service_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Site_Service_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Site_Service_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/Site_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/Site_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Site_Service_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Site_Service_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/Site_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Site_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Site_Service_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/Site_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/Site_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    Site_Service_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Site_Service_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Site_Service_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Site_Service_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Site_Service_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Site_Service_API_Message:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Site_Service_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    Site_Service_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Site_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    SSH_Key_Service_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
    SSH_Key_Service_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    SSH_Key_Service_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    SSH_Key_Service_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                    - properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                    - properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
    SSH_Key_Service_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                    - properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for filtering.
              additionalProperties:
                $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
    SSH_Key_Service_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
                    - properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for sorting.
              additionalProperties:
                $ref: '#/components/schemas/SSH_Key_Service_API_HalLink'
    SSH_Key_Service_API_SshKey:
      allOf:
        - type: object
          required:
            - id
            - label
            - public_key
            - fingerprint
            - created_at
            - user_id
          description: Details an SSH key.
          properties:
            id:
              type: string
              description: The unique identifier of the SSH key.
              pattern: ^[a-zA-Z0-9-]+$
            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.
              pattern: ^[A-Za-z0-9:+/=.-]+$
            created_at:
              type: string
              format: date-time
              description: The key creation date.
            user_id:
              type: string
              description: The unique identifier of the user who owns this SSH key.
              pattern: ^[a-zA-Z0-9-]+$
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalItem'
    SSH_Key_Service_API_SshKeys:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalCollection'
        - $ref: '#/components/schemas/SSH_Key_Service_API_PaginatedCollection'
        - $ref: '#/components/schemas/SSH_Key_Service_API_FilteredCollection'
        - $ref: '#/components/schemas/SSH_Key_Service_API_SortedCollection'
        - type: object
          description: A collection of SSH keys.
          properties:
            _embedded:
              type: object
              description: A collection of SSH keys matching the request parameters.
              properties:
                items:
                  type: array
                  items:
                    $ref: '#/components/schemas/SSH_Key_Service_API_SshKey'
              required:
                - items
          required:
            - _embedded
    SSH_Key_Service_API_Message:
      allOf:
        - type: object
          required:
            - message
          properties:
            message:
              type: string
              description: The human-friendly confirmation of the operation.
        - $ref: '#/components/schemas/SSH_Key_Service_API_HalItem'
    SSH_Key_Service_API_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
    SSH_Key_Service_API_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.
    SSH_Key_Service_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    SSH_Key_Service_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    SSH_Key_Service_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    SSH_Key_Service_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    SSH_Key_Service_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/SSH_Key_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    API_Specs_API_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.
    API_Specs_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/API_Specs_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Codebase_Service_API_Codebase:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the codebase
        label:
          type: string
          description: Human-readable label for the codebase
        region:
          type: string
          description: AWS region of the codebase
        vcs_url:
          type: string
          format: uri
          description: VCS repository URL
        repository_id:
          type: string
          description: VCS repository identifier
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp
        description:
          type: string
          description: Description of the codebase
        flags:
          type: object
          properties:
            is_active:
              type: boolean
              description: Whether the codebase is active
            is_meo:
              type: boolean
              description: Whether the codebase is MEO
          required:
            - is_active
            - is_meo
          description: Feature flags for the codebase
        hash:
          type: string
          description: Codebase hash
        applications_total:
          type: integer
          description: Total number of applications linked to this codebase
      required:
        - id
        - label
        - region
        - vcs_url
        - repository_id
        - created_at
        - updated_at
        - flags
        - hash
        - applications_total
    Codebase_Service_API_CodebaseReference:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the reference
        name:
          type: string
          description: Name of the git reference
        type:
          type: string
          enum:
            - branch
            - tag
          description: Type of the git reference
      required:
        - id
        - name
        - type
    Codebase_Service_API_DomainPattern:
      type: object
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the domain pattern.
        pattern:
          type: string
          maxLength: 455
          pattern: >-
            ^(?=.*\[site-name\])(?=.*\[environment-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
          description: >
            The domain pattern string, optionally followed by a single path
            segment (e.g. [site-name].[environment-name].acme.com/app). Both
            [site-name] and [environment-name] tokens are mandatory at codebase
            level. Domain rules (enforced in service layer): ≤ 200 chars
            excluding token placeholders, at least 2 components (must contain
            .), no IP addresses, no forbidden suffixes (acquia-sites.com,
            hosting.acquia.com), no wildcards, no leading/trailing dot or
            hyphen, no consecutive dots, no query string or fragment. Path
            rules: optional, max 255 chars, must match ^/[A-Za-z0-9._-]+$, max 1
            segment. DNS label limit: 63 chars after token substitution
            ([site-name] ≤ 14 chars, [environment-name] ≤ 10 chars). One pattern
            per codebase.
          example: '[site-name].[environment-name].acme.com'
      required:
        - id
        - pattern
    Codebase_Service_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Codebase_Service_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Codebase_Service_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Codebase_Service_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Codebase_Service_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Codebase_Service_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Codebase_Service_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Codebase_Service_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Codebase_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Codebase_Service_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Codebase_Service_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Codebase_Service_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Codebase_Service_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Codebase_Service_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Codebase_Service_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    Codebase_Service_API_Message:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Codebase_Service_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    Codebase_Service_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/Codebase_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/Codebase_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/Codebase_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    Federated_Authentication_API_IdentityProvider:
      type: object
      properties:
        identity_provider_id:
          type: string
          description: Unique identifier for the identity provider.
        label:
          type: string
          description: The name of the Identity Provider.
        subscription_id:
          type: string
          description: >-
            Unique identifier for the subscription that the Identity Provider
            belongs to.
        idp_entity_id:
          type: string
          format: uri
          description: The Identity Provider Entity ID.
        sp_entity_id:
          type: string
          format: uri
          description: The Service Provider Entity ID.
        sso_url:
          type: string
          format: uri
          description: The Single Sign-On URL for the Identity Provider.
        certificate:
          type: string
          description: The X.509 certificate used for SAML authentication.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the Identity Provider was created.
      required:
        - identity_provider_id
        - label
        - subscription_id
        - idp_entity_id
        - sp_entity_id
        - sso_url
        - certificate
        - created_at
    Federated_Authentication_API_SsoDomain:
      type: object
      properties:
        domain_id:
          type: string
          description: Unique identifier for the domain.
        domain:
          type: string
          pattern: ^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z]{2,})+$
          description: The domain name (e.g., "acme.com").
        subscription_id:
          type: string
          description: Unique identifier for the subscription that the domain belongs to.
        health:
          type: object
          description: >-
            The overall verification health of the domain. Uses the same code
            semantics as the platform email domain-verification system: `200`
            verified, `202` verification pending or in progress, `404` DNS
            record not found or could not be validated.
          properties:
            code:
              type: string
              enum:
                - '200'
                - '202'
                - '404'
              description: >-
                Machine-readable verification status code. `200` — verified.
                `202` — verification pending or in progress; retry after
                propagation. `404` — DNS TXT record not found or does not match
                expected value.
            summary:
              type: string
              description: >-
                Short human-readable label for the verification state (e.g.,
                "Verified", "Verification pending", "Missing DNS record").
            details:
              type: string
              description: >-
                Actionable explanation of the current state. For `404`,
                describes what was checked and what the customer should do next.
          required:
            - code
            - summary
            - details
        verification_record:
          type: object
          description: DNS TXT record the customer must publish to verify domain ownership.
          properties:
            type:
              type: string
              const: TXT
              description: DNS record type.
            host:
              type: string
              description: DNS record host name.
            value:
              type: string
              description: Expected DNS record value.
            health:
              type: object
              description: >-
                Verification health specific to this DNS record. Anchors the
                failure reason to the exact record the customer needs to fix,
                matching the per-record health pattern used in platform email
                domain verification.
              properties:
                code:
                  type: string
                  enum:
                    - '200'
                    - '202'
                    - '404'
                  description: >-
                    `200` — record found and value matches. `202` — check in
                    progress. `404` — record not found or value does not match.
                summary:
                  type: string
                  description: >-
                    Short human-readable label for this record's verification
                    state.
                details:
                  type: string
                  description: >-
                    Actionable explanation; for `404`, states what was checked
                    and what to fix.
              required:
                - code
                - summary
                - details
          required:
            - type
            - host
            - value
            - health
        verified_at:
          type: string
          format: date-time
          description: >-
            Timestamp when the domain was successfully verified. Present only
            when `health.code` is `200`.
      required:
        - domain_id
        - domain
        - subscription_id
        - health
        - verification_record
    Federated_Authentication_API_SsoPolicy:
      type: object
      description: SSO policy that enforces an Identity Provider for specific domains.
      properties:
        status:
          type: string
          enum:
            - enabled
            - disabled
          default: disabled
          description: >-
            The status of the SSO policy. When enabled, the policy enforces SSO
            for the specified domains. Defaults to disabled on creation.
        _embedded:
          type: object
          description: Embedded resources for the SSO policy.
          properties:
            domains:
              type: array
              description: >-
                The SSO domains enforced by this policy, each with a self link
                back to the authoritative SsoDomain resource.
              items:
                allOf:
                  - $ref: >-
                      #/components/schemas/Federated_Authentication_API_SsoDomain
                  - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
          required:
            - domains
      required:
        - status
        - _embedded
    Federated_Authentication_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Federated_Authentication_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Federated_Authentication_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Federated_Authentication_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: >-
                        #/components/schemas/Federated_Authentication_API_HalLink
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: >-
                        #/components/schemas/Federated_Authentication_API_HalLink
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Federated_Authentication_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: >-
                        #/components/schemas/Federated_Authentication_API_HalLink
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Federated_Authentication_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: >-
                        #/components/schemas/Federated_Authentication_API_HalLink
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/Federated_Authentication_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    Federated_Authentication_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Federated_Authentication_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Federated_Authentication_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Federated_Authentication_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Federated_Authentication_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    Federated_Authentication_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Federated_Authentication_API_Message:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Federated_Authentication_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Federated_Authentication_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    Tag_API_Tag:
      type: object
      properties:
        name:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          minLength: 1
          maxLength: 255
          description: The name of the tag
        color:
          type: string
          pattern: ^#((?:[a-f0-9]{3}){1,2})$
          minLength: 4
          maxLength: 7
          description: The color of the tag
      required:
        - name
        - color
    Tag_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Tag_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Tag_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Tag_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Tag_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Tag_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Tag_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Tag_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Tag_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Tag_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/Tag_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/Tag_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Tag_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Tag_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Tag_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/Tag_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Tag_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Tag_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/Tag_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/Tag_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/Tag_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    Tag_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Tag_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Tag_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Tag_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Tag_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Tag_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Tag_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    Tag_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Tag_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Tag_API_Message:
      allOf:
        - $ref: '#/components/schemas/Tag_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Tag_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Tag_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Tag_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    CDN_API_Domain:
      type: object
      description: CDN domain resource.
      properties:
        domain:
          type: string
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]?(\.[a-zA-Z]{2,})+$
          description: The fully qualified domain name.
        subscription_uuid:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: The unique identifier of the subscription the domain belongs to.
        environment_id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: The environment identifier associated with the domain.
        application_name:
          type: string
          description: The name of the application associated with the domain.
        status:
          type: string
          description: The current status of the domain.
          enum:
            - connecting-to-edge
            - domain-validation-pending
            - ready-for-dns-repointing
            - configuration-failed
            - configured
        ownership_validation_cname:
          type: string
          description: >-
            The CNAME record that must be created on the domain's DNS to
            validate ownership.
        bandwidth_usage_tb:
          type: number
          format: float
          description: The bandwidth usage for the domain in terabytes.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the domain was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the domain was last updated.
      required:
        - domain
        - subscription_uuid
        - environment_id
        - status
        - application_name
        - ownership_validation_cname
        - bandwidth_usage_tb
        - created_at
        - updated_at
    CDN_API_SecurityRuleSet:
      type: object
      properties:
        id:
          type: integer
          minimum: 1
          description: The unique identifier of the security ruleset.
        name:
          type: string
          description: The display name of the security ruleset.
        is_enabled:
          type: boolean
          description: Indicates whether the security ruleset is enabled.
        description:
          type: string
          description: The description of the security ruleset.
        type:
          type: string
          description: The type of the security ruleset.
          enum:
            - owasp
            - acquia-managed
      required:
        - id
        - name
        - is_enabled
    CDN_API_IpRule:
      type: object
      properties:
        id:
          type: integer
          minimum: 1
          description: The unique identifier of the IP rule.
        display_name:
          type: string
          description: The display name of the IP rule.
        action:
          type: string
          enum:
            - block
            - allow
          description: The action applied when the rule matches.
        description:
          type: string
          description: The description of the IP rule.
        ips:
          type: array
          description: The IPs or CIDR blocks associated with the rule.
          items:
            type: string
            description: An IP address or CIDR block.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the rule was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the rule was last updated.
      required:
        - id
        - display_name
        - action
        - ips
        - created_at
        - updated_at
    CDN_API_CustomRule:
      type: object
      properties:
        id:
          type: integer
          minimum: 1
          description: The unique identifier of the custom security rule.
        display_name:
          type: string
          description: The display name of the custom security rule.
        action:
          type: string
          enum:
            - block
            - allow
            - alert
          description: The action applied when the rule matches.
        priority:
          type: integer
          minimum: 1
          description: |
            The priority order for the rule. Lower values are evaluated first.
            Priorities must be unique within a subscription — creating or
            updating a rule with a priority already in use replaces the
            existing rule at that priority.
        domains:
          type: array
          description: The domains the rule applies to.
          items:
            type: string
            description: A domain name.
        paths:
          type: array
          description: The paths the rule applies to.
          items:
            type: string
            description: A path pattern.
        mapped_domains_count:
          type: integer
          description: The number of domains the rule is mapped to.
        targets:
          type: array
          description: Conditions that must match for the rule to fire.
          items:
            oneOf:
              - description: Range match for IP or ASN ranges.
                type: object
                required:
                  - attribute
                  - criteria
                  - value
                additionalProperties: false
                properties:
                  attribute:
                    type: string
                    description: The request attribute the rule inspects.
                    enum:
                      - source-ip
                      - asn
                  criteria:
                    type: string
                    description: How `value` is compared against `attribute`.
                    enum:
                      - range
                  value:
                    type: object
                    description: Range bounds for IP or ASN ranges.
                    additionalProperties: false
                    required:
                      - from
                      - to
                    properties:
                      from:
                        type: string
                        description: The start of the range.
                      to:
                        type: string
                        description: The end of the range.
              - description: Value-list match for non-header, non-query attributes.
                type: object
                required:
                  - attribute
                  - criteria
                  - value
                additionalProperties: false
                properties:
                  attribute:
                    type: string
                    description: The request attribute the rule inspects.
                    enum:
                      - source-ip
                      - country
                      - method
                      - path
                      - asn
                  criteria:
                    type: string
                    description: How `value` is compared against `attribute`.
                    enum:
                      - equals
                      - contains
                      - regex
                  value:
                    type: object
                    description: A list of candidate values combined with OR.
                    additionalProperties: false
                    required:
                      - values
                    properties:
                      values:
                        type: array
                        description: The list of values.
                        items:
                          type: string
                          description: A value.
              - description: Key-value match for header or query-string attributes.
                type: object
                required:
                  - attribute
                  - criteria
                  - value
                additionalProperties: false
                properties:
                  attribute:
                    type: string
                    description: The request attribute the rule inspects.
                    enum:
                      - header
                      - query-string
                  criteria:
                    type: string
                    description: How `value` is compared against `attribute`.
                    enum:
                      - equals
                      - contains
                      - regex
                  value:
                    type: object
                    description: Key-value matchers for header or query-string attributes.
                    additionalProperties: false
                    required:
                      - key_value_pairs
                    properties:
                      key_value_pairs:
                        type: array
                        description: The list of key-value pairs.
                        items:
                          type: object
                          description: A key-value pair.
                          required:
                            - key
                            - value
                          properties:
                            key:
                              type: string
                              description: The header or query-parameter name.
                            value:
                              type: string
                              description: The expected value.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the rule was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the rule was last updated.
      required:
        - id
        - display_name
        - action
        - priority
        - domains
        - paths
        - created_at
        - updated_at
        - targets
    CDN_API_RateLimitingRule:
      type: object
      properties:
        id:
          type: integer
          minimum: 1
          description: The unique identifier of the rate limiting rule.
        display_name:
          type: string
          description: The display name of the rate limiting rule.
        action:
          type: string
          enum:
            - block
            - alert
          description: The action applied when the rule matches.
        rate_limit_per_minute:
          type: string
          enum:
            - lenient
            - moderate
            - strict
          description: The rate limit category applied to the rule.
        domains:
          type: array
          description: The domains the rule applies to.
          items:
            type: string
            description: A domain name.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the rule was created.
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the rule was last updated.
      required:
        - id
        - display_name
        - action
        - rate_limit_per_minute
        - domains
        - created_at
        - updated_at
    CDN_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    CDN_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/CDN_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/CDN_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    CDN_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/CDN_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    CDN_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/CDN_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/CDN_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/CDN_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/CDN_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/CDN_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/CDN_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    CDN_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/CDN_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/CDN_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/CDN_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    CDN_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/CDN_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/CDN_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/CDN_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    CDN_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    CDN_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    CDN_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/CDN_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    CDN_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/CDN_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    CDN_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/CDN_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    CDN_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/CDN_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    CDN_API_Message:
      allOf:
        - $ref: '#/components/schemas/CDN_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    CDN_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/CDN_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    Environment_Service_API_SiteInstance:
      type: object
      description: Site Instance properties
      properties:
        site_id:
          type: string
          description: The unique identifier of the site
          pattern: ^[a-zA-Z0-9-]+$
        environment_id:
          type: string
          description: The unique identifier of the environment
          pattern: ^[a-zA-Z0-9-]+$
        status:
          type: string
          description: The current status of the site instance
          enum:
            - active
            - creating
            - create-failed
            - updating
            - update-failed
            - deleting
            - deleted
            - delete-failed
        health_status:
          type: object
          description: Health status information for the site instance
          properties:
            code:
              type: string
              description: Health status code
            summary:
              type: string
              description: Summary of the health status
            details:
              type: string
              description: Detailed health status information
          required:
            - code
            - summary
            - details
        domains:
          type: array
          description: List of domains associated with the site instance
          items:
            type: string
        deployment_order:
          type:
            - integer
            - 'null'
          description: >-
            The order in which this site instance is deployed relative to
            others.
          example: 1
        delete_at:
          type:
            - string
            - 'null'
          format: date-time
          description: The scheduled deletion date-time for this site instance, if set.
        date_marked_for_deletion:
          type:
            - string
            - 'null'
          format: date-time
          description: The date-time when this site instance was marked for deletion.
        protection_mode:
          type:
            - object
            - 'null'
          description: The current protection mode of the site instance
          properties:
            is_enabled:
              type: boolean
              description: >-
                Indicates whether the protection mode is enabled for the site
                instance
            is_inherited:
              type: boolean
              description: >-
                Indicates whether the protection mode is inherited from the
                environment
          required:
            - is_enabled
            - is_inherited
      required:
        - site_id
        - environment_id
        - status
        - health_status
        - domains
    Environment_Service_API_Environment:
      type: object
      description: Environment properties
      properties:
        id:
          type: string
          description: The unique identifier of the environment
          pattern: ^[a-zA-Z0-9-]+$
        name:
          type: string
          description: The machine name of the environment
        label:
          type: string
          description: The human-readable label of the environment
        description:
          type: string
          description: A description of the environment
        status:
          type: string
          description: The current status of the environment
          enum:
            - normal
            - allocated
            - launching
            - killed
            - cancelled
            - stopped
        flags:
          type: object
          description: Environment configuration flags
          additionalProperties:
            type: boolean
        properties:
          type: object
          description: Environment PHP and server properties
          properties:
            version:
              type: string
              description: PHP version
            max_execution_time:
              type: integer
              description: Maximum execution time in seconds
            memory_limit:
              type: integer
              description: Memory limit in MB
            apcu:
              type: integer
              description: APCu cache size in MB
            client_max_body_size:
              type: integer
              description: Maximum client body size in MB
            max_input_vars:
              type: integer
              description: Maximum number of input variables
            max_post_size:
              type: integer
              description: Maximum POST size in MB
            memcached_limit:
              type: integer
              description: Memcached limit in MB
            upload_max_filesize:
              type: integer
              description: Maximum upload file size in MB
            operating_system:
              type: string
              description: Operating system codename
        reference:
          type: string
          description: >-
            The code reference (branch, tag, or commit) deployed to this
            environment
        code_switch_status:
          type: string
          description: The status of the Switch Code action
          enum:
            - IDLE
            - IN_PROGRESS
        ssh_url:
          type: string
          format: uri
          description: The SSH connection string for accessing this environment
      required:
        - id
        - name
        - label
        - status
        - flags
        - properties
        - reference
        - code_switch_status
        - ssh_url
    Environment_Service_API_EmbeddedCodebase:
      type: object
      description: Embedded codebase resource
      properties:
        id:
          type: string
          description: The unique identifier of the codebase
      required:
        - id
    Environment_Service_API_Deployment:
      type: object
      description: Deployment properties
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the deployment.
        environment_id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Identifier of the environment this deployment belongs to.
        status:
          type: string
          description: Current status of the deployment.
          enum:
            - waiting
            - received
            - started
            - done
            - failed
            - error
            - killed
        code_reference:
          type: string
          description: The code reference (e.g. branch or tag) deployed.
        run_hooks:
          type: boolean
          description: Whether deployment hooks were run.
        hooks_argument:
          type:
            - string
            - 'null'
          description: Additional arguments passed to deployment hooks.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the deployment was created.
        started_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Timestamp when the deployment started.
        completed_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Timestamp when the deployment completed.
        sender_id:
          type:
            - string
            - 'null'
          description: Identifier of the user or system that initiated the deployment.
        logs:
          type:
            - string
            - 'null'
          description: Deployment log output.
      required:
        - id
        - environment_id
        - status
        - code_reference
        - run_hooks
        - created_at
    Environment_Service_API_CodeDeploy:
      type: object
      properties:
        concurrency:
          type: integer
          minimum: 1
          maximum: 100
          description: >-
            Maximum number of concurrent code deploys allowed for the
            environment.
      required:
        - concurrency
    Environment_Service_API_Domain:
      type: object
      description: Domain properties
      properties:
        name:
          type: string
          description: The domain name.
        is_managed:
          type: boolean
          description: Whether the domain is managed by Acquia.
      required:
        - name
        - is_managed
    Environment_Service_API_DomainStatus:
      type: object
      description: Domain DNS status properties
      properties:
        hostname:
          type: string
          description: The domain name.
        site_id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Identifier of the site this domain belongs to.
        environment_id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Identifier of the environment this domain belongs to.
        ip_addresses:
          type: array
          description: List of IP addresses resolving for this domain.
          items:
            type: string
        cnames:
          type: array
          description: List of CNAME records resolving for this domain.
          items:
            type: string
        flags:
          type: object
          description: Status flags for the domain.
          properties:
            default:
              type: boolean
              description: Whether this is the default domain.
            active:
              type: boolean
              description: Whether the domain is active.
            dns_resolves:
              type: boolean
              description: Whether the domain DNS resolves correctly.
            acquia_hosted:
              type: boolean
              description: Whether the domain is hosted on Acquia infrastructure.
          required:
            - default
            - active
            - dns_resolves
            - acquia_hosted
      required:
        - hostname
        - site_id
        - environment_id
        - ip_addresses
        - cnames
        - flags
    Environment_Service_API_Database:
      type: object
      description: Database properties
      properties:
        database_name:
          type: string
          description: The name of the database.
        database_role:
          type: string
          description: The role of the database (e.g. the site username).
      required:
        - database_name
        - database_role
    Environment_Service_API_DatabaseConnection:
      type: object
      description: Database connection credential properties
      properties:
        db_host:
          type: string
          description: The database host.
        name:
          type: string
          description: The database name.
        password:
          type: string
          description: The database password.
        user_name:
          type: string
          description: The database username.
        ssh_host:
          type: string
          description: The SSH host for tunneling to the database.
      required:
        - db_host
        - name
        - password
        - user_name
        - ssh_host
    Environment_Service_API_DatabaseBackup:
      type: object
      description: Database backup properties
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the database backup.
        database_id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Identifier of the database this backup belongs to.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the backup was created.
        type:
          type: string
          enum:
            - DAILY
            - ON_DEMAND
          description: The type of backup.
      required:
        - id
        - database_id
        - created_at
        - type
    Environment_Service_API_EgressIp:
      type: object
      description: Egress IP properties
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the egress IP.
        status:
          type: string
          description: Current status of the egress IP.
        ipv4:
          type: string
          description: The IPv4 address.
        ipv6:
          type:
            - string
            - 'null'
          description: The IPv6 address, if assigned.
        flags:
          type: object
          description: Status flags for the egress IP.
          additionalProperties:
            type: boolean
      required:
        - id
        - status
        - ipv4
        - flags
    Environment_Service_API_TrustedProxies:
      type: object
      description: Trusted proxy configuration properties
      properties:
        cidrs_ipv4:
          type: array
          description: List of trusted IPv4 CIDR blocks.
          items:
            type: string
        cidrs_ipv6:
          type: array
          description: List of trusted IPv6 CIDR blocks.
          items:
            type: string
        associated_cdns:
          type: object
          description: >-
            Map of CDN configurations associated with this environment, keyed by
            CDN name.
          additionalProperties:
            type: object
            properties:
              label:
                type: string
                description: Display label for the CDN.
              is_enabled:
                type: boolean
                description: Whether the CDN is enabled.
            required:
              - label
              - is_enabled
      required:
        - cidrs_ipv4
        - cidrs_ipv6
        - associated_cdns
    Environment_Service_API_PrivateNetwork:
      type: object
      description: Private network reference properties
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the private network.
        label:
          type:
            - string
            - 'null'
          description: Human-readable label for the private network.
      required:
        - id
    Environment_Service_API_DomainPattern:
      type: object
      properties:
        id:
          type: string
          pattern: ^[a-zA-Z0-9-]+$
          description: Unique identifier for the domain pattern.
        pattern:
          type: string
          maxLength: 455
          pattern: ^(?=.*\[site-name\])[\[\]a-zA-Z0-9.-]+(/[A-Za-z0-9._-]+)?$
          description: >
            The domain pattern string, optionally followed by a single path
            segment (e.g. [site-name].acme.com/app). The [site-name] token is
            mandatory; [environment-name] is optional at environment level.
            Domain rules (enforced in service layer): ≤ 200 chars excluding
            token placeholders, at least 2 components (must contain .), no IP
            addresses, no forbidden suffixes (acquia-sites.com,
            hosting.acquia.com), no wildcards, no leading/trailing dot or
            hyphen, no consecutive dots, no query string or fragment. Path
            rules: optional, max 255 chars, must match ^/[A-Za-z0-9._-]+$, max 1
            segment. DNS label limit: 63 chars after token substitution
            ([site-name] ≤ 14 chars). One pattern per environment.
          example: '[site-name].acme.com'
      required:
        - id
        - pattern
    Environment_Service_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Environment_Service_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Environment_Service_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Environment_Service_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Environment_Service_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Environment_Service_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Environment_Service_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Environment_Service_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/Environment_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/Environment_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Environment_Service_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Environment_Service_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/Environment_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Environment_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Environment_Service_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Environment_Service_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Environment_Service_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Environment_Service_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Environment_Service_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
    Environment_Service_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Environment_Service_API_Message:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Environment_Service_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    Environment_Service_API_SortedCollection:
      allOf:
        - $ref: '#/components/schemas/Environment_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                sort:
                  allOf:
                    - $ref: '#/components/schemas/Environment_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for sorting. The `sort` query parameter is a
                    comma-delimited string with fields that are used for
                    sorting. The order of fields is significant. A leading "-"
                    in the field name indicates the field should be sorted in
                    descending order. (e.g. sort=field,-field2 indicates that
                    the result set will be sorted by "field" in ascending order,
                    then by "field2" in descending order.)
              additionalProperties:
                $ref: '#/components/schemas/Environment_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?sort=name,-created_at
            sort:
              href: https://api.acquia.com/v3/resources{?sort}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
    Failover_Service_API_FailoverGroup:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the failover group.
          example: b2c3d4e5-f6a7-8901-bcde-f12345678901
        name:
          type: string
          description: The name of the failover group.
          example: Primary Failover Group
        status:
          type: string
          enum:
            - creating
            - normal
            - failed-over
            - failing-over
            - error
            - deleting
            - deleted
          description: The current status of the failover group.
          example: normal
        pairs:
          type: array
          description: The list of failover pairs belonging to this failover group.
          items:
            $ref: '#/components/schemas/Failover_Service_API_FailoverPair'
      required:
        - id
        - name
        - status
        - pairs
    Failover_Service_API_FailoverPair:
      type: object
      properties:
        service_name:
          type: string
          description: The name of the service for this failover pair.
          example: my-application-service
        primary_id:
          type: string
          description: The ID of the primary resource in the failover pair.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        failover_id:
          type: string
          description: The UUID of the failover resource in the failover pair.
          example: f1e2d3c4-b5a6-7890-fedc-ba9876543210
      required:
        - service_name
        - primary_id
        - failover_id
    Failover_Service_API_MultiRegionFailoverStatus:
      type: object
      properties:
        is_enabled:
          type: boolean
          description: Whether multi-region failover is enabled for the environment.
        failover_group_id:
          type: string
          description: >-
            The identifier of the failover group associated with the
            environment.
        is_traffic_failed_over:
          type: boolean
          description: Whether traffic has been failed over to the secondary region.
      required:
        - is_enabled
    Failover_Service_API_HalLink:
      type: object
      description: HAL link object
      properties:
        href:
          type: string
          anyOf:
            - format: uri
            - format: uri-template
          description: The target URI of the link (can be a URI or URI template)
        templated:
          type: boolean
          description: Whether the link is a URI template
        type:
          type: string
          description: >-
            Hint about the media type expected when dereferencing the target
            resource
        deprecation:
          type: string
          description: A URL to a resource that provides deprecation information
        name:
          type: string
          description: A secondary key for selecting links
        profile:
          type: string
          description: A URI that hints about the profile of the target resource
        title:
          type: string
          description: A human-readable identifier for the link
        hreflang:
          type: string
          description: The language of the target resource
      required:
        - href
      examples:
        - href: https://api.acquia.com/v3/resources/1
        - href: https://api.acquia.com/v3/resources{?offset}
          templated: true
    Failover_Service_API_HalItem:
      type: object
      properties:
        _links:
          type: object
          description: HAL links for the resource
          properties:
            self:
              $ref: '#/components/schemas/Failover_Service_API_HalLink'
          required:
            - self
          additionalProperties:
            $ref: '#/components/schemas/Failover_Service_API_HalLink'
        _embedded:
          type: object
          description: Embedded resources (optional)
          additionalProperties: {}
      required:
        - _links
    Failover_Service_API_HalCollection:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_HalItem'
        - type: object
          properties:
            _embedded:
              type: object
              description: Embedded resources for the collection
              properties:
                items:
                  type: array
                  description: The array of resources in the collection
                  items:
                    type: object
              required:
                - items
          required:
            - _embedded
    Failover_Service_API_PaginatedCollection:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                prev:
                  $ref: '#/components/schemas/Failover_Service_API_HalLink'
                  description: Link to the previous page (templated)
                next:
                  $ref: '#/components/schemas/Failover_Service_API_HalLink'
                  description: Link to the next page (templated)
                offset:
                  allOf:
                    - $ref: '#/components/schemas/Failover_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for offset
                limit:
                  allOf:
                    - $ref: '#/components/schemas/Failover_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: Templated link for limit
              additionalProperties:
                $ref: '#/components/schemas/Failover_Service_API_HalLink'
            count:
              type: integer
              description: The number of items in the current page
            total:
              type: integer
              description: The total number of items available
            pagination:
              type: object
              properties:
                total:
                  type: integer
                  description: The total number of items available
                limit:
                  type: integer
                  description: The maximum number of items to retrieve in a single page
                offset:
                  type: integer
                  description: The starting position of the items to retrieve
              required:
                - total
                - limit
                - offset
          required:
            - count
            - total
            - pagination
      examples:
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 2
          _embedded:
            items:
              - id: 456e4567-e89b-11d3-a789-426614174000
                name: Resource 3
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/456e4567-e89b-11d3-a789-426614174000
              - id: 789e4567-e89b-11d3-a789-426614174000
                name: Resource 4
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/789e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=0&limit=2
            next:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 0
          _embedded:
            items:
              - id: 111e4567-e89b-11d3-a789-426614174000
                name: Resource 1
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/111e4567-e89b-11d3-a789-426614174000
              - id: 222e4567-e89b-11d3-a789-426614174000
                name: Resource 2
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/222e4567-e89b-11d3-a789-426614174000
        - _links:
            self:
              href: https://api.acquia.com/v3/resources?offset=4&limit=2
            prev:
              href: https://api.acquia.com/v3/resources?offset=2&limit=2
            offset:
              href: https://api.acquia.com/v3/resources{?offset}
              templated: true
            limit:
              href: https://api.acquia.com/v3/resources{?limit}
              templated: true
          count: 2
          total: 6
          pagination:
            total: 6
            limit: 2
            offset: 4
          _embedded:
            items:
              - id: 999e4567-e89b-11d3-a789-426614174000
                name: Resource 5
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/999e4567-e89b-11d3-a789-426614174000
              - id: aaaee567-e89b-11d3-a789-426614174000
                name: Resource 6
                _links:
                  self:
                    href: >-
                      https://api.acquia.com/v3/resources/aaaee567-e89b-11d3-a789-426614174000
    Failover_Service_API_FilteredCollection:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_HalCollection'
        - type: object
          properties:
            _links:
              type: object
              properties:
                filter:
                  allOf:
                    - $ref: '#/components/schemas/Failover_Service_API_HalLink'
                    - type: object
                      properties:
                        templated:
                          type: boolean
                          enum:
                            - true
                      required:
                        - templated
                  description: >-
                    Templated link for filtering. The `filter` query parameter
                    is a string to signify the fields to filter the result set
                    by. If the filter includes logical filters this string will
                    be delimited by a "," for a logical OR filter, or a ";" for
                    logical AND filters. Note: Only one type logical filter will
                    be accepted. If the filter contains both OR and AND filters
                    it will be rejected. (e.g.
                    filter=field=value*;field2=value2* indicates that the result
                    set will be filtered by "field" using the term "value*" AND
                    "field2" using the term "value2*". Note that * is a wildcard
                    character in this context). Allowed filter 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: !@ (!@)
              additionalProperties:
                $ref: '#/components/schemas/Failover_Service_API_HalLink'
      examples:
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=field=value*;field2=value2*
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '1'
                name: Resource 1
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/1
              - id: '2'
                name: Resource 2
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/2
        - _links:
            self:
              href: >-
                https://api.acquia.com/v3/resources?filter=created_at%3E%3D2025-05-20T00%3A00%3A00Z,created_at%3C2025-05-21T00%3A00%3A00Z
            filter:
              href: https://api.acquia.com/v3/resources{?filter}
              templated: true
          _embedded:
            items:
              - id: '3'
                name: Resource 3
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/3
              - id: '4'
                name: Resource 4
                _links:
                  self:
                    href: https://api.acquia.com/v3/resources/4
    Failover_Service_API_ValidationError:
      type: object
      properties:
        error:
          type: string
        message:
          type: object
          additionalProperties:
            type: string
          example:
            field_name: This field is required.
            another_field: This field must be a valid format.
      required:
        - error
        - message
    Failover_Service_API_Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
    Failover_Service_API_UnauthorizedError:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: unauthorized
            message:
              type: string
              const: You do not have permission to access this resource.
          required:
            - error
            - message
    Failover_Service_API_ForbiddenError:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: forbidden
            message:
              type: string
              example: You do not have permission to perform this action.
          required:
            - error
            - message
    Failover_Service_API_InternalServerError:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: system
            message:
              type: string
              pattern: >-
                ^An unknown error occurred\. Please try your request again\. If
                the problem persists, contact Acquia Support\. Request ID: .+\.$
              description: Standard error message with variable request ID.
              example: >-
                An unknown error occurred. Please try your request again. If the
                problem persists, contact Acquia Support. Request ID:
                abc123-def456-ghi789.
          required:
            - error
            - message
    Failover_Service_API_Message:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_HalItem'
        - type: object
          properties:
            message:
              type: string
              description: The message content
          required:
            - message
    Failover_Service_API_InvalidOperationError:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: conflict
            message:
              type: string
              example: The requested operation is invalid or cannot be completed.
          required:
            - error
            - message
    Failover_Service_API_NotFoundError:
      allOf:
        - $ref: '#/components/schemas/Failover_Service_API_Error'
        - type: object
          properties:
            error:
              type: string
              const: not_found
            message:
              type: string
              example: >-
                The resource you are trying to access does not exist, or you do
                not have access to it.
          required:
            - error
            - message
  securitySchemes:
    Site_Service_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    SSH_Key_Service_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    API_Specs_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication using a JWT.
    Codebase_Service_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    Federated_Authentication_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    Tag_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    CDN_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    Environment_Service_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
    Failover_Service_API_BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use a valid JWT Bearer token in the Authorization header. Example:
        'Bearer {token}'
