Kyvos Manager

Download OpenAPI specification:Download

Kyvos Manager Rest API Documentation

Login

Login

Kyvos Manager supports three modes of authentication for using REST APIs.

Basic Authentication:
This mode requires passing the user credentials in authorization header with each REST API call, without the need of this Login API.
To know more about basic authentication, refer to following documentation: Basic Authentication

Header NameValue
AuthorizationBasic <%credentials%>

OAuth-based Authentication:
If Kyvos Manager has OAuth (OIDC) enabled, users can utilize the ID token from OAuth to access Kyvos Manager REST APIs. To execute REST APIs with OAuth-based authentication, users need to include authorization and appType in the header.
To know more about OAuth and how to generate id token refer to following documentation: Generate ID Token
Header NameValue
AuthorizationoAuth <%id_token%>
appTypePUBLIC/CONFIDENTIAL
Note: The appType is only required if both public and confidential types are configured in Kyvos Manager.

Token-based Authentication:
This authentication mode allows you to exchange a token from Kyvos Manager against a valid user credentials using this login API. API returns a session ID as token, which will be used to access other REST APIs by passing in session ID in request header.

Note: Native, LDAP, and OAuth users can use this API for authentication.

API Description:
This API authenticate a user using user credentials. On successful authentication, this REST call returns a session id that can be further used to request any other REST call.

Authorizations:
basicAuthsessionId
query Parameters
username
required
string

The username of the user to be authenticated.

password
required
string

The password of the user to be authenticated.

oAuthToken
required
string

Required if OAuth/OIDC user is logging in.

appType
string

The appType is only required if both public and confidential types are configured in Kyvos Manager.

tokenTimeOut
string

Number of minutes of inactivity after which the login session will expires. After this, login request needs to be resent for any further request.
Default Value: 30 minutes

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

Content-Type
required
string
Value: "application/x-www-form-urlencoded"
Example: application/x-www-form-urlencoded

The media type of request Value: application/x-www-form-urlencoded

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "Logged in successfully.",
  • "ERRORS": null
}

Logout

This API is needed to logout from the session created for REST API access. This API is applicable only if logout is done via sessionid token.

Note: Basic Authentication does not support logout API.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
required
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": null,
  • "STATUS": 200,
  • "MESSAGE": "Logged out successfully.",
  • "ERRORS": null
}

Services

The Services module of Kyvos Manager provides you REST APIs for start/stop/restart the services of cluster. In this module you can start/stop/restart single service, group of service, all services etc.

Start/Stop/Restart Cluster Services

This API is used to start, stop, or restart all the cluster services.

The response of the API call displays the Operation ID of the services operation. To get the status of the operation, use the API Get Single Operation Details or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
path Parameters
action
required
string
Enum: "start" "stop" "restart"

The action name to be performed on cluster services.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to start, stop, or restart cluster services has been accepted.",
  • "ERRORS": null
}

Start/Stop/Restart Specific Service

This API is used to start, stop, or restart a specific cluster service on the cluster.

For Kyvos Manager services, only restart action is available. Before serving this request, the API does not check if any operation is in progress for this request. The request aborts the operation in progress and restarts the Kyvos Manager application. The response does not show any operation ID.

For Kyvos services, the API will start, stop, or restart the BI Server, Query Engine, Web Portal, and Postgres Server services. It doesn't perform any action if Kyvos Manager is using the same Postgres Server service.

The response of the API call displays the Operation ID of the start/stop/restart cluster services operation. To get the status of the operation, use the API Get Single Operation Details or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
path Parameters
serviceName
required
string
Enum: "BISERVER" "QUERYENGINE" "WEBPORTAL" "POSTGRESSERVER" "STANDBYPOSTGRESSERVER" "KMAGENT" "ZOOKEEPER" "KYVOS" "KYVOSMANAGER"

The name of service which you want to start/stop/restart.

action
required
string
Enum: "start" "stop" "restart"

The action name to be performed on cluster services.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to start, stop, or restart service has been accepted.",
  • "ERRORS": null
}

Start/Stop/Restart Given Node Services

This API is used to start, stop, or restart all the services configured on a specific node.

The response of the API call displays the Operation ID of the start/stop/restart cluster services operation. To get the status of the operation, use the API Get Single Operation Details or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
path Parameters
node
required
string

The IP/hostname of node which is configured in the cluster.

action
required
string
Enum: "start" "stop" "restart"

The action name to be performed on cluster services.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to start, stop, or restart service has been accepted.",
  • "ERRORS": null
}

Start/Stop/Restart Given Services on Node

This API is used to start, stop, or restart a specific cluster service on a specific node.

The response of the API call displays the Operation ID of the start/stop/restart cluster services operation. To get the status of the operation, use the API Get Single Operation Details or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
path Parameters
node
required
string
Example: 172.25.4.3

The IP/hostname of node which is configured in the cluster.

serviceName
required
string
Enum: "BISERVER" "QUERYENGINE" "WEBPORTAL" "POSTGRESSERVER" "STANDBYPOSTGRESSERVER" "KMAGENT" "ZOOKEEPER" "KYVOS" "KYVOSMANAGER"

The name of service which you want to start/stop/restart.

action
required
string
Enum: "start" "stop" "restart"

The action name to be performed on cluster services.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to start, stop, or restart service has been accepted.",
  • "ERRORS": null
}

Node

Kyvos Manager supports increasing and decreasing cluster capacity through REST APIs. Using the REST APIs, you can add or delete nodes of BI Server and Query Engines.

Get Nodes Details

This API is used to fetch details of nodes available in the cluster.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
nodes
Array of strings

Array of nodes IP/hostname available in the cluster for which you want to fetch details.

services
Array of strings

Array of cluster services for which you want to fetch details.

Responses

Request samples

Content type
application/json
Example
{
  • "nodes": [
    ]
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get node details request has been accepted.",
  • "ERRORS": null
}

Add Nodes for a Single Kyvos Service

This API is used to add nodes for a single Kyvos service. Here Kyvos Service means BI Server or Query Engine. Using this API, you can add nodes for BI Server or Query Engines.

The response of the API call shows the Operation ID of the add node operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
nodes
required
Array of strings

Array of node IP/hostname that you want to add to the cluster.

service
required
string
Enum: "BISERVER" "QUERYENGINE"

Service for which you want to add the nodes. It can be BISERVER or QUERYENGINE.

Responses

Request samples

Content type
application/json
{
  • "service": "BISERVER/QUERYENGINE",
  • "nodes": [
    ]
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to add node has been accepted.",
  • "ERRORS": null
}

Delete Nodes

This API is used to delete one or more nodes from the cluster. You cannot delete the node from a single-node cluster. Also, deletion of the Web Portal node, Standby Postgres Server node, Postgres Server node, and BI Server (single node) is not allowed.

The response of the API call shows the Operation ID of the delete node operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
nodes
Array of strings

Array of IP/hostnames of the nodes to be deleted from cluster.

Responses

Request samples

Content type
application/json
{
  • "nodes": [
    ]
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to delete node has been accepted.",
  • "ERRORS": null
}

Add Nodes for Multiple Kyvos Services

This API is used to add nodes to multiple Kyvos services in one go. Using this API, you can add nodes for both BI Server and Query Engines in a single call.

The response of the API call shows the Operation ID of the add node operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
required
object

The object IP/hostnames of the nodes to be added along with the corresponding service name array.

Responses

Request samples

Content type
application/json
{
  • "nodes": {
    }
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to add node has been accepted.",
  • "ERRORS": null
}

Query Engine Segments

Kyvos Manager REST APIs allow you to add, delete, and update the Query Engine based segments.

Get All Segments

This API is used to fetch details of all the configured segments in the cluster. The response consists of an array containing segment objects including segment name, segment type, and the details of associated Query Engine instances.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "The request to get segment details has been accepted.",
  • "ERRORS": null
}

Add Query Engine Based Segment

This API is used to add Query Engine based segment. You can add multiple Query Engines in a single segment.

The response of the API call shows the Operation ID of the add segments operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
NAME
string

Unique Query Engine segment name. If a name is not provided, an auto-generated name will be used.

QUERYENGINE
required
Array of strings

Array of distinct Query Engine nodes. Provide in IP Address:QueryEngine-Instance format.

Responses

Request samples

Content type
application/json
Example
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to add segments request has been accepted.",
  • "ERRORS": null
}

Update Query Engine Based Segments

This API is used to update the Query Engine based segments. While updating a segment, all the Query Engines associated with the segment are replaced with new Query Engines. The system will show an error if you provide any currently associated Query Engine.

The response of the API call shows the Operation ID of the update segments operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
NAME
required
string

Name of the segment to be updated.

QUERYENGINE
required
Array of strings

Array of distinct Query Engine nodes to be added to the segment. Provide in IP Address:QueryEngine-Instance format.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to update segments request has been accepted.",
  • "ERRORS": null
}

Delete Multiple Segments

This API is used to delete multiple segments from the cluster.

The response of the API call shows the Operation ID of the delete segments operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
name
Array of strings

Array of names of the segments to be deleted.

Responses

Request samples

Content type
application/json
{
  • "name": [
    ]
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to delete segments request has been accepted.",
  • "ERRORS": null
}

Get Segment File Data

This API is used to get the segment file data.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get segment file detail has been accepted.",
  • "ERRORS": null
}

Get Single Segment

This API is used to fetch a single segment from the cluster.

Authorizations:
basicAuthsessionId
path Parameters
segmentName
required
string

Name of the segment to be fetched.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "The request to get segment details has been accepted.",
  • "ERRORS": null
}

Delete Single Segment

This API is used to delete a single segment from the cluster.

The response of the API call shows the Operation ID of the delete segments operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
path Parameters
segmentName
required
string

Name of the segment to be deleted.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to delete segments request has been accepted.",
  • "ERRORS": null
}

Add Query Engine nodes to Segment

This API is used to add Query Engine nodes to a Query Engine based segment.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
NAME
required
string

Name of the Query Engine based segment to which you want to add a new node.

QUERYENGINE
required
Array of strings

Array of IP Addresses of the Query Engine nodes to be added to the segment. Provide in IP Address: QueryEngine-Instance format.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to add node in segment has been accepted.",
  • "ERRORS": null
}

Delete Query Engine Nodes from Segment

This API is used to delete Query Engine nodes from a Query Engine based segment.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
NAME
required
string

Name of the Query Engine based segment from which you want to delete the Query Engine node.

QUERYENGINE
required
Array of strings

Name of the Query Engine node to be deleted from the Query Engine based segment.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to delete node in segment has been accepted.",
  • "ERRORS": null
}

Get Nodes Details for Segment

This API is used to fetch details of all the nodes available in the cluster that can be added to segments.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get the resources details has been accepted.",
  • "ERRORS": null
}

Application Update

Kyvos Manager REST APIs allow you to upgrade,rollback and apply patch on the application.

Upgrade Version Listing

This API is used to get the list of compatible versions available for upgrading Kyvos and Kyvos Manager. The list of available bundles is only supported for Azure clusters, including Azure Marketplace-based deployments. For clusters deployed through Azure Marketplace, you do not need to provide Client Secret in the request body.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
clientSecret
string

Client secret is used to fetch the available upgrade bundles for the listing from the Azure storage.

Responses

Request samples

Content type
application/json
{
  • "clientSecret": "string"
}

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "The upgrade bundles listing request has been accepted.",
  • "ERRORS": null
}

Upgrade Kyvos and Kyvos Manager

This API is used to upgrade Kyvos and Kyvos Manager in one go or separately. However, to upgrade the Kyvos version separately, you must first upgrade the Kyvos Manager.

You can use version parameter to upgrade Kyvos and Kyvos Manager in a single call for Azure deployments.

To upgrade Kyvos Manager separately use either the upgradeBundlePath or the version parameter. To upgrade Kyvos only, use the upgradeBundlePath parameter.

Version parameter is supported for Cloud deployments only.

The response of application update API call shows the Operation ID of the upgrade operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
component
required
string
Enum: "All" "Kyvos" "KyvosManager"

Component to be upgraded.

  • All: Upgrades both Kyvos and Kyvos Manager.
  • Kyvos: Upgrades only Kyvos.
  • Kyvos Manager: Upgrades only Kyvos Manager.

version
required
string

Version to which you want to upgrade. This parameter is supported only when upgrading either Kyvos Manager or both Kyvos and Kyvos in one go.

upgradeBundlePath
required
string

Path where the upgrade bundle is available on the Kyvos Manager machine.

startServices
boolean

Set as true to restart all the Kyvos services automatically after the upgrade. If this is false, you need to manually restart Kyvos services after the upgrade. The default value is true.

backupCubeData
boolean

Set as true to create a backup of the cube data before upgrade. If the parameter is blank, it is considered as false, and no cube data backup will be created. The default value is false.

backupLogs
boolean

Set as true to create a backup of the monitoring logs. The default value is false.

upgradeBehaviorTemplateOverwrite
boolean

Set as true to override the email template data. The default value is false.

clientSecret
string

Client secret to download the upgrade bundle from the Azure storage. This is a mandatory input if upgrading All components or Kyvos Manger using the version option on the Azure platform.

accessKeyId
string

Access key ID for AWS/GCP to download the upgrade bundle from S3/Google storage. This is a mandatory input if upgrading All components or Kyvos Manger using the version option on the AWS platform.

secretAccessKey
string

Secret access key for AWS/GCP to download the upgrade bundle from S3/Google storge. This is a mandatory input if upgrading All components or Kyvos Manger using the version option on the AWS/GCP platform.

Responses

Request samples

Content type
application/json
Example
{
  • "component": "All",
  • "version": "2023.2",
  • "clientSecret": "xxxxxxxxxxxxxx",
  • "startServices": true,
  • "backupCubeData": true
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The application upgrade request accepted.",
  • "ERRORS": null
}

Patch Version Listing

This API is used to get the list of compatible versions for patch upgrades of the Kyvos application. The list of available bundles is only supported for clusters deployed through the Azure Marketplace.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "The patch bundles listing request has been accepted.",
  • "ERRORS": null
}

Apply Patch for Kyvos

This API is used to apply patches on Kyvos. Users can use version and patchBundlePath parameters to apply patches on Kyvos.

Version parameter is supported for clusters deployed through Azure Marketplace only. To get the list of patch bundles, use the Patch Version Listing API.

The response of the API call displays the Operation ID of the patch operation. To get the status of the operation, use the Get Single Operation Details API or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
version
string

Version to which you want to apply patch on Kyvos. This parameter is supported only when apply patch from the marketplace deployment.

patchBundlePath
string

Path where the patch bundle is available on the Kyvos Manager machine.

startServices
boolean

Set as true to restart all the Kyvos services automatically after the patch. If this is false, you need to manually restart Kyvos services after the upgrade. The default value is true.

backupCubeData
boolean

Set as true to create a backup of the cube data before upgrade. If the parameter is blank, it is considered as false, and no cube data backup will be created. The default value is false.

backupLogs
boolean

Set as true to create a backup of the monitoring logs. The default value is false.

Responses

Request samples

Content type
application/json
Example
{
  • "version": "2023.2_Patch075.18",
  • "startServices": true,
  • "backupCubeData": true,
  • "backupLogs": true
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The apply patch request has been accepted.",
  • "ERRORS": null
}

Rollback Bundle Listing

This API is used to get the list of available bundles to rollback to previous versions of Kyvos and Kyvos Manager.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 200,
  • "MESSAGE": "The rollback bundles listing request has been accepted.",
  • "ERRORS": null
}

Rollback Application

This API is used to rollback Kyvos and Kyvos Manager simultaneously. Simultaneous rollback of both Kyvos and Kyvos Manager is supported only for the clusters deployed through Azure Marketplace. Use the Rollback Bundle Listing API to get the list of rollback bundles.

The response of the API call displays the Operation ID of the rollback operation. To get the status of the operation, use the Get Single Operation Details API or use the Get Operation Logs API to view the operation logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
component
required
string
Enum: "All" "Kyvos"

Component to be rollback.

  • All: Rollback both Kyvos and Kyvos Manager.
  • Kyvos: Rollback only Kyvos.

rollbackName
required
string

The rollback bundle name to which you want to rollback the Kyvos.

startServices
boolean

Set as true to restart all the Kyvos services automatically after the rollback. If this is false, you need to manually restart Kyvos services after the rollback. The default value is true.

Responses

Request samples

Content type
application/json
Example
{
  • "component": "All",
  • "rollbackName": "Kyvos2023.2_Patch087.027_ux64.tar.gz",
  • "startServices": true
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The application rollback request has been accepted.",
  • "ERRORS": null
}

Operations

The Operations module of Kyvos Manager monitors user activities on the cluster. You can use the Kyvos Manager REST APIs to get the operation details, logs, and so on.

Get All Operations Details

This API is used to fetch details of all the operations performed on the cluster.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get the operation details has been accepted.",
  • "ERRORS": null
}

Get Single Operation Details

This API is used to fetch the details of a specific operation ID. The response includes operation name, errors, warning, execution status, start time, end time, and so on.

Authorizations:
basicAuthsessionId
path Parameters
operationId
required
string

Operation ID for which you want to fetch details.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get the operation details has been accepted.",
  • "ERRORS": null
}

Get Operation Logs

This API is used to fetch the logs of a specific operation ID. The logs provide details of the steps performed for operation execution and details of operation failure, if any.

Authorizations:
basicAuthsessionId
path Parameters
operationId
required
string

Operation ID for which you want to fetch logs.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get the operation logs has been accepted.",
  • "ERRORS": null
}

Get Linked Operations Details

This API is used to fetch the details of operations linked to a specific operation ID. In the operation detail call, if any operation has the linked property set as true, it means the operation is linked.

Authorizations:
basicAuthsessionId
path Parameters
operationId
required
string

Operation ID for which you want to fetch linked operations.

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The request to get the linked operation details has been accepted.",
  • "ERRORS": null
}

Utilities

Kyvos Manager Utilities REST APIs allow you to perform operations such as synchronizing configuration and synchronizing libraries.

Synchronize Configurations

This API is used to synchronize the configuration libraries and files on each cluster node. It is required when you change the configuration paths, name node/EMR/Dataproc node IP/hostname, or change the version of compute cluster.

The response of the API call shows the Operation ID of the synchronize configurations operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to synchronize configuration has been accepted.",
  • "ERRORS": null
}

Synchronize Libraries

This API is used to synchronize the libraries on each cluster node. It is required when you change the libraries paths, name node/EMR/Dataproc node IP/hostname, or change the version of compute cluster. The response of the API call shows the Operation ID of the synchronize libraries operation. To get a status of operation, use this API Get Single Operation Details or for operation log use this API Get Operation Logs.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The request to synchronize libraries has been accepted.",
  • "ERRORS": null
}

Sanity

Kyvos Manager sanity suite module offers REST APIs for launching, stopping, cleaning up, and downloading reports.

Launch Sanity Suite

This API starts the sanity suite in a cluster. If data from the previous suite exists, it can be cleaned before launching a fresh suite.

Authorizations:
basicAuthsessionId
Request Body schema: application/json
username
required
string

Provide the username to trigger the sanity suite.

password
required
string

The password of the user to be authenticated.

userType
required
string
Enum: "USER_DEFINED" "SYSTEM_DEFINED"

Specify the user type for the username.
Note: For SYSTEM_DEFINED user types only managed service accounts are allowed.

forceLaunch
boolean

Set the parameter true to clean up data from the previously executed suite. If the parameter is blank or not specified, it defaults to false, and no cleanup process will be executed.

Responses

Request samples

Content type
application/json
Example
{
  • "username": "kyvos",
  • "password": "kyvos12",
  • "userType": "USER_DEFINED",
  • "forceLaunch": true
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The Sanity Suite is successfully initiated.",
  • "ERRORS": null
}

Abort Sanity Suite

This API is used to stop the ongoing sanity suite.

Authorizations:
basicAuthsessionId

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "The Sanity Suite abort request is successfully triggered.",
  • "ERRORS": null
}

Sanity Suite Cleanup

This API is used to cleanup data from the previous executed suite.

Authorizations:
basicAuthsessionId

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "The cleanup request is successfully initiated.",
  • "ERRORS": null
}

Download Sanity Suite Report

This API allows you to download the currently existing sanity report. To save the response received from the REST API, choose "save response" from the console pane.

Authorizations:
basicAuthsessionId

Responses

Response samples

Content type
application/octet-stream
{
  "OUTPUT": {
    "status": true,
    "operationId": 217
  },
  "STATUS": 200,
  "MESSAGE": "The request to start, stop, or restart service has been accepted.",
  "ERRORS": null
}

SMTP

The SMTP REST API module is used to configure SMTP settings for both Kyvos and Kyvos Manager.

SMTP Configuration

This API allows you to set up SMTP configuration for Kyvos and KyvosManager.

Authorizations:
basicAuthsessionId
Request Body schema: application/json
kyvos
object
Enum: "anonymousUser" "emailAddress" "mailServiceApi" "protocols" "server" "port"

To set up SMTP configuration for Kyvos, provide the above mentioned properties in a map.

kyvosManager
object
Enum: "anonymousUser" "emailAddress" "mailServiceApi" "protocols" "server" "port"

To set up SMTP configuration for Kyvos Manager, provide the above mentioned properties in a map.

mailServiceApi
required
string
Enum: "SMTP" "SendGrid"

This property is used to specify the API to be used for sending the mail notifications.

  • For SMTP mailServiceApi following are the parameter required anonymsUser or userName & password, emailAddress , server, port , protocols.
  • For SendGrid mailServiceApi following are the parameter required emailAddress and sendGridApiKey
server
required
string

For Kyvos - Enter the IP address or DNS name of the Kyvos server for sending emails. For Kyvos Manager - Enter the IP address or DNS name of the Kyvos Manager server for sending emails.

port
required
string

Enter the port number that is used for SMTP service.

protocols
string

In Kyvos, selecting either SMTP or SMTPS protocol for sending emails is mandatory in the Kyvos map. In Kyvos Manager, protocols are optional but are provided as an array. The supported protocols include TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, and SSLv3.

userName
string

Enter the user name for the account from which mail is to be sent.

password
string

Enter the initial password to access this email account. This can be changed later.

anonymousUser
boolean

Select this option if your mail server allows sending emails anonymously. If selected, you can omit the User Name and Password fields.

emailAddress
string

Provide an email ID that will be used for sending emails.

sendGridApiKey
string

API Key for sending emails using SendGrid service.

Responses

Request samples

Content type
application/json
Example
{
  • "kyvos": {
    },
  • "kyvosManager": {
    }
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "Mail configuration updated.",
  • "ERRORS": null
}

Users

The Users module of Kyvos Manager allows you to manage user accounts and their roles. You can use the Kyvos Manager REST APIs to create, update user details.

Create User

This API is used to create a user.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
role
required
string

User roleName (e.g., Maintainer)

authenticationType
required
string

Authentication type (e.g., Native)

description
string

Description of the user

email
string

Email address of the user

accountStatus
string

Account status (e.g., Active, InActive)

firstName
required
string

First name of the user

lastName
required
string

Last name of the user

password
required
string

User's password

userName
required
string

Username for the user

Responses

Request samples

Content type
application/json
{
  • "role": "string",
  • "authenticationType": "string",
  • "description": "string",
  • "email": "string",
  • "accountStatus": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "password": "string",
  • "userName": "string"
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "User added successfully",
  • "ERRORS": null
}

Update User Role

This API is used to assign the role of a user.

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Request Body schema: application/json
userName
required
string

User name of target user whose role is to be updated.

role
required
string

Values of the new role which is to be assigned to user.

Responses

Request samples

Content type
application/json
{
  • "userName": "string",
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 202,
  • "MESSAGE": "Update user role successfully",
  • "ERRORS": null
}

Roles

APIs for managing roles within the application. Roles define the permissions and privileges granted to users. These endpoints allow you to add, retrieve, update, and delete roles as well as fetch details about specific roles by their names.

Get Roles

This API is used to get the role list

Authorizations:
basicAuthsessionId
header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 202,
  • "MESSAGE": "Role list fetched successfully",
  • "ERRORS": null
}

Get Role

This API is used to get the role of a user

Authorizations:
basicAuthsessionId
path Parameters
roleName
required
string

Name of Role

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": [
    ],
  • "STATUS": 202,
  • "MESSAGE": "Role fetched successfully",
  • "ERRORS": null
}

Delete Role

This API is used to delete the role

Authorizations:
basicAuthsessionId
path Parameters
roleName
required
string

User rolename

header Parameters
Accept
required
string
Value: "application/JSON"
Example: application/JSON

Supported response type: JSON.

sessionid
string

The session Id is the token received from the login API.
Note: Session Id is required for Token-based Authentication.

Responses

Response samples

Content type
application/json
{
  • "OUTPUT": {
    },
  • "STATUS": 200,
  • "MESSAGE": "Role deleted successfully",
  • "ERRORS": null
}