Tessell Snapshot and Backup API

The Snapshot and Backup API from Tessell — 8 operation(s) for snapshot and backup.

Operations 14

GET /availability-machines/{availabilityMachineId}/snapshots Get list of snapshots for an Availability Machine #
POST /availability-machines/{availabilityMachineId}/snapshots Submit a request to capture the associated DB Service's snapshot #
GET /availability-machines/{availabilityMachineId}/snapshots/{id} Get details about the specified snapshot #
DELETE /availability-machines/{availabilityMachineId}/snapshots/{id} Submit a request to delete the snapshot #
POST /availability-machines/{id}/backups/{backup-id}/download-url Create download url for the backup #
GET /availability-machines/{id}/restore-info Get the restore or clone information for the specified snapshot or the recovery-timestamp #
GET /availability-machines/{availabilityMachineId}/backups View a list of available Tessell Backups #
POST /availability-machines/{availabilityMachineId}/backups Create backup for the snapshot #
GET /availability-machines/{availabilityMachineId}/backups/{id} get backup #
DELETE /availability-machines/{availabilityMachineId}/backups/{id} Submit a request to delete the backup #
GET /availability-machines/{availabilityMachineId}/sanitized-snapshots Get list of sanitized snapshots for an Availability Machine #
POST /availability-machines/{availabilityMachineId}/sanitized-snapshots Submit a request to sanitize the specified snapshot #
GET /availability-machines/{availabilityMachineId}/sanitized-snapshots/{id} Get details about the specified Sanitized Snapshot #
DELETE /availability-machines/{availabilityMachineId}/sanitized-snapshots/{id} Submit a request to delete the Sanitized Snapshot #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tessell-snapshot-and-backup-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tessell-snapshot-and-backup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tessell APIs activity-center Snapshot and Backup API
  contact:
    email: support@tessell.com
    name: Tessell Inc
    url: https://www.tessell.com
  description: Tessell API Documentation
  termsOfService: https://www.tessell.com/terms
  version: '1.0'
servers:
- url: '{server}'
  variables:
    server:
      default: console.tessell.com
tags:
- name: Snapshot and Backup
paths:
  /availability-machines/{availabilityMachineId}/snapshots:
    get:
      tags:
      - Snapshot and Backup
      summary: Get list of snapshots for an Availability Machine
      operationId: getDatabaseSnapshots
      x-terraform-resource: DBSnapshot
      x-terraform-operation: ReadList
      x-terraform:
        fieldInResponseForResourceList: Snapshots
        excludeParamsFromApiDefinition:
        - status
        - loadAcls
        - pageSize
        - pageOffset
        - timeZone
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: name
        in: query
        description: Filter the result based on snapshot name
        required: false
        style: form
        schema:
          type: string
          maxLength: 128
      - name: status
        in: query
        description: Filter the result based on snapshot status
        required: false
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseBackupStatus'
      - name: automated
        in: query
        description: Filter the result based on if the snapshot is automated
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: manual
        in: query
        description: Filter the result based on if the snapshot is manual
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: sanitizable
        in: query
        description: Filter the result based on if the snapshot is sanitizable
        required: false
        style: form
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/loadAcls'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - $ref: '#/components/parameters/timeZone'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDatabaseSnapshotsResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - Snapshot and Backup
      summary: Submit a request to capture the associated DB Service's snapshot
      operationId: createDatabaseSnapshotRequest
      x-terraform-resource: DBSnapshot
      x-terraform-operation: Create
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDatabaseSnapshotTaskPayload'
            examples:
              generic:
                $ref: '#/components/examples/CreateSnapshot'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
              examples:
                generic:
                  $ref: '#/components/examples/CreateSnapshotSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/snapshots/{id}:
    get:
      tags:
      - Snapshot and Backup
      summary: Get details about the specified snapshot
      operationId: getDatabaseSnapshot
      x-terraform-resource: DBSnapshot
      x-terraform-operation: Read
      x-terraform:
        pollConfig:
          keyType: property
          property: Status
          pollBreakValue: AVAILABLE
          valueType: string
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the snapshot
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseSnapshot'
              examples:
                generic:
                  $ref: '#/components/examples/DBSnapshot'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Snapshot and Backup
      summary: Submit a request to delete the snapshot
      operationId: deleteDatabaseSnapshotRequest
      x-terraform-resource: DBSnapshot
      x-terraform-operation: Delete
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the snapshot
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
              examples:
                generic:
                  $ref: '#/components/examples/DeleteSnapshotSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{id}/backups/{backup-id}/download-url:
    post:
      tags:
      - Snapshot and Backup
      summary: Create download url for the backup
      operationId: createDownloadUrlRequest
      parameters:
      - name: id
        in: path
        description: Id of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: backup-id
        in: path
        description: ID of the backup
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpiryConfig'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{id}/restore-info:
    get:
      tags:
      - Snapshot and Backup
      summary: Get the restore or clone information for the specified snapshot or the recovery-timestamp
      operationId: getBackupRestoreInfo
      parameters:
      - name: id
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: backup-id
        in: query
        description: ID of the snapshot
        required: false
        style: form
        schema:
          type: string
          format: uuid
      - name: recovery-timestamp
        in: query
        description: The recovery timestamp
        required: false
        style: form
        schema:
          type: string
      - $ref: '#/components/parameters/timeZone'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DbBackupRestoreInfo'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/backups:
    get:
      tags:
      - Snapshot and Backup
      summary: View a list of available Tessell Backups
      operationId: getDatabaseBackups
      x-terraform-resource: DBBackup
      x-terraform-operation: ReadList
      x-terraform:
        fieldInResponseForResourceList: Backups
        excludeParamsFromApiDefinition:
        - loadAcls
        - pageSize
        - pageOffset
        - timeZone
        - status
      parameters:
      - name: availabilityMachineId
        in: path
        description: Id of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: name
        in: query
        description: Name of the backup
        required: false
        style: form
        schema:
          type: string
          maxLength: 128
      - name: status
        in: query
        description: status
        required: false
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseBackupStatus'
      - name: automated
        in: query
        description: Specify if automated backups info is to be fetched
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: manual
        in: query
        description: Specify if manual backups info is to be fetched
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - $ref: '#/components/parameters/loadAcls'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - $ref: '#/components/parameters/timeZone'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDatabaseBackupsResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - Snapshot and Backup
      summary: Create backup for the snapshot
      operationId: createBackupRequest
      parameters:
      - name: availabilityMachineId
        in: path
        description: Id of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBackupTaskPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/backups/{id}:
    get:
      tags:
      - Snapshot and Backup
      summary: get backup
      operationId: getBackupRequest
      x-terraform-resource: DBBackup
      x-terraform-operation: Read
      parameters:
      - name: availabilityMachineId
        in: path
        description: Id of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: Id of the database backup
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseBackup'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Snapshot and Backup
      summary: Submit a request to delete the backup
      operationId: deleteBackupRequest
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the database backup
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/sanitized-snapshots:
    get:
      tags:
      - Snapshot and Backup
      summary: Get list of sanitized snapshots for an Availability Machine
      operationId: getSanitizedDatabaseSnapshots
      x-terraform-resource: SanitizedDBSnapshot
      x-terraform-operation: ReadList
      x-terraform:
        fieldInResponseForResourceList: Snapshots
        excludeParamsFromApiDefinition:
        - loadAcls
        - pageSize
        - pageOffset
        - timeZone
        - status
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: name
        in: query
        description: Filter the result based on Sanitized Snapshot name
        required: false
        style: form
        schema:
          type: string
      - name: status
        in: query
        description: Filter the result based on Sanitized Snapshot status
        required: false
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseBackupStatus'
      - name: automated
        in: query
        description: Filter the result based on if the Sanitized Snapshot is automated
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: manual
        in: query
        description: Filter the result based on if the Sanitized Snapshot is manual
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - $ref: '#/components/parameters/loadAcls'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - $ref: '#/components/parameters/timeZone'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSanitizedDatabaseSnapshotsResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - Snapshot and Backup
      summary: Submit a request to sanitize the specified snapshot
      operationId: createSanitizedDatabaseSnapshotRequest
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSanitizedDatabaseSnapshotTaskPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/sanitized-snapshots/{id}:
    get:
      tags:
      - Snapshot and Backup
      summary: Get details about the specified Sanitized Snapshot
      operationId: getSanitizedDatabaseSnapshot
      x-terraform-resource: SanitizedDBSnapshot
      x-terraform-operation: Read
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the Sanitized Snapshot
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SanitizedDatabaseSnapshot'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Snapshot and Backup
      summary: Submit a request to delete the Sanitized Snapshot
      operationId: deleteSanitizedDatabaseSnapshotRequest
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: ID of the Sanitized Snapshot
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    DatesForEachMonth:
      type: object
      properties:
        dates:
          description: Dates in a month to retain monthly backups
          uniqueItems: true
          type: array
          items:
            type: integer
            format: int32
            minimum: 1
            maximum: 31
        lastDayOfMonth:
          type: boolean
          default: false
    TessellServiceMySqlEngineConfig:
      title: TessellServiceMySqlEngineConfig
      type:
      - object
      - 'null'
      properties:
        parameterProfileId:
          type: string
          format: uuid
          description: The parameter profile ID for the database
        adDomainId:
          type: string
          format: uuid
          description: Active Directory Domain ID
        optionProfileId:
          type: string
          format: uuid
          description: The options profile for the database
    BackupType:
      description: Backup Content Type
      type: string
      enum:
      - AS_IS
      - SANITIZED
    SubscriptionCloudAvailability:
      type: object
      properties:
        subscription:
          type: string
          description: The subscription name
        cloudAvailability:
          type: array
          items:
            $ref: '#/components/schemas/CloudRegionInfoWithEncryption'
    TessellDataflixPitrInfoForRegion:
      type: object
      title: TessellDataflixPitrInfoForRegion
      description: Availability Machine's Point-In-Time recoverability information within a region
      properties:
        region:
          type: string
          description: Region name
        timeRanges:
          type: array
          items:
            $ref: '#/components/schemas/TessellDataflixFromTimeInfo'
    TessellServiceInfrastructureInfo:
      type: object
      description: This field contains DB Service's infrastructure related information, like, where the service is hosted - cloud, region; what compute shape, or network is is configured with.
      properties:
        cloud:
          type: string
          description: The cloud-type in which the DB Service is provisioned (ex. aws, azure)
        region:
          type: string
          description: The region in which the DB Service provisioned
        availabilityZone:
          type: string
          description: The availability-zone in which the DB Service is provisioned
        cloudAvailability:
          type: array
          items:
            $ref: '#/components/schemas/CloudRegionInfo'
          x-computed: true
        vpc:
          type: string
          description: The VPC to be used for provisioning the DB Service
        enableEncryption:
          type: boolean
          default: false
        encryptionKey:
          type: string
          description: The encryption key name which is used to encrypt the data at rest
        computeType:
          type: string
          description: The compute-type to be used for provisioning the DB Service
        awsInfraConfig:
          $ref: '#/components/schemas/AwsInfraConfig'
        gcpInfraConfig:
          $ref: '#/components/schemas/GcpInfraConfig'
        enableComputeSharing:
          type: boolean
          description: Specify if the computes should be shared across DB Services
        iops:
          type: integer
          format: int32
          description: IOPS requested for the DB Service
        throughput:
          type: integer
          format: int32
          description: throughput requested for the DB Service
        storage:
          x-computed: true
          type: integer
          format: int64
          default: 0
          minimum: 0
          description: The storage (in bytes) that has been provisioned for the DB Service
        additionalStorage:
          type: integer
          format: int64
          default: 0
          minimum: 0
          description: Storage in bytes that is over and above the storage included with compute. This is maintained for backward compatibility and would be deprecated soon.
        timezone:
          $ref: '#/components/schemas/TimeZone'
        multiDisk:
          type: boolean
          description: Specify whether the DB service uses multiple data disks
        storageProvider:
          $ref: '#/components/schemas/StorageProviderType'
        storageConfig:
          $ref: '#/components/schemas/ServiceStorageConfig'
        archiveStorageConfig:
          $ref: '#/components/schemas/ServiceStorageConfig'
        computeProvider:
          $ref: '#/components/schemas/ComputeProviderType'
    SqlServerInstanceName:
      type: string
      maxLength: 16
      description: The named instance for SQL Server database (max 16 characters as per SQL Server limitation)
    ComputeProviderType:
      type: string
      enum:
      - AWS_EC2
      - AZURE_VM
      - GCP_GCE
      - OCI_EXADATA
      - AZURE_EXADATA
      - AWS_EXADATA
    databaseEngineType:
      description: Database Engine Type
      type: string
      enum:
      - ORACLE
      - POSTGRESQL
      - SQLSERVER
      - MYSQL
      - APACHE_KAFKA
      - MONGODB
      - MILVUS
    ScriptInfo:
      title: ScriptInfo
      type:
      - object
      - 'null'
      properties:
        scriptId:
          type: string
          format: uuid
          description: The Tessell Script ID
        scriptName:
          type: string
          description: The Tessell Script Name
        scriptVersion:
          type: string
          description: The Tessell Script version
        useActiveVersion:
          type: boolean
          default: false
          description: 'When set to true, the scriptVersion field should be null and the system

            will automatically use the active version of the script.

            When set to false (default), the scriptVersion field specifies the

            exact version to use.

            '
    BackupCustomRpoPolicy:
      description: This is the definition of Custom RPO Policy for Backup for Tessell DB Service
      allOf:
      - $ref: '#/components/schemas/CustomRpoPolicy'
    GetSanitizedDatabaseSnapshotsResponse:
      title: GetSanitizedDatabaseSnapshotsResponse
      type: object
      description: Information about the available Sanitized Snapshots
      properties:
        availabilityMachineId:
          type: string
          format: uuid
          description: ID of the Availability Machine
        tessellServiceId:
          type: string
          format: uuid
          description: ID of the associated DB Service
        serviceName:
          type: string
          description: Name of the associated DB Service
        engineType:
          x-enum: true
          $ref: '#/components/schemas/databaseEngineType'
          description: Database engine type of the associated DB Service
        timeZone:
          type: string
          description: Timezone applicable for timestamps that are returned in this response
        owner:
          type: string
          description: Owner of the Availability Machine
        snapshots:
          type: array
          items:
            $ref: '#/components/schemas/SanitizedDatabaseSnapshot'
          description: Catalog information for the available Sanitized Snapshots
    DailySchedule:
      type: object
      properties:
        backupsPerDay:
          type: integer
          format: int32
          description: The number of backups to be captured per day.
          minimum: 0
    WeeklySchedule:
      type: object
      properties:
        days:
          description: Days in a week to retain weekly backups for
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/WeekDay'
            x-enum: true
    BackupSourceInfo:
      description: Backup Source Info if the backup source is Snapshot
      title: BackupSourceInfo
      type: object
      properties:
        sourceSnapshotId:
          type: string
          format: uuid
          description: ID of the snapshot from which this backup was created
        snapshotName:
          type: string
          description: Name of the snapshot from which this backup was created
        snapshotTime:
          type: string
          format: date-time
          description: Capture time of snapshot from which this backup was created
    TimeFormat:
      title: TimeFormat
      description: Clock time format value in hour and minute.
      type: object
      required:
      - hour
      - minute
      properties:
        hour:
          type: integer
          format: int32
          minimum: 0
          maximum: 23
          default: 1
        minute:
          type: integer
          format: int32
          minimum: 0
          maximum: 59
          default: 0
    BackupDatabaseInfo:
      type: object
      description: The databases that are captured as part of the snapshot
      properties:
        id:
          type: string
          format: uuid
          description: ID of the database
        name:
          type: string
          description: Name of the database
        status:
          type: string
          description: Status of the database as of capture of this snapshot
        sizeInMB:
          type: number
          format: double
          description: Size of the database in MB
        dateCreated:
          type: string
          format: date-time
          description: Timestamp when the database was created
    CreateSanitizedDatabaseSnapshotTaskPayload:
      title: CreateSanitizedDatabaseSnapshotTaskPayload
      type: object
      description: Payload to create a sanitized snapshot
      required:
      - name
      - snapshotId
      - scriptId
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Name for the sanitized snapshot, which is to be created
        description:
          type:
          - string
          - 'null'
          minLength: 0
          maxLength: 512
          description: Description for the sanitized snapshot
        snapshotId:
          type: string
          format: uuid
          description: ID of the source snapshot (which is to be sanitized)
        scriptId:
          type: string
          format: uuid
          description: ID of the Sanitization Script, which is to be used for data sanitization
        scriptVersion:
          type: string
          minLength: 0
          maxLength: 128
          description: Version of the Sanitization Script
    RpoPolicyConfig:
      description: This is the definition for RPO Policy de

# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tessell/refs/heads/main/openapi/tessell-snapshot-and-backup-api-openapi.yml