openapi: 3.2.0 info: contact: email: support@yugabyte.com name: YugabyteDB Anywhere Support url: https://docs.yugabyte.com description: An improved set of APIs for managing YugabyteDB Anywhere license: name: Polyform Free Trial License 1.0.0 url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt title: YugabyteDB Anywhere V2 Continuous Backup API version: v2 servers: - description: API endpoint of YBA server url: '{protocol}://{host_port}/api/v2' variables: protocol: default: http enum: - http - https host_port: default: localhost:9000 tags: - description: CRUD operations for Continuous YBA Backups name: Continuous Backup paths: /customers/{cUUID}/auto-yba-backups: get: description: Get details of the continuous backup configuration operationId: GetContinuousBackup parameters: - description: Customer UUID explode: false in: path name: cUUID required: true schema: format: uuid type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/ContinuousBackup' description: Continuous Backup Config '400': description: Invalid input '500': description: Server error security: - apiKeyAuth: [] summary: Get Continuous Backup tags: - Continuous Backup x-yba-api-audit: noAudit: true x-yba-api-authz: - requiredPermission: resourceType: other action: read resourceLocation: path: customers sourceType: endpoint x-yba-api-since: 2024.2.0.0 x-yba-api-visibility: preview x-accepts: - application/json post: description: Create a continuous backup configuration operationId: CreateContinuousBackup parameters: - description: Customer UUID explode: false in: path name: cUUID required: true schema: format: uuid type: string style: simple requestBody: $ref: '#/components/requestBodies/ContinuousBackupCreateReq' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ContinuousBackup' description: Continuous Backup Config '400': description: Invalid input '500': description: Server error security: - apiKeyAuth: [] summary: Create Continous Backup tags: - Continuous Backup x-yba-api-audit: auditTargetType: ContinuousBackup auditTargetId: 'null' auditActionType: Create x-yba-api-authz: - requiredPermission: resourceType: other action: SUPER_ADMIN_ACTIONS resourceLocation: path: customers sourceType: endpoint x-yba-api-since: 2024.2.0.0 x-yba-api-visibility: preview x-content-type: application/json x-accepts: - application/json /customers/{cUUID}/auto-yba-backups/restore: post: description: Restore a backup from a continuous backup configuration operationId: RestoreContinuousBackup parameters: - description: Customer UUID explode: false in: path name: cUUID required: true schema: format: uuid type: string style: simple requestBody: $ref: '#/components/requestBodies/ContinuousBackupRestoreReq' responses: '202': content: application/json: schema: $ref: '#/components/schemas/YBATask' description: task accepted '400': description: Invalid input '500': description: Server error security: - apiKeyAuth: [] summary: Restore Continuous Backup tags: - Continuous Backup x-yba-api-audit: auditTargetType: ContinuousBackup auditTargetId: 'null' auditActionType: Restore x-yba-api-authz: - requiredPermission: resourceType: other action: SUPER_ADMIN_ACTIONS resourceLocation: path: customers sourceType: endpoint x-yba-api-since: 2024.2.0.0 x-yba-api-visibility: preview x-content-type: application/json x-accepts: - application/json /customers/{cUUID}/auto-yba-backups/{bUUID}: delete: description: Delete continuous backup config operationId: DeleteContinuousBackup parameters: - description: Customer UUID explode: false in: path name: cUUID required: true schema: format: uuid type: string style: simple - description: Continuous Backup UUID explode: false in: path name: bUUID required: true schema: format: uuid type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/ContinuousBackup' description: Continuous Backup Config '400': description: Invalid input '500': description: Server error security: - apiKeyAuth: [] summary: Delete Continuous Backup config tags: - Continuous Backup x-yba-api-audit: auditTargetType: ContinuousBackup auditTargetId: bUUID.toString() auditActionType: Edit x-yba-api-authz: - requiredPermission: resourceType: other action: SUPER_ADMIN_ACTIONS resourceLocation: path: customers sourceType: endpoint x-yba-api-since: 2024.2.0.0 x-yba-api-visibility: preview x-accepts: - application/json put: description: Edit continuous backup config operationId: EditContinuousBackup parameters: - description: Customer UUID explode: false in: path name: cUUID required: true schema: format: uuid type: string style: simple - description: Continuous Backup UUID explode: false in: path name: bUUID required: true schema: format: uuid type: string style: simple requestBody: $ref: '#/components/requestBodies/ContinuousBackupCreateReq' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ContinuousBackup' description: Continuous Backup Config '400': description: Invalid input '500': description: Server error security: - apiKeyAuth: [] summary: Edit Continuous Backup config tags: - Continuous Backup x-yba-api-audit: auditTargetType: ContinuousBackup auditTargetId: bUUID.toString() auditActionType: Edit x-yba-api-authz: - requiredPermission: resourceType: other action: SUPER_ADMIN_ACTIONS resourceLocation: path: customers sourceType: endpoint x-yba-api-since: 2024.2.0.0 x-yba-api-visibility: preview x-content-type: application/json x-accepts: - application/json components: requestBodies: ContinuousBackupCreateReq: content: application/json: schema: $ref: '#/components/schemas/ContinuousBackupSpec' required: true ContinuousBackupRestoreReq: content: application/json: schema: $ref: '#/components/schemas/ContinuousRestoreSpec' required: true schemas: ContinuousBackup: description: 'ContinuousBackup Continuous Backup object which contains the info for a configuration. ' example: spec: frequency_time_unit: NANOSECONDS backup_dir: yba_backups storage_config_uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 num_backups: 6 frequency: 0 info: storage_location: s3://backup_storage_path/YBA_1.2.3.4 uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 last_backup: 2022-12-12 13:07:18+00:00 properties: info: $ref: '#/components/schemas/ContinuousBackupInfo' spec: $ref: '#/components/schemas/ContinuousBackupSpec' title: ContinuousBackup type: object ContinuousBackupInfo: description: 'ContinuousBackupInfo These are read-only system generated properties of a continuous backup configuration. Returned as part of the Continuous Backup resource. ' example: storage_location: s3://backup_storage_path/YBA_1.2.3.4 uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 last_backup: 2022-12-12 13:07:18+00:00 properties: uuid: description: UUID of the Continuous Backup Config example: f33e3c9b-75ab-4c30-80ad-cba85646ea39 format: uuid readOnly: true type: string storage_location: description: bucket or directory where backups are stored example: s3://backup_storage_path/YBA_1.2.3.4 readOnly: true type: string last_backup: description: time of last backup stored example: 2022-12-12 13:07:18+00:00 format: date-time readOnly: true type: string required: - uuid title: ContinuousBackupInfo type: object ContinuousRestoreSpec: description: 'ContinuousRestoreSpec Continuous Backup Restore time properties. Used to Restore from continuous backup configuration. ' example: backup_dir: YBA.1.2.3.4 storage_config_uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 properties: storage_config_uuid: description: UUID of the storage config to use example: f33e3c9b-75ab-4c30-80ad-cba85646ea39 format: uuid readOnly: false type: string backup_dir: description: The name of the directory to restore the most recent back from. example: YBA.1.2.3.4 type: string required: - backup_dir - storage_config_uuid title: ContinuousRestoreSpec type: object TimeUnitType: description: 'TimeUnitType Time units that correspond to TimeUnit.java enum. Used for variable frequencies. ' enum: - NANOSECONDS - MICROSECONDS - MILLISECONDS - SECONDS - MINUTES - HOURS - DAYS - MONTHS - YEARS title: TimeUnitType type: string ContinuousBackupSpec: description: 'ContinuousBackupSpec User specification for a continuous backup of YBA. All these properties can be edited. ' example: frequency_time_unit: NANOSECONDS backup_dir: yba_backups storage_config_uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 num_backups: 6 frequency: 0 properties: storage_config_uuid: description: UUID of the storage config to use example: f33e3c9b-75ab-4c30-80ad-cba85646ea39 format: uuid readOnly: false type: string frequency: description: Interval between two backups. format: int64 type: integer frequency_time_unit: $ref: '#/components/schemas/TimeUnitType' num_backups: default: 5 description: The number of historical backups to retain in the storage bucket. format: int32 type: integer backup_dir: description: The name of the directory in the storage config to use for YBA backups. example: yba_backups type: string required: - backup_dir - frequency - frequency_time_unit - storage_config_uuid title: ContinuousBackupSpec type: object YBATask: description: 'YBATask YugabyteDB Anywhere Task object is used to represent a task that is being executed on a resource. This Task object can be polled for progress and status of the task. This object is returned as a response to most of the YugabyteDB Anywhere API calls. ' example: resource_uuid: f33e3c9b-75ab-4c30-80ad-cba85646ea39 task_uuid: 89a46d52-4edd-4736-922a-35177a0b990c properties: resource_uuid: description: UUID of the resource being modified by the task example: f33e3c9b-75ab-4c30-80ad-cba85646ea39 format: uuid readOnly: true type: string task_uuid: description: Task UUID example: 89a46d52-4edd-4736-922a-35177a0b990c format: uuid readOnly: true type: string title: YBATask type: object securitySchemes: apiKeyAuth: in: header name: X-AUTH-YW-API-TOKEN type: apiKey