SearchStax Deployments API

The Deployments API from SearchStax — 5 operation(s) for deployments.

OpenAPI Specification

searchstax-deployments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SearchStax Provisioning Authentication Deployments API
  description: The SearchStax Provisioning API is a REST interface for creating and managing Solr deployments in the SearchStax Managed Search cloud. It supports deployment lifecycle management including creation, deletion, restart, backup and restore, node management, authentication configuration, webhook management, and usage reporting.
  version: 2.0.0
  contact:
    url: https://www.searchstax.com/docs/searchstax-cloud-apis-overview/
servers:
- url: https://app.searchstax.com/api/rest/v2
  description: SearchStax Provisioning API v2
security:
- tokenAuth: []
tags:
- name: Deployments
paths:
  /account/{account_name}/deployment/:
    get:
      operationId: listDeployments
      summary: List Deployments
      description: Retrieve all Solr deployments for the specified account with pagination.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: page_size
        in: query
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: List of deployments
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    nullable: true
                  previous:
                    type: string
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Deployment'
        '401':
          description: Unauthorized
    post:
      operationId: createDeployment
      summary: Create Deployment
      description: Create a new Solr deployment. Provisioning may take up to an hour to complete. Only Account Owner, Admin, or Technical Contact roles may invoke this endpoint.
      tags:
      - Deployments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
      responses:
        '201':
          description: Deployment creation initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '400':
          description: Invalid request parameters
        '401':
          description: Unauthorized
  /account/{account_name}/deployment/{uid}/:
    get:
      operationId: getDeployment
      summary: Get Deployment
      description: Retrieve comprehensive details about a specific Solr deployment.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/deploymentUid'
      responses:
        '200':
          description: Deployment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '404':
          description: Deployment not found
    delete:
      operationId: deleteDeployment
      summary: Delete Deployment
      description: Delete a deployment. Subject to termination lock restrictions. Optionally retain scheduled backups after deletion.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/deploymentUid'
      - name: retain_backups
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '204':
          description: Deployment deleted
        '403':
          description: Termination lock active
        '404':
          description: Deployment not found
  /account/{account_name}/deployment/{uid}/deployment-health/:
    get:
      operationId: getDeploymentHealth
      summary: Get Deployment Health
      description: Returns the health status of the deployment as OK, Warn, or Error.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/deploymentUid'
      responses:
        '200':
          description: Deployment health status
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - OK
                    - Warn
                    - Error
  /account/{account_name}/deployment/{uid}/collection-health/:
    get:
      operationId: getCollectionHealth
      summary: Get Collection Health
      description: Checks whether all Solr collections are healthy or degraded.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/deploymentUid'
      responses:
        '200':
          description: Collection health status
          content:
            application/json:
              schema:
                type: object
                properties:
                  healthy:
                    type: boolean
                  collections:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        status:
                          type: string
  /account/{account_name}/deployment/{uid}/rolling-restart/:
    put:
      operationId: rollingRestart
      summary: Rolling Restart
      description: Sequentially restart cluster nodes without downtime. Can restart Solr nodes, ZooKeeper nodes, or both.
      tags:
      - Deployments
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/deploymentUid'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - solr
              - zookeeper
              properties:
                solr:
                  type: boolean
                  description: Restart Solr nodes
                zookeeper:
                  type: boolean
                  description: Restart ZooKeeper nodes
      responses:
        '200':
          description: Restart initiated
        '400':
          description: Invalid request
components:
  schemas:
    CreateDeploymentRequest:
      type: object
      required:
      - name
      - application
      - application_version
      - termination_lock
      - plan_type
      - plan
      - region_id
      - cloud_provider_id
      properties:
        name:
          type: string
          description: Deployment name
        application:
          type: string
          enum:
          - Solr
        application_version:
          type: string
          description: Solr version (e.g., "9.4.1")
        termination_lock:
          type: boolean
          description: Shield deployment from accidental deletion
        plan_type:
          type: string
          enum:
          - DedicatedDeployment
        plan:
          type: string
          description: Plan identifier (e.g., "NDN2-AWS-S")
        region_id:
          type: string
          description: Cloud region identifier (e.g., "us-east-1")
        cloud_provider_id:
          type: string
          enum:
          - aws
          - azure
          - gcp
        num_additional_app_nodes:
          type: integer
          description: Additional Solr application nodes
        private_vpc:
          type: integer
          description: Private VPC ID for network isolation
    Deployment:
      type: object
      properties:
        uid:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
          - provisioning
          - running
          - stopped
          - error
        application:
          type: string
        application_version:
          type: string
        plan:
          type: string
        cloud_provider_id:
          type: string
        region_id:
          type: string
        termination_lock:
          type: boolean
        solr_url:
          type: string
        created:
          type: string
          format: date-time
  parameters:
    accountName:
      name: account_name
      in: path
      required: true
      description: SearchStax account name
      schema:
        type: string
    deploymentUid:
      name: uid
      in: path
      required: true
      description: Deployment unique identifier
      schema:
        type: string
  securitySchemes:
    tokenAuth:
      type: http
      scheme: bearer
      description: Token obtained from /obtain-auth-token/ endpoint