Spot Ocean AWS API

Manage Ocean clusters for AWS EKS.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

flexera-ocean-aws-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Spot Administration Access Policies Ocean AWS API
  description: The Spot Administration API provides endpoints for managing organizations, accounts, users, access policies, cloud credentials, subscriptions, and event notifications within the Spot by Flexera platform. It enables programmatic control over user permissions, account setup, and cloud provider credential linking for AWS, Azure, and GCP.
  version: 2.0.0
  contact:
    name: Spot by Flexera
    url: https://docs.spot.io/
  termsOfService: https://spot.io/terms-of-use/
servers:
- url: https://api.spotinst.io
  description: Spot Production API
security:
- bearerAuth: []
tags:
- name: Ocean AWS
  description: Manage Ocean clusters for AWS EKS.
paths:
  /ocean/aws/k8s/cluster:
    post:
      operationId: createOceanClusterAWS
      summary: Spot Create Ocean Cluster (aws)
      description: Create a new Ocean cluster for AWS EKS.
      tags:
      - Ocean AWS
      parameters:
      - name: accountId
        in: query
        schema:
          type: string
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OceanAWSClusterRequest'
            examples:
              CreateoceanclusterawsRequestExample:
                summary: Default createOceanClusterAWS request
                x-microcks-default: true
                value:
                  cluster:
                    name: Example Title
                    controllerClusterId: '500123'
                    region: example_value
                    autoScaler:
                      isEnabled: true
                      isAutoConfig: true
                      cooldown: 10
                      resourceLimits:
                        maxMemoryGib: 10
                        maxVCpu: 10
                      down:
                        maxScaleDownPercentage: 10
                    capacity:
                      target: 10
                      minimum: 10
                      maximum: 10
                    strategy:
                      spotPercentage: 10
                      fallbackToOd: true
                      utilizeReservedInstances: true
                      utilizeCommitments: true
                    compute:
                      instanceTypes:
                        whitelist: {}
                        blacklist: {}
                      subnetIds:
                      - {}
                      launchSpecification:
                        imageId: '500123'
                        securityGroupIds: {}
                        keyPair: example_value
                        tags: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OceanClusterResponse'
              examples:
                Createoceanclusteraws200Example:
                  summary: Default createOceanClusterAWS 200 response
                  x-microcks-default: true
                  value:
                    request: example_value
                    response:
                      items:
                      - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: listOceanClustersAWS
      summary: Spot List Ocean Clusters (aws)
      description: List all Ocean clusters for AWS in the account.
      tags:
      - Ocean AWS
      parameters:
      - name: accountId
        in: query
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OceanClusterListResponse'
              examples:
                Listoceanclustersaws200Example:
                  summary: Default listOceanClustersAWS 200 response
                  x-microcks-default: true
                  value:
                    request: example_value
                    response:
                      items:
                      - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ocean/aws/k8s/cluster/{oceanClusterId}:
    get:
      operationId: getOceanClusterAWS
      summary: Spot Get Ocean Cluster (aws)
      description: Get the configuration of an Ocean cluster.
      tags:
      - Ocean AWS
      parameters:
      - name: oceanClusterId
        in: path
        required: true
        schema:
          type: string
        example: '500123'
      - name: accountId
        in: query
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OceanClusterResponse'
              examples:
                Getoceanclusteraws200Example:
                  summary: Default getOceanClusterAWS 200 response
                  x-microcks-default: true
                  value:
                    request: example_value
                    response:
                      items:
                      - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateOceanClusterAWS
      summary: Spot Update Ocean Cluster (aws)
      description: Update an existing Ocean cluster configuration.
      tags:
      - Ocean AWS
      parameters:
      - name: oceanClusterId
        in: path
        required: true
        schema:
          type: string
        example: '500123'
      - name: accountId
        in: query
        schema:
          type: string
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OceanAWSClusterRequest'
            examples:
              UpdateoceanclusterawsRequestExample:
                summary: Default updateOceanClusterAWS request
                x-microcks-default: true
                value:
                  cluster:
                    name: Example Title
                    controllerClusterId: '500123'
                    region: example_value
                    autoScaler:
                      isEnabled: true
                      isAutoConfig: true
                      cooldown: 10
                      resourceLimits:
                        maxMemoryGib: 10
                        maxVCpu: 10
                      down:
                        maxScaleDownPercentage: 10
                    capacity:
                      target: 10
                      minimum: 10
                      maximum: 10
                    strategy:
                      spotPercentage: 10
                      fallbackToOd: true
                      utilizeReservedInstances: true
                      utilizeCommitments: true
                    compute:
                      instanceTypes:
                        whitelist: {}
                        blacklist: {}
                      subnetIds:
                      - {}
                      launchSpecification:
                        imageId: '500123'
                        securityGroupIds: {}
                        keyPair: example_value
                        tags: {}
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteOceanClusterAWS
      summary: Spot Delete Ocean Cluster (aws)
      description: Delete an Ocean cluster.
      tags:
      - Ocean AWS
      parameters:
      - name: oceanClusterId
        in: path
        required: true
        schema:
          type: string
        example: '500123'
      - name: accountId
        in: query
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    OceanCluster:
      type: object
      properties:
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        controllerClusterId:
          type: string
          example: '500123'
        region:
          type: string
          example: example_value
        autoScaler:
          type: object
          example: example_value
        capacity:
          type: object
          example: example_value
        strategy:
          type: object
          example: example_value
        compute:
          type: object
          example: example_value
        createdAt:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        updatedAt:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    OceanClusterListResponse:
      type: object
      properties:
        request:
          type: object
          example: example_value
        response:
          type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/OceanCluster'
          example: example_value
    OceanClusterResponse:
      type: object
      properties:
        request:
          type: object
          example: example_value
        response:
          type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/OceanCluster'
          example: example_value
    OceanAWSClusterRequest:
      type: object
      properties:
        cluster:
          type: object
          properties:
            name:
              type: string
            controllerClusterId:
              type: string
              description: The Ocean controller cluster identifier.
            region:
              type: string
            autoScaler:
              type: object
              properties:
                isEnabled:
                  type: boolean
                isAutoConfig:
                  type: boolean
                cooldown:
                  type: integer
                resourceLimits:
                  type: object
                  properties:
                    maxMemoryGib:
                      type: integer
                    maxVCpu:
                      type: integer
                down:
                  type: object
                  properties:
                    maxScaleDownPercentage:
                      type: integer
            capacity:
              type: object
              properties:
                target:
                  type: integer
                minimum:
                  type: integer
                maximum:
                  type: integer
            strategy:
              type: object
              properties:
                spotPercentage:
                  type: integer
                fallbackToOd:
                  type: boolean
                utilizeReservedInstances:
                  type: boolean
                utilizeCommitments:
                  type: boolean
            compute:
              type: object
              properties:
                instanceTypes:
                  type: object
                  properties:
                    whitelist:
                      type: array
                      items:
                        type: string
                    blacklist:
                      type: array
                      items:
                        type: string
                subnetIds:
                  type: array
                  items:
                    type: string
                launchSpecification:
                  type: object
                  properties:
                    imageId:
                      type: string
                    securityGroupIds:
                      type: array
                      items:
                        type: string
                    keyPair:
                      type: string
                    tags:
                      type: array
                      items:
                        type: object
                        properties:
                          tagKey:
                            type: string
                          tagValue:
                            type: string
          example: example_value
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Spot API uses Bearer Token Authentication. Include your API token in the Authorization header.