---
openapi: 3.0.3
info:
  title: Magnolia PaaS admin API
  description: Magnolia PaaS admin exposed API. Requires authentication over id.magnolia-platform.com.
  version: "1.0"
servers:
- url: https://admin.api.int.magnolia-platform.com
paths:
  /alerts:
    $ref: ./paths/alert/alerts.yaml
  /alerts/definitions:
    $ref: ./paths/alert/alerts_definitions.yaml
  /clusters/cdns:
    $ref: ./paths/cdn/clusters_cdn.yaml
  /subscriptions/{tenant}/clusters/cdns:
    $ref: ./paths/cdn/subscriptions_tenant_clusters_cdn.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/cdn:
    $ref: ./paths/cdn/subscriptions_tenant_clusters_cdn_id.yaml
  /contracts:
    $ref: ./paths/contract/contracts.yaml
  /subscriptions/{tenant}/contract:
    $ref: ./paths/contract/subscriptions_tenant_contract.yaml
  /clusters:
    $ref: ./paths/cluster/clusters.yaml
  /subscriptions/{tenant}/clusters:
    $ref: ./paths/cluster/subscriptions_tenant_clusters.yaml
  /subscriptions/{tenant}/clusters/{clusterId}:
    $ref: ./paths/cluster/subscriptions_tenant_clusters_id.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/environments:
    $ref: ./paths/cluster/subscriptions_tenant_clusters_id_environments.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/environments/{environment}:
    $ref: ./paths/cluster/subscriptions_tenant_clusters_id_environment_name.yaml
  /features:
    $ref: ./paths/feature/features.yaml
  /features/{featureId}:
    $ref: ./paths/feature/features_id.yaml
  /notifications:
    $ref: ./paths/notification/notifications.yaml
  /notifications/{notificationId}:
    $ref: ./paths/notification/notifications_id.yaml
  /notifications/{notificationId}/acknowledgments:
    $ref: ./paths/notification/notifications_id_acknowledgments.yaml
  /notifications/groups:
    $ref: ./paths/notification/notifications_groups.yaml
  /notifications/groups/{groupId}:
    $ref: ./paths/notification/notifications_groups_id.yaml
  /notifications/templates:
    $ref: ./paths/notification/notifications_templates.yaml
  /notifications/templates/{templateId}:
    $ref: ./paths/notification/notifications_templates_id.yaml
  /notifications/types:
    $ref: ./paths/notification/notifications_types.yaml
  /notifications/types/{typeId}:
    $ref: ./paths/notification/notifications_types_id.yaml
  /subscriptions/{tenant}/operators:
    $ref: ./paths/operator/subscriptions_tenant_operators.yaml
  /subscriptions/{tenant}/operators/{operatorName}:
    $ref: ./paths/operator/subscriptions_tenant_operators_name.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/operators:
    $ref: ./paths/operator/subscriptions_tenant_operators_clusterId.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/operators/{operatorName}:
    $ref: ./paths/operator/subscriptions_tenant_operators_clusterId_name.yaml
  /reports:
    $ref: ./paths/report/reports.yaml
  /reports/backups:
    $ref: ./paths/report/reports_backups.yaml
  /reports/domains:
    $ref: ./paths/report/reports_domains.yaml
  /reports/requests/cdn:
    $ref: ./paths/report/reports_requests_cdn.yaml
  /reports/requests/ingress:
    $ref: ./paths/report/reports_requests_ingress.yaml
  /reports/resources/allocated:
    $ref: ./paths/report/reports_resources_allocated.yaml
  /reports/resources/reserved:
    $ref: ./paths/report/reports_resources_reserved.yaml
  /subscriptions/{tenant}/reports:
    $ref: ./paths/report/subscriptions_tenant_reports.yaml
  /subscriptions/{tenant}/reports/{year}/{month}:
    $ref: ./paths/report/subscriptions_tenant_reports_year_month.yaml
  /subscriptions:
    $ref: ./paths/subscription/subscriptions.yaml
  /subscriptions/{tenant}:
    $ref: ./paths/subscription/subscriptions_tenant.yaml
  /magnolians:
    $ref: ./paths/user/magnolians.yaml
  /roles:
    $ref: ./paths/user/roles.yaml
  /subscriptions/{tenant}/groups:
    $ref: ./paths/user/groups.yaml
  /subscriptions/{tenant}/groups/{groupId}:
    $ref: ./paths/user/group_id.yaml
  /subscriptions/{tenant}/groups/{groupId}/roles:
    $ref: ./paths/user/group_roles.yaml
  /subscriptions/{tenant}/users:
    $ref: ./paths/user/users.yaml
  /subscriptions/{tenant}/users/{userId}:
    $ref: ./paths/user/user_id.yaml
  /subscriptions/{tenant}/users/{userId}/roles:
    $ref: ./paths/user/user_roles.yaml
  /global/users:
    $ref: ./paths/user/global_users.yaml
  /global/users/{userId}:
    $ref: ./paths/user/global_user_id.yaml
  /global/groups:
    $ref: ./paths/user/global_groups.yaml
  /global/groups/{groupId}:
    $ref: ./paths/user/global_group_id.yaml
  /global/groups/{groupId}/{subgroupId}/members:
    $ref: ./paths/user/global_group_members.yaml
  /global/groups/{groupId}/{subgroupId}/members/{memberId}:
    $ref: ./paths/user/global_group_members_id.yaml
  /clusters/wafs:
    $ref: ./paths/waf/clusters_waf.yaml
  /subscriptions/{tenant}/clusters/wafs:
    $ref: ./paths/waf/subscriptions_tenant_clusters_waf.yaml
  /subscriptions/{tenant}/clusters/{clusterId}/waf:
    $ref: ./paths/waf/subscriptions_tenant_clusters_waf_id.yaml
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://id.int.magnolia-platform.com/auth/realms/mplatform/protocol/openid-connect/auth
          tokenUrl: https://id.int.magnolia-platform.com/auth/realms/mplatform/protocol/openid-connect/token
          scopes:
            openid: Openid
            email: User email
  responses:
    BadRequest:
      description: The provided resource was not valid
    Unauthorized:
      description: The user is not authenticated
    Forbidden:
      description: The user is not authorized to access the specified resource
    NotFound:
      description: The specified resource was not found
  schemas:
    WafSiteResponse:
      $ref: ./schemas/waf/waf_site_response.yaml
    NotificationGroupResponse:
      $ref: ./schemas/notification/notification_group_response.yaml
    OperatorResponse:
      $ref: ./schemas/operator/operator_response.yaml
    NotificationGroup:
      $ref: ./schemas/notification/notification_group.yaml
    Feature:
      $ref: ./schemas/feature/feature.yaml
    NotificationRequest:
      $ref: ./schemas/notification/notification_request.yaml
    CdnServiceResponse:
      $ref: ./schemas/cdn/cdn_service_response.yaml
    Magnolian:
      $ref: ./schemas/user/magnolian.yaml
    GroupRolesResponse:
      $ref: ./schemas/user/group_roles_response.yaml
    NotificationGroupResponsePaginated:
      $ref: ./schemas/notification/notification_group_response_paginated.yaml
    HSA:
      $ref: ./schemas/alert/hsa.yaml
    SubscriptionResponse:
      $ref: ./schemas/subscription/subscription_response.yaml
    Subscription:
      $ref: ./schemas/subscription/subscription.yaml
    AddMembersRequest:
      $ref: ./schemas/user/add_members_request.yaml
    UserRequest:
      $ref: ./schemas/user/user_request.yaml
    NotificationUser:
      $ref: ./schemas/notification/notification_user.yaml
    ClusterSummary:
      $ref: ./schemas/cluster/cluster_summary.yaml
    NotificationTemplateResponsePaginated:
      $ref: ./schemas/notification/notification_template_response_paginated.yaml
    ContractResponse:
      $ref: ./schemas/contract/contract_response.yaml
    WafSite:
      $ref: ./schemas/waf/waf_site.yaml
    FeatureStrategy:
      $ref: ./schemas/feature/feature_strategy.yaml
    NotificationEmailResponse:
      $ref: ./schemas/notification/notification_email_response.yaml
    NotificationTemplateRequest:
      $ref: ./schemas/notification/notification_template_request.yaml
    MagnolianResponse:
      $ref: ./schemas/user/magnolian_response.yaml
    NotificationType:
      $ref: ./schemas/notification/notification_type.yaml
    Environment:
      $ref: ./schemas/cluster/environment/environment.yaml
    NotificationTemplate:
      $ref: ./schemas/notification/notification_template.yaml
    EnvironmentResponse:
      $ref: ./schemas/cluster/environment/environment_response.yaml
    NotificationResponsePaginated:
      $ref: ./schemas/notification/notification_response_paginated.yaml
    RolesResponse:
      $ref: ./schemas/user/roles_response.yaml
    AlertDefinition:
      $ref: ./schemas/alert/alert_definition.yaml
    Group:
      $ref: ./schemas/user/group.yaml
    User:
      $ref: ./schemas/user/user.yaml
    SubscriptionUpdate:
      $ref: ./schemas/subscription/subscription_update.yaml
    Notification:
      $ref: ./schemas/notification/notification.yaml
    NotificationEmailRequest:
      $ref: ./schemas/notification/notification_email.yaml
    NotificationButtonResponse:
      $ref: ./schemas/notification/notification_button_response.yaml
    ReportResponse:
      $ref: ./schemas/report/report_response.yaml
    FeatureResponse:
      $ref: ./schemas/feature/feature_response.yaml
    CdnService:
      $ref: ./schemas/cdn/cdn_service.yaml
    NotificationTypeResponse:
      $ref: ./schemas/notification/notification_type_response.yaml
    NotificationTemplateResponse:
      $ref: ./schemas/notification/notification_template_response.yaml
    ClusterResponse:
      $ref: ./schemas/cluster/cluster_response.yaml
    GroupResponse:
      $ref: ./schemas/user/group_response.yaml
    UserResponse:
      $ref: ./schemas/user/user_response.yaml
    NotificationGroupRequest:
      $ref: ./schemas/notification/notification_group_request.yaml
    SubscriptionCreation:
      $ref: ./schemas/subscription/subscription_creation.yaml
    NotificationButtonRequest:
      $ref: ./schemas/notification/notification_button.yaml
    UserRolesResponse:
      $ref: ./schemas/user/user_roles_response.yaml
    GroupRequest:
      $ref: ./schemas/user/group_request.yaml
    NotificationResponse:
      $ref: ./schemas/notification/notification_response.yaml
    Alert:
      $ref: ./schemas/alert/alert.yaml
security:
- oauth2:
  - openid
  - email
