Tessell DB Service API

The DB Service API from Tessell — 20 operation(s) for db service.

OpenAPI Specification

tessell-db-service-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center DB Service 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: DB Service
paths:
  /services:
    get:
      tags:
      - DB Service
      summary: View list of available DB Services
      operationId: getTessellServices
      x-terraform-resource: DBService
      x-terraform-operation: ReadList
      x-terraform:
        excludeParamsFromApiDefinition:
        - pageSize
        - pageOffset
        - timeZone
      parameters:
      - name: name
        in: query
        description: Filter DB Service based on name
        required: false
        style: form
        schema:
          type: string
          maxLength: 128
      - name: statuses
        in: query
        description: Filter DB Service based on status/es
        required: false
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/TessellServiceStatus'
      - name: engine-types
        in: query
        description: Filter DB Service based on engine type
        required: false
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/databaseEngineType'
      - name: cloned-from-service-id
        in: query
        description: Filter DB Service based on ID of the DB Service from which the services are cloned
        required: false
        style: form
        schema:
          type: string
          format: uuid
      - name: cloned-from-availability-machine-id
        in: query
        description: Filter DB Service based on ID of the Availability Machine from which the services are cloned
        required: false
        style: form
        schema:
          type: string
          format: uuid
      - name: load-instances
        in: query
        description: Load the instances that are part of the DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: load-databases
        in: query
        description: Load the databases that are part of the DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: false
      - name: load-updates-info
        in: query
        description: Include update availability information for each DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/owners'
      - $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/TessellServicesResponse'
              examples:
                generic:
                  $ref: '#/components/examples/GetDbServices'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - DB Service
      summary: Provision a DB service
      operationId: provisionTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Create
      x-terraform:
        resourceIdFromResponse: '*response.ResourceId'
        pollConfig:
          keyType: property
          property: Status
          pollBreakValue: READY
          valueType: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvisionServicePayload'
            examples:
              oracle_single_instance:
                $ref: '#/components/examples/ProvisionOracleSiDBService'
              oracle_ha:
                $ref: '#/components/examples/ProvisionOracleHaDBService'
              postgresql_single_instance:
                $ref: '#/components/examples/ProvisionPostgresSiDBService'
              postgresql_ha:
                $ref: '#/components/examples/ProvisionPostgresHaDBService'
              mysql_single_instance:
                $ref: '#/components/examples/ProvisionMySqlSiDBService'
      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'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /services/{id}:
    get:
      tags:
      - DB Service
      summary: Get a DB Service by Id
      operationId: getTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Read
      x-terraform:
        schemaElemsFromResponse:
          primaryInstanceId: getPrimaryInstanceId(setResourceDataVarName)
        excludeParamsFromApiDefinition:
        - loadInstances
        - loadDatabases
        - loadAcls
        - timeZone
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: load-instances
        in: query
        description: Load the instances that are part of the DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: load-databases
        in: query
        description: Load the databases that are part of the DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: true
      - name: load-updates-info
        in: query
        description: Include update availability information for the DB Service
        required: false
        style: form
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/loadAcls'
      - $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/TessellServiceDTO'
              examples:
                oracle_single_instance:
                  $ref: '#/components/examples/OracleSiDBService'
                oracle_ha:
                  $ref: '#/components/examples/OracleHaDBService'
                postgresql_single_instance:
                  $ref: '#/components/examples/PostgresqlSiDBService'
                postgresql_ha:
                  $ref: '#/components/examples/PostgresqlHaDBService'
                mysql_single_instance:
                  $ref: '#/components/examples/MySqlSiDBService'
                oracle_clone:
                  $ref: '#/components/examples/OracleClonedDBService'
                cloned_postgresql:
                  $ref: '#/components/examples/PostgresqlClonedDBService'
                cloned_mysql:
                  $ref: '#/components/examples/MySqlClonedDBService'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    patch:
      tags:
      - DB Service
      summary: Update a DB service
      operationId: updateTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Update
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/UpdateTessellServicePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TessellServiceDTO'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - DB Service
      summary: Delete a DB service
      operationId: deleteTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Delete
      x-terraform:
        pollConfig:
          keyType: statusCode
          name: StatusCode
          pollBreakValue: 404
          valueType: int
          intervalInSec: 30
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/DeleteTessellServicePayload'
            example:
              deletionConfig:
                retainAvailabilityMachine: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
              examples:
                generic:
                  $ref: '#/components/examples/DeleteDbServiceSummary'
        '201':
          description: Deleted
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/service-instances:
    post:
      tags:
      - DB Service
      summary: Add DB service Instances
      operationId: addTessellServiceInstances
      x-terraform-resource: DBService
      x-terraform-operation: Update
      x-terraform:
        triggers:
        - parameter: instances
          condition: sizeIncrease
        resourceIdFromResponse: '*response.ResourceId'
        pollConfig:
          keyType: property
          property: Status
          pollBreakValue: UP
          valueType: string
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/AddDbServiceInstancesPayload'
      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'
    delete:
      tags:
      - DB Service
      summary: Delete DB service Instances
      operationId: deleteTessellServiceInstances
      x-terraform-resource: DBService
      x-terraform-operation: Update
      x-terraform:
        triggers:
        - parameter: instances
          condition: sizeDecrease
      parameters:
      - name: id
        in: path
        description: The id of the DB Service
        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/DeleteTessellServiceInstancePayload'
      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'
  /services/{id}/start:
    patch:
      tags:
      - DB Service
      summary: Starts the DB Service
      operationId: startTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Update
      x-terraform:
        triggers:
        - parameter: expectedStatus
          value: READY
        pollConfig:
          keyType: property
          property: Status
          pollBreakValue: READY
          valueType: string
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/StartTessellServicePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
              examples:
                generic:
                  $ref: '#/components/examples/StartDbServiceSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/stop:
    patch:
      tags:
      - DB Service
      summary: Stops the DB Service
      operationId: stopTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Update
      x-terraform:
        triggers:
        - parameter: expectedStatus
          value: STOPPED
        pollConfig:
          keyType: property
          property: Status
          pollBreakValue: STOPPED
          valueType: string
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/StopTessellServicePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
              examples:
                generic:
                  $ref: '#/components/examples/StopDbServiceSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/resize:
    patch:
      tags:
      - DB Service
      summary: Resize DB service storage/compute
      operationId: resizeDBService
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/ResizeDBServiceRequest'
      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'
  /services/{id}/connectivity:
    patch:
      tags:
      - DB Service
      summary: Update DB Service Connectivity
      operationId: updateTessellServiceConnectivity
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/UpdateTessellServiceConnectivityPayload'
      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'
  /services/{id}/switchover:
    patch:
      tags:
      - DB Service
      summary: Switchover a DB Service
      operationId: switchoverTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Update
      x-terraform:
        triggers:
        - parameter: instances
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/SwitchOverTessellServicePayload'
      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'
  /services/{id}/restore:
    post:
      tags:
      - DB Service
      summary: Restore a DB Service
      operationId: restoreTessellService
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/RestoreServicePayload'
      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'
  /services/{id}/patch-software:
    patch:
      tags:
      - DB Service
      summary: Patches the DB Service Software
      operationId: patchSoftwareForTessellService
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/PatchDbServicePayload'
      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'
  /services/{service-id}/parameter-profiles:
    patch:
      tags:
      - DB Service
      summary: Update parameter profile/s for instances in service
      operationId: updateDBServiceParameterProfiles
      parameters:
      - name: service-id
        in: path
        description: DB Service ID
        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/DBServiceParameterProfileUpdateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/integrations:
    patch:
      tags:
      - DB Service
      summary: Add/update an integration for the DB Service
      operationId: updateTessellServiceIntegration
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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:
              type: array
              items:
                $ref: '#/components/schemas/TessellUpdateDatabaseIntegrationDTO'
      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'
  /services/{id}/timeline:
    get:
      tags:
      - DB Service
      summary: Get a DB timeline by service ID
      operationId: getTessellServiceTimeline
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/TessellServiceTimelineResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/cleanup-entry:
    delete:
      tags:
      - DB Service
      summary: Cleanup a failed DB service entry
      operationId: cleanupFailedTessellServiceEntry
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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'
  /availability-machines/{availability-machine-id}/clones:
    post:
      tags:
      - DB Service
      summary: Clone a DB service
      operationId: cloneTessellService
      x-terraform-resource: DBService
      x-terraform-operation: Create
      x-terraform:
        unique-attributes:
        - snapshotId
        - pitr
        resourceIdFromResponse: '*response.ResourceId'
        requestParametersFromSchema:
          availabilityMachineId: parentAvailabilityMachineId
      parameters:
      - name: availability-machine-id
        in: path
        description: The 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/CloneTessellServicePayload'
            examples:
              clone_oracle:
                $ref: '#/components/examples/CloneOracleDBService'
              clone_postgresql:
                $ref: '#/components/examples/ClonePostgresDBService'
              clone_mysql:
                $ref: '#/components/examples/CloneMySqlDBService'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskSummary'
              examples:
                generic:
                  $ref: '#/components/examples/CloneDbServiceSummary'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /services/{id}/tags:
    get:
      tags:
      - DB Service
      summary: View tags for the DB Service
      operationId: getTessellServiceTags
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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:
                type: array
                items:
                  $ref: '#/components/schemas/TessellTag'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    patch:
      tags:
      - DB Service
      summary: Create/update (override) tags for the DB Service
      operationId: upsertTessellServiceTags
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/CreateUpdateTessellTagPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TessellTag'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - DB Service
      summary: Delete tags for a DB Service
      operationId: deleteTessellServiceTags
      parameters:
      - name: id
        in: path
        description: The ID of the DB Service
        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/DeleteTagPayload'
      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'
  /services/eligible-pdb-clone-targets:
    get:
      tags:
      - DB Service
      summary: Get list of services eligible as PDB clone targets
      description: 'Returns a list of Oracle services that are eligible to receive a cloned PDB from the specified source database.

        Only services that meet ALL eligibility criteria are included in the response.


        **Eligibility Criteria:**

        Services must meet ALL of the following requirements to be included:

        - **Engine Compatibility**: Target service must be Oracle with multi-tenant (CDB/PDB) architecture

        - **Version Compatibility**: Oracle version must be compatible (same or higher major version)

        - **Status**: Target service must be in an operational state (e.g., READY)

        - **Subscr

# --- truncated at 32 KB (223 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tessell/refs/heads/main/openapi/tessell-db-service-api-openapi.yml