Tessell Subscription API

The Subscription API from Tessell — 22 operation(s) for subscription.

OpenAPI Specification

tessell-subscription-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center Subscription 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: Subscription
paths:
  /subscriptions:
    get:
      tags:
      - Subscription
      summary: Returns details about the Tessell Subscriptions
      description: It returns the details about the Tessell Subscriptions
      operationId: getUserViewSubscriptions
      parameters:
      - name: status
        in: query
        schema:
          type: array
          items:
            $ref: '#/components/schemas/subscriptionStatus'
        required: false
        description: List of subscription statuses
      - $ref: '#/components/parameters/timeZone'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: List of subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionsUserViewApiResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions:
    post:
      tags:
      - Subscription
      description: Creates a new Tessell subscription based on deployment type(shared/byoa) and cloud configurations.
      summary: Create a new Tessell subscription.
      operationId: createSubscription
      requestBody:
        description: Subscription Information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubscriptionPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        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
    get:
      tags:
      - Subscription
      summary: Returns details about the Tessell Subscriptions
      description: Returns details about the Tessell Subscriptions
      operationId: getAdminViewSubscriptions
      parameters:
      - name: status
        in: query
        schema:
          type: array
          items:
            $ref: '#/components/schemas/subscriptionStatus'
        required: false
        description: List of subscription statuses
      - name: entity-owner
        in: query
        schema:
          type: array
          items:
            type: string
        required: false
        description: Filter based on subscription owners
      - $ref: '#/components/parameters/timeZone'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: List of subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionsAdminApiResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}:
    get:
      tags:
      - Subscription
      summary: Submits request to get the subscription details
      description: Submits request to get the subscription details
      operationId: getSubscriptionName
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - $ref: '#/components/parameters/timeZone'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: Details of a subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    patch:
      tags:
      - Subscription
      summary: Submits request to update a Tessell Subscription
      description: Submits request to update a Tessell Subscription
      operationId: updateSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Update Subscription Body
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionServicePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      summary: Submits request to delete a Tessell Subscription
      description: Submits request to delete a Tessell Subscription
      tags:
      - Subscription
      operationId: deleteSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - $ref: '#/components/parameters/soft-delete'
      - 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'
  /subscription-service/governance/subscriptions/{name}/{action}:
    patch:
      tags:
      - Subscription
      summary: Submits request to enable or disable a Tessell Subscription
      description: Submits request to enable or disable a Tessell Subscription
      operationId: actionOnSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: action
        in: path
        description: Action on the subscription. Eg. enable/disable
        required: true
        schema:
          $ref: '#/components/schemas/Action'
      - 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/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/cloud-type:
    post:
      tags:
      - Subscription
      description: Adds cloud type to a new Tessell subscription
      summary: Adds cloud type to a new Tessell subscription
      operationId: addCloudTypeToSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Cloud details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionCloudConfigMap'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/cloud-type/{cloud-type}/{action}:
    patch:
      tags:
      - Subscription
      summary: Enables or disables a cloud type in a Tessell Subscription
      description: Enables or disables a cloud type in a Tessell Subscription
      operationId: actionOnSubscriptionCloudType
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: cloud-type
        in: path
        description: Cloud type
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 16
      - name: action
        in: path
        description: Action on the subscription. Eg. enable/disable
        required: true
        schema:
          $ref: '#/components/schemas/Action'
      - 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/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/cloud-type/{cloud-type}/regions:
    put:
      tags:
      - Subscription
      summary: Update regions for a cloud type in a Tessell Subscription
      description: Update regions for a cloud type in a Tessell Subscription
      operationId: updateRegionsInSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: cloud-type
        in: path
        description: Cloud type
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 16
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Region list
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRegionsPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/add-regions:
    put:
      tags:
      - Subscription
      summary: Add regions for a cloud type in a Tessell Subscription
      description: Add regions for a cloud type in a Tessell Subscription
      operationId: addRegionsInSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Cloud config map
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionCloudConfigMap'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/acls:
    patch:
      tags:
      - Subscription
      summary: Adds users to a Tessell subscription
      description: Adds users to a Tessell subscription
      operationId: addUsersToSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Add Users To Subscription Request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AclPayload'
      responses:
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Subscription
      summary: Removes users from a Tessell subscription
      description: Removes users from a Tessell subscription
      operationId: removeUsersFromSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Remove Users To Subscription Request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AclRevokePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/users:
    get:
      tags:
      - Subscription
      summary: Get subscription's users' details
      description: Get the details of subscription's users
      operationId: getSubscriptionUsersDetails
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - $ref: '#/components/parameters/timeZone'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - 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/SubscriptionUsersAdminView'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/acls/eligible-users:
    get:
      tags:
      - Subscription
      summary: Get users which can be added to the subscription
      description: Returns a list of users which can be added to the subscription
      operationId: getEligibleUsersForSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: role
        in: query
        description: User role
        required: false
        schema:
          $ref: '#/components/schemas/SubscriptionUserRole'
      - $ref: '#/components/parameters/timeZone'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - 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/AclEligibleUser'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscription-metadata/byoa:
    get:
      tags:
      - Subscription
      description: Get subscription related metadata
      operationId: getSubscriptionByoaStaticMetadata
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionByoaStaticMetadata'
        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
  /subscription-service/governance/subscriptions/{name}/track:
    get:
      tags:
      - Subscription
      summary: Track the progress of the ongoing subscription creation operation
      description: Track the progress of the ongoing subscription creation operation
      operationId: trackSubscriptionCreation
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - 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/CreateSubscriptionTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/regions/track:
    get:
      tags:
      - Subscription
      summary: Track the progress of the ongoing region onboarding operation
      description: Track the progress of the ongoing region onboarding operation
      operationId: trackRegionOnboarding
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: region
        in: query
        description: Region name to track region onboarding
        required: true
        schema:
          type: string
      - name: cloud-type
        in: query
        description: Cloud type for region onboarding tracking
        required: true
        schema:
          $ref: '#/components/schemas/cloudType'
      - 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/RegionOnboardingTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/resubmit:
    put:
      tags:
      - Subscription
      summary: Resubmits failed Tessell Subscription creation
      description: Resubmits failed Tessell Subscription creation
      operationId: resubmitCreateSubscription
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - 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/SubscriptionAdminView'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/regions/resubmit:
    put:
      tags:
      - Subscription
      summary: Resubmits failed region onboarding
      description: Resubmits failed region onboarding
      operationId: resubmitRegionOnboarding
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: region
        in: query
        description: Region name to resubmit region onboarding
        required: true
        schema:
          type: string
      - name: cloud-type
        in: query
        description: Cloud type for region onboarding resubmit
        required: true
        schema:
          $ref: '#/components/schemas/cloudType'
      - 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/SubscriptionAdminView'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/steps/{step-id}/skip:
    put:
      summary: Skip a particular step in the subscription creation flow
      tags:
      - Subscription
      description: Skip a particular step in the subscription creation flow
      operationId: skipCreateSubscriptionStep
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - $ref: '#/components/parameters/stepId'
      - 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/Step'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/governance/subscriptions/{name}/regions/steps/{step-id}/skip:
    put:
      summary: Skip a particular step in the region onboarding flow
      tags:
      - Subscription
      description: Skip a particular step in the region onboarding flow
      operationId: skipRegionOnboardingStep
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - $ref: '#/components/parameters/stepId'
      - name: region
        in: query
        description: Region name to skip a step in region onboarding
        required: true
        schema:
          type: string
      - name: cloud-type
        in: query
        description: Cloud type for region onboarding step skip
        required: true
        schema:
          $ref: '#/components/schemas/cloudType'
      - 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/Step'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /subscription-service/generate-register-vm-script:
    get:
      summary: Generate a script to register any compute resource with tessell
      tags:
      - Subscription
      description: Generate a script to register any compute resource with tessell
      operationId: registerVmScript
      parameters:
      - in: query
        name: compute-resource-name
        schema:
          type: string
        required: true
        description: Compute resource id of the instance to be registered
      - in: query
        name: tenant-id
        schema:
          type: string
          format: uuid
        required: true
        description: Id of the tenant where the compute resource is created
      - in: query
        name: subscription-name
        schema:
          type: string
        required: true
        description: Name of the subscription where the compute resource is created
      - 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/ExadataRegisterVmScript'
  /subscription-service/register-vm:
    post:
      summary: Register a compute resource after executing the script
      tags:
      - Subscription
      description: Register a compute resource after executing the script
      operationId: registerVm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExadataRegisterVm'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExadataRegisterVm'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /subscription-service/governance/subscriptions/{name}/resources:
    get:
      tags:
      - Subscription
      summary: Returns the list of user resources under a Tessell Subscription
      description: Returns the list of user resources under a Tessell Subscription
      operationId: getSubscriptionResources
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: List of resources under a subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResourceList'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
  /subscription-service/governance/subscriptions/{name}/progress:
    get:
      tags:
      - Subscription
      summary: Track the progress of the ongoing subscription deletion operation
      description: Track the progress of the ongoing subscription deletion operation
      operationId: getSubscriptionDeletionProgress
      parameters:
      - $ref: '#/components/parameters/subscription-name'
      - 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/DeleteSubscriptionTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    apiStatus:
      title: apiStatus
      type: object
      properties:
        status:
          type: string
        message:
          type: string
    GcpPrivateServiceConnect:
      type: object
      description: Private Service Connect endpoint information from Terraform output
      properties:
        endpointId:
          type: string
          description: Unique identifier of the Private Service Connect forwarding rule
          example: projects/p-dev-gcp-core-cp-03/regions/asia-south1/forwardingRules/saket-test-asia-south1
        endpointName:
          type: string
          description: Name of the Private Service Connect forwarding rule
          pattern: ^[a-z]([a-z0-9-]*[a-z0-9])?$
          minLength: 1
          maxLength: 63
          example: saket-test-asia-south1
        endpointIp:
          type: string
          description: IP address of the Private Service Connect endpoint
          pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
          example: 10.0.0.3
    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
    SubscriptionByoaStaticMetadata:
      title: SubscriptionByoaStaticMetadata
      description: Metadata for BYOA subscription
      required:
      - aws
      properties:
        aws:
          $ref: '#/components/schemas/SubscriptionByoaAwsStaticMetadata'
        azure:
          $ref: '#/components/schemas/SubscriptionByoaAzureStaticMetadata'
    Progress:
      title: Progress
      type: object
      description: Progress of the execution
      properties:
        percentageCompleted:
          type: integer
          description: Completed percentage of the execution
          default: 0
          minimum: 0
          maximum: 100
        estimatedTimeRemainingInMinutes:
          type: integer
          description: Estimated time remaining in minutes
          minimum: 0
    EntityAclSharingInfo:
      title: EntityAclSharingInfo
      description: Tessell Entity ACL Sharing Info
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/EntityUserAclSharingInfo'
    SubscriptionUserView:
      title: SubscriptionUserView
      description: User view of the subscription
      type: object
      properties:
        name:
          type: string
          description: Subscription name
        description:
          type: string
          description: Subscription description
        isDefault:
          type: boolean
          default: false
          description: Specifies if this is the default subscription
        deploymentType:
          $ref: '#/components/schemas/subscriptionDeploymentType'
        status:
          $ref: '#/components/schemas/subscriptionStatus'
        associatedCloudTypes:
          type: array
          description: List of cloud specific details associated with the subscription
          items:


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