openapi: 3.1.0 info: title: YugabyteDB Aeon REST Access Keys MaintenanceWindows API description: The YugabyteDB Aeon REST API provides programmatic access to YugabyteDB's fully managed cloud database service. Developers and operators can use it to deploy and manage database clusters, configure read replicas, schedule and execute on-demand backups and restores, manage IP allow lists, and set up monitoring and alerts. Authentication is performed using API keys passed as bearer tokens in the Authorization header. All paths are scoped to an account and project, which can be obtained from the YugabyteDB Aeon UI profile page. version: v1 contact: name: Yugabyte Support url: https://support.yugabyte.com termsOfService: https://www.yugabyte.com/yugabytedb-managed-service-terms/ x-generated-from: documentation x-source-url: https://api-docs.yugabyte.com/docs/managed-apis/ x-last-validated: '2026-05-03' servers: - url: https://cloud.yugabyte.com/api/public/v1 description: YugabyteDB Aeon Production Server security: - bearerAuth: [] tags: - name: MaintenanceWindows description: Configure scheduled maintenance windows for clusters to control when Yugabyte applies software patches and infrastructure updates. paths: /accounts/{accountId}/projects/{projectId}/clusters/{clusterId}/maintenance-windows: get: operationId: getMaintenanceWindow summary: YugabyteDB Aeon Get Maintenance Window description: Returns the configured maintenance window for the specified cluster, including the scheduled day of week and start hour for Yugabyte to apply patches and infrastructure updates. tags: - MaintenanceWindows parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/clusterId' responses: '200': description: Maintenance window returned successfully content: application/json: schema: $ref: '#/components/schemas/MaintenanceWindow' examples: GetMaintenanceWindow200Example: summary: Default getMaintenanceWindow 200 response x-microcks-default: true value: day_of_week: MONDAY start_time: '2026-05-03T12:00:00Z' duration_in_hours: 60 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateMaintenanceWindow summary: YugabyteDB Aeon Update Maintenance Window description: Updates the maintenance window schedule for the specified cluster. Setting a maintenance window allows operators to control when Yugabyte applies updates to minimize disruption. tags: - MaintenanceWindows parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/clusterId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MaintenanceWindow' examples: UpdateMaintenanceWindowRequestExample: summary: Default updateMaintenanceWindow request x-microcks-default: true value: day_of_week: MONDAY start_time: '2026-05-03T12:00:00Z' duration_in_hours: 60 responses: '200': description: Maintenance window updated successfully content: application/json: schema: $ref: '#/components/schemas/MaintenanceWindow' examples: UpdateMaintenanceWindow200Example: summary: Default updateMaintenanceWindow 200 response x-microcks-default: true value: day_of_week: MONDAY start_time: '2026-05-03T12:00:00Z' duration_in_hours: 60 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: accountId: name: accountId in: path required: true description: The unique identifier of the YugabyteDB Aeon account. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 clusterId: name: clusterId in: path required: true description: The unique identifier of the cluster. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 projectId: name: projectId in: path required: true description: The unique identifier of the project within the account. schema: type: string format: uuid example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 schemas: ErrorResponse: type: object description: Standard error response returned by the API on failure. properties: error: type: object properties: code: type: string description: Machine-readable error code. example: OK message: type: string description: Human-readable description of the error. example: Example message status: type: integer description: HTTP status code. example: 100 example: code: OK message: Example message status: 100 MaintenanceWindow: type: object description: Scheduled maintenance window configuration for a cluster. properties: day_of_week: type: string description: Day of the week when the maintenance window starts. enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY example: MONDAY start_time: type: string description: UTC start time for the maintenance window in HH:MM format (24-hour clock). pattern: ^([01]\d|2[0-3]):[0-5]\d$ example: '2026-05-03T12:00:00Z' duration_in_hours: type: integer description: Duration of the maintenance window in hours. minimum: 1 maximum: 8 example: 60 responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: NotFoundExample: summary: Default NotFound response x-microcks-default: true value: error: code: OK message: Example message status: 100 BadRequest: description: The request was malformed or contained invalid parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: BadRequestExample: summary: Default BadRequest response x-microcks-default: true value: error: code: OK message: Example message status: 100 Unauthorized: description: The API key is missing, invalid, or expired. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: UnauthorizedExample: summary: Default Unauthorized response x-microcks-default: true value: error: code: OK message: Example message status: 100 securitySchemes: bearerAuth: type: http scheme: bearer description: API key obtained from the YugabyteDB Aeon UI under User Profile > API Keys. Pass the key as a Bearer token in the Authorization header. externalDocs: description: YugabyteDB Aeon REST API Documentation url: https://docs.yugabyte.com/stable/yugabyte-cloud/managed-automation/managed-api/