Tessell Data Sanitization API

The Data Sanitization API from Tessell — 2 operation(s) for data sanitization.

OpenAPI Specification

tessell-data-sanitization-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center Data Sanitization 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: Data Sanitization
paths:
  /availability-machines/{id}/sanitization-schedules:
    get:
      tags:
      - Data Sanitization
      summary: Get list of Sanitization Schedules that are associated with an Availability Machine
      operationId: getAmSanitizationSchedulesServiceView
      parameters:
      - name: id
        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 Sanitization Schedule name
        required: false
        style: form
        schema:
          type: string
      - $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/GetSanitizationSchedulesServiceApiResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - Data Sanitization
      summary: Create a new Sanitization Schedule for an Availability Machine
      operationId: createAmSanitizationSchedulesServiceView
      parameters:
      - name: id
        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/TessellSanitizationScheduleCreatePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TessellSanitizationScheduleServiceDTO'
        '201':
          description: Created
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /availability-machines/{availabilityMachineId}/sanitization-schedules/{sanitizationScheduleId}:
    get:
      tags:
      - Data Sanitization
      summary: Get details about a Sanitization Schedule
      operationId: getAmSanitizationScheduleServiceView
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: sanitizationScheduleId
        in: path
        description: ID of the Sanitization Schedule
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - $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/TessellSanitizationScheduleServiceDTO'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Data Sanitization
      summary: Submit a request to delete the Sanitization Schedule
      operationId: deleteAmSanitizationScheduleServiceView
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: sanitizationScheduleId
        in: path
        description: ID of the Sanitization Schedule
        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'
    patch:
      tags:
      - Data Sanitization
      summary: Update a Sanitization `Schedule`
      operationId: updateAmSanitizationScheduleServiceView
      parameters:
      - name: availabilityMachineId
        in: path
        description: ID of the Availability Machine
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: sanitizationScheduleId
        in: path
        description: ID of the Sanitization Schedule
        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/TessellSanitizationScheduleUpdatePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TessellSanitizationScheduleServiceDTO'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  parameters:
    loadAcls:
      name: load-acls
      in: query
      description: Load ACL information
      required: false
      schema:
        type: boolean
        default: false
    timeZone:
      name: time-zone
      in: query
      description: Timezone for return data
      required: false
      schema:
        type: string
        default: UTC
    pageOffset:
      name: page-offset
      in: query
      description: Page offset for get query
      required: false
      schema:
        type: integer
        format: int32
        default: 0
    pageSize:
      name: page-size
      in: query
      description: Page size for get query
      required: false
      schema:
        type: integer
        format: int32
        default: 10
  schemas:
    apiStatus:
      title: apiStatus
      type: object
      properties:
        status:
          type: string
        message:
          type: string
    ApiError:
      type: object
      description: Common error response object for non 2xx responses
      properties:
        code:
          type: string
          description: Status code for the error response
        message:
          type: string
          description: Error message for API response
        resolution:
          type: string
        timestamp:
          type: string
          format: date-time
        contextId:
          type: string
          description: ContextId of API request
        sessionId:
          type: string
          description: SessionId of API request
        tessellErrorCode:
          type: string
          description: Unique error code specific to Tessell
    WeekDay:
      description: Week Days
      type: string
      enum:
      - Sunday
      - Monday
      - Tuesday
      - Wednesday
      - Thursday
      - Friday
      - Saturday
      x-enum-varnames:
      - Sunday
      - Monday
      - Tuesday
      - Wednesday
      - Thursday
      - Friday
      - Saturday
    GetSanitizationSchedulesServiceApiResponse:
      title: GetSanitizationSchedulesServiceApiResponse
      allOf:
      - $ref: '#/components/schemas/TessellApiResponse'
      - type: object
        properties:
          response:
            type: array
            items:
              $ref: '#/components/schemas/TessellSanitizationScheduleServiceDTO'
    apiPaginationInfo:
      title: apiPaginationInfo
      type: object
      properties:
        pageSize:
          type: integer
          format: int32
        pageOffset:
          type: integer
          format: int32
    TessellApiResponse:
      title: TessellApiResponse
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/apiMetadata'
        response:
          type: object
    SanitizationScheduleStatus:
      type: string
      description: Status of the sanitization schedule
      enum:
      - ACTIVE
      - PAUSED
      - DELETING
    TessellSanitizationScheduleCreatePayload:
      description: Tessell Sanitization Schedule create payload definition
      type: object
      required:
      - name
      - scriptId
      - scheduleInfo
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Name of the sanitization schedule
        description:
          type: string
          minLength: 0
          maxLength: 512
          nullable: true
          description: Description for the sanitization schedule
        sanitizedBackupNamePrefix:
          type: string
          minLength: 1
          maxLength: 20
          description: Prefix to be prepended with sanitized backup names that are created as part of this schedule
        scriptId:
          type: string
          format: uuid
          description: Associated data processing script
        scriptVersionInfo:
          type: object
          description: Script Version details. If not specified, scriptVersionInfo.useActiveScriptVersion would be set to true
          properties:
            useActiveScriptVersion:
              type: boolean
              description: If true, use the version that is chosen as the Active Version for the script
            scriptVersion:
              type: string
              description: If useActiveVersion is false, use the specified version, else use the active version
        scheduleInfo:
          $ref: '#/components/schemas/SanitizationScheduleInfo'
    SanitizationScheduleInfo:
      title: SanitizationScheduleInfo
      type: object
      properties:
        dailySchedule:
          type: object
          properties:
            retainForDays:
              type: integer
              format: int32
              description: Retention period for sanitized backups (in days)
        weeklySchedule:
          type: object
          properties:
            weekDays:
              description: Days in a week to retain weekly backups for
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/WeekDay'
            retainForWeeks:
              type: integer
              format: int32
              description: Retention period for sanitized backups (in weeks)
    apiMetadata:
      title: apiMetadata
      type: object
      properties:
        timeZone:
          type: string
        records:
          type: integer
          format: int32
        pagination:
          $ref: '#/components/schemas/apiPaginationInfo'
    TessellSanitizationScheduleServiceDTO:
      description: Tessell Sanitization Schedule Service View DTO definition
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 128
          description: Name of the sanitization schedule
        description:
          type: string
          maxLength: 512
          description: Description for the sanitization schedule
        availabilityMachineId:
          type: string
          format: uuid
          description: Associated Availability Machine
        scriptId:
          type: string
          format: uuid
          description: Associated data processing script
        scriptVersionInfo:
          type: object
          description: Associated Script Version
          properties:
            useActiveScriptVersion:
              type: boolean
              description: If true, use the version that is chosen as the Active Version for the script
            scriptVersion:
              type: string
              description: If useActiveVersion is false, use the specified version, else use the active version
        status:
          $ref: '#/components/schemas/SanitizationScheduleStatus'
        sanitizedBackupNamePrefix:
          type: string
          maxLength: 20
          description: Prefix to be prepended with sanitized backup names that are created as part of this schedule
        ownerId:
          type: string
        scheduleInfo:
          $ref: '#/components/schemas/SanitizationScheduleInfo'
        dateCreated:
          type: string
          format: date-time
    TessellSanitizationScheduleUpdatePayload:
      description: Tessell Sanitization Schedule update payload definition
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 128
          description: Name of the sanitization schedule
        description:
          type: string
          minLength: 0
          maxLength: 512
          nullable: true
          description: Description for the sanitization schedule
        sanitizedBackupNamePrefix:
          type: string
          minLength: 1
          maxLength: 20
          description: Prefix to be prepended with sanitized backup names that are created as part of this schedule
        scriptId:
          type: string
          format: uuid
          description: Id of the script associated with the Schedule
        scriptVersionInfo:
          type: object
          properties:
            useActiveScriptVersion:
              type: boolean
              description: If true, use the version that is chosen as the Active Version for the script
            scriptVersion:
              type: string
              description: If useActiveVersion is false, use the specified version, else use the active version
        scheduleInfo:
          $ref: '#/components/schemas/SanitizationScheduleInfo'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer