Litmus Portal API Documentation API Reference

Litmus Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.

API Endpoints
Dev:
http://localhost:8080
Prod:
http://localhost:8080/query

Cluster

Litmus Portal gives the ability to run chaos on remote Kubernetes cluster. Self cluster is automatically getting connected after submitting the welcome model. To connect an external cluster, use the following APIs for cluster operations.
User can access connected clusters via agents page of Litmus Portal.

List Cluster

Returns a list of cluster with Litmus Portal. It includes pending, active and inactive clusters.

Field Possible values Mandatory/Optional
project_id - Mandatory
cluster_type external/internal Mandatory
Example Body:
{

"project_id": "5fd7d9212c9f32447e28317b",
"cluster_type": "external",

}
project_id:
string

(no description)

cluster_type:
string

(no description)

Example

Request Content-Types: application/json
Query
query getCluster($project_id: String!, $cluster_type: String){
  getCluster(project_id: $project_id, cluster_type: $cluster_type){
    cluster_id
    project_id
    cluster_name
    description
    platform_name
    access_key
    is_registered
    is_cluster_confirmed
    is_active
    updated_at
    created_at
    cluster_type
    no_of_schedules
    no_of_workflows
    token
    agent_namespace
    serviceaccount
    agent_scope
    agent_ns_exists
    agent_sa_exists
    last_workflow_timestamp
  }
}
Variables
{
  "project_id": "string",
  "cluster_type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getCluster": [
      {
        "cluster_id": "string",
        "project_id": "string",
        "cluster_name": "string",
        "description": "string",
        "platform_name": "string",
        "access_key": "string",
        "is_registered": "boolean",
        "is_cluster_confirmed": "boolean",
        "is_active": "boolean",
        "updated_at": "string",
        "created_at": "string",
        "cluster_type": "string",
        "no_of_schedules": "integer",
        "no_of_workflows": "integer",
        "token": "string",
        "agent_namespace": "string",
        "serviceaccount": "string",
        "agent_scope": "string",
        "agent_ns_exists": "boolean",
        "agent_sa_exists": "boolean",
        "last_workflow_timestamp": "string"
      }
    ]
  }
}

Register Cluster

User can make requests to connect their kubernetes cluster and get a token as response, that token can be used to get the subscriber manifest which needs to apply in their cluster.

Field Possible values Mandatory/Optional
cluster_name - Mandatory
description - Optional
project_id - Mandatory
platform_name - Optional
cluster_type external/internal Mandatory
agent_namespace - Optional
serviceaccount - Optional
agent_scope cluster/namespace Mandatory
agent_ns_exists true/false Mandatory
agent_sa_exists true/false Mandatory
node_selector - Mandatory
Example Body:
{

"cluster_name": "Litmus-cluster",
"description": "New Litmus Portal Cluster",
"platform_name": "AWS",
"project_id": "5fd7d9212c9f32447e28317b",
"cluster_type": "external",
"agent_namespace": "",
"agent_namespace": "",
"agent_scope": cluster,
"agent_ns_exists": false,
"agent_sa_exists": false,

}
clusterInput:

(no description)

Example

Request Content-Types: application/json
Query
mutation userClusterReg($clusterInput: ClusterInput!){
  userClusterReg(clusterInput: $clusterInput){
    token
    cluster_id
    cluster_name
  }
}
Variables
{
  "clusterInput": {
    "cluster_name": "string",
    "description": "string",
    "platform_name": "string",
    "project_id": "object",
    "cluster_type": "string",
    "agent_namespace": "string",
    "serviceaccount": "string",
    "agent_scope": "string",
    "agent_ns_exists": "boolean",
    "agent_sa_exists": "boolean",
    "node_selector": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "userClusterReg": {
      "token": "string",
      "cluster_id": "string",
      "cluster_name": "string"
    }
  }
}

Delete Cluster

This query can be used to delete a cluster from litmus portal. It cannot be undone.
Note: User can access the details of deleted cluster inside MongoDB, which are being marked as removed.

Field Possible values Mandatory/Optional
cluster_id - Mandatory
Example Body:
{

"cluster_id": "2df3212c9f32447e28317b",

}
cluster_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteClusterReg($cluster_id: String!){
  deleteClusterReg(cluster_id: $cluster_id)
}
Variables
{
  "cluster_id": "string"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteClusterReg": "string"
  }
}

Chaos Workflow

Chaos workflows consist of a sequence of experiments run together to introduce chaos in the Kubernetes platform.
Note: Target cluster should be in active state before scheduling the workflow

Create ChaosWorkflow

User can create Chaos Workflow easily via the workflow page of the Litmus Portal dashboard.

Field Possible values Mandatory/Optional
workflow_id - Optional
workflow_manifest - Mandatory
workflow_manifest - Mandatory
cronSyntax - Optional
workflow_name external/internal Mandatory
weightages - Mandatory
workflow_description - Optional
isCustomWorkflow true/false Madatory
project_id Mandatory
cluster_id Mandatory
Example Body:
{

"workflow_name": "Pod-networkloss-chaos",
"workflow_manifest": "{ apiVersion: v1 ......}",
"cronSyntax": "***/2",
"project_id": "5fd7d9212c9f32447e28317b",
"cluster_id": "3gr3f492146f53d4g3e283re",
"workflow_description": "Pod networkloss-experiment",
"isCustomWorkflow": false,

}

(no description)

Example

Request Content-Types: application/json
Query
mutation createChaosWorkFlow($input: ChaosWorkFlowInput!){
  createChaosWorkFlow(input: $input){
    workflow_id
    cronSyntax
    workflow_name
    workflow_description
    isCustomWorkflow
  }
}
Variables
{
  "input": {
    "workflow_id": "string",
    "workflow_manifest": "string",
    "cronSyntax": "string",
    "workflow_name": "string",
    "workflow_description": "string",
    "weightages": [
      {
        "experiment_name": "string",
        "weightage": "number"
      }
    ],
    "isCustomWorkflow": "boolean",
    "project_id": "object",
    "cluster_id": "object"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createChaosWorkFlow": {
      "workflow_id": "string",
      "cronSyntax": "string",
      "workflow_name": "string",
      "workflow_description": "string",
      "isCustomWorkflow": "boolean"
    }
  }
}

Get ChaosWorkflow Runs

Returns a list of chaos workflow and details of particular using a same endpoint. It can fetch both cron and non-cron workflow present in the Litmus Portal. false
This query also supports pagination, filtering and sorting of data according to different parameters.

Field Possible values Mandatory/Optional
project_id - Mandatory
workflow_ids [] Optional
workflow_run_ids [] Optional
pagination {page: "integer", limit:"integer"} Optional
sort - Optional
filter - Optional
workflowRunsInput:

(no description)

Example

Request Content-Types: application/json
Query
query getWorkflowRuns($workflowRunsInput: GetWorkflowRunsInput!){
  getWorkflowRuns(workflowRunsInput: $workflowRunsInput){
    total_no_of_workflow_runs
  }
}
Variables
{
  "workflowRunsInput": {
    "project_id": "object",
    "workflow_run_ids": [
      "object"
    ],
    "workflow_ids": [
      "object"
    ],
    "pagination": {
      "page": "number",
      "limit": "number"
    },
    "sort": {
      "field": "string",
      "descending": "boolean"
    },
    "filter": {
      "workflow_name": "string",
      "cluster_name": "string",
      "workflow_status": "string",
      "date_range": {
        "start_date": "string",
        "end_date": "string"
      }
    }
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getWorkflowRuns": {
      "total_no_of_workflow_runs": "integer"
    }
  }
}

List Chaos Workflow

This query is used to get the list of all the scheduled workflows. Individual schedules can also be extracted by providing the workflow_ids

Field Possible values Mandatory/Optional
project_id - Mandatory
workflow_ids [] Optional
pagination {page: "integer", limit:"integer"} Optional
sort - Optional
filter - Optional
workflowInput:

(no description)

Example

Request Content-Types: application/json
Query
query ListWorkflow($workflowInput: ListWorkflowsInput!){
  ListWorkflow(workflowInput: $workflowInput){
    total_no_of_workflows
  }
}
Variables
{
  "workflowInput": {
    "project_id": "object",
    "workflow_ids": [
      "object"
    ],
    "pagination": {
      "page": "number",
      "limit": "number"
    },
    "sort": {
      "field": "string",
      "descending": "boolean"
    },
    "filter": {
      "workflow_name": "string",
      "cluster_name": "string"
    }
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "ListWorkflow": {
      "total_no_of_workflows": "integer"
    }
  }
}

Re Run Chaos Workflow

This API is used to re-run a particular chaos workflow on the basis of workflow_id

Field Possible values Mandatory/Optional
workflow_id string Mandatory
workflowID:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation reRunChaosWorkFlow($workflowID: String!){
  reRunChaosWorkFlow(workflowID: $workflowID)
}
Variables
{
  "workflowID": "string"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "reRunChaosWorkFlow": "string"
  }
}

Update ChaosWorkflow

Update the specified chaos workflow by setting the values of the parameters passed. Any parameters not provided will change with its empty value.

Field Possible values Mandatory/Optional
workflow_id - Mandatory
cronSyntax - Mandatory
workflow_name - Mandatory
workflow_description - Mandatory
isCustomWorkflow true/false Mandatory
Example Body:
{

"workflow_id": "5fd7d9212c9f32447e28317b",
"cronSyntax": "****",
"workflow_name": "New-network-chaos",
"workflow_description": "Update Chaos workflow",
"isCustomWorkflow": false

}

(no description)

Example

Request Content-Types: application/json
Query
mutation updateChaosWorkflow($input: ChaosWorkFlowInput){
  updateChaosWorkflow(input: $input){
    workflow_id
    cronSyntax
    workflow_name
    workflow_description
    isCustomWorkflow
  }
}
Variables
{
  "input": {
    "workflow_id": "string",
    "workflow_manifest": "string",
    "cronSyntax": "string",
    "workflow_name": "string",
    "workflow_description": "string",
    "weightages": [
      {
        "experiment_name": "string",
        "weightage": "number"
      }
    ],
    "isCustomWorkflow": "boolean",
    "project_id": "object",
    "cluster_id": "object"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateChaosWorkflow": {
      "workflow_id": "string",
      "cronSyntax": "string",
      "workflow_name": "string",
      "workflow_description": "string",
      "isCustomWorkflow": "boolean"
    }
  }
}

Delete ChaosWorkflow

Delete chaos workflow will permanently delete schedule workflow from the cluster. It cannot be undone. Note: User can access the details of deleted workflow inside MongoDB, which are being marked as removed.

Field Possible values Mandatory/Optional
workflowid - Mandatory
Example Body:
{

"workflowid": "2df3212c9f32447e28317b",

}
workflowid:
string

(no description)

workflow_run_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteChaosWorkflow($workflowid: String, $workflow_run_id: String){
  deleteChaosWorkflow(workflowid: $workflowid, workflow_run_id: $workflow_run_id)
}
Variables
{
  "workflowid": "string",
  "workflow_run_id": "string"
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteChaosWorkflow": "boolean"
  }
}

Save Template

Save a scheduled workflow as a template. Provide a workflow name and description, and use the scheduled manifest as a template.

Field Possible values Mandatory/Optional
isCustomWorkflow true/false/td> Optional
manifest "kind: CronWorkflow\napiVersion: argoproj.io/v1alpha1\nmetadata:\n name: bank-of-anthos-1626851266\n namespace: litmus\n .... Mandatory
project_id - Mandatory
template_name new-saved-template Mandatory
template_description Demo Description Mandatory
templateInput:

(no description)

Example

Request Content-Types: application/json
Query
mutation createManifestTemplate($templateInput: TemplateInput){
  createManifestTemplate(templateInput: $templateInput){
    template_id
    manifest
    template_name
    template_description
    project_id
    project_name
    created_at
    is_removed
    isCustomWorkflow
  }
}
Variables
{
  "templateInput": {
    "manifest": "string",
    "template_name": "string",
    "template_description": "string",
    "project_id": "string",
    "isCustomWorkflow": "boolean"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createManifestTemplate": {
      "template_id": "string",
      "manifest": "string",
      "template_name": "string",
      "template_description": "string",
      "project_id": "string",
      "project_name": "string",
      "created_at": "string",
      "is_removed": "boolean",
      "isCustomWorkflow": "boolean"
    }
  }
}

List Manifest Template

This query lists all the available Templates present in a particular project.

Field Possible values Mandatory/Optional
project_id - Mandatory
project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query ListManifestTemplate($project_id: String!){
  ListManifestTemplate(project_id: $project_id){
    template_id
    manifest
    template_name
    template_description
    project_id
    project_name
    created_at
    is_removed
    isCustomWorkflow
  }
}
Variables
{
  "project_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "ListManifestTemplate": [
      {
        "template_id": "string",
        "manifest": "string",
        "template_name": "string",
        "template_description": "string",
        "project_id": "string",
        "project_name": "string",
        "created_at": "string",
        "is_removed": "boolean",
        "isCustomWorkflow": "boolean"
      }
    ]
  }
}

Get Template Manifest

This query fetches the manifest from a selected template. It takes the template_id as an input.

Field Possible values Mandatory/Optional
template_id - Mandatory
template_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query GetTemplateManifestByID($template_id: String!){
  GetTemplateManifestByID(template_id: $template_id){
    template_id
    manifest
    template_name
    template_description
    project_id
    project_name
    created_at
    is_removed
    isCustomWorkflow
  }
}
Variables
{
  "template_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetTemplateManifestByID": {
      "template_id": "string",
      "manifest": "string",
      "template_name": "string",
      "template_description": "string",
      "project_id": "string",
      "project_name": "string",
      "created_at": "string",
      "is_removed": "boolean",
      "isCustomWorkflow": "boolean"
    }
  }
}

ChaosHub

ChaosHub constructs workflow from a set of experiments from Chaos Hub or the Git Repo. There is a public hub which get cloned during the installation by default.

Add ChaosHub

User can add chaoshub easily via the myhub page of the Litmus Portal dashboard. After adding chaoshub, it will clone the git repository which has the chaos charts. You can connect both Public and Private Repositories. For Private Repositories, user can authenticate using Access Token or SSH for cloning the repository.

Field Possible values Mandatory/Optional
RepoURL - Mandatory
RepoBranch - Mandatory
HubName - Mandatory
IsPrivate - Mandatory
AuthType - Mandatory
Token - Optional
UserName - Optional
Password - Optional
SSHPublicKey - Optional
SSHPrivateKey - Optional
ProjectID - Mandatory
Example Body:
{

"RepoURL": "https://github.com/litmuschaos/chaos-charts",
"RepoBranch": "master",
"HubName": "my-chaos-hub",

}
myhubInput:

(no description)

projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation addMyHub($myhubInput: CreateMyHub!, $projectID: String!){
  addMyHub(myhubInput: $myhubInput, projectID: $projectID){
    id
    RepoURL
    RepoBranch
    ProjectID
    HubName
    IsPrivate
    AuthType
    Token
    UserName
    Password
    SSHPrivateKey
    IsRemoved
    CreatedAt
    UpdatedAt
    LastSyncedAt
  }
}
Variables
{
  "myhubInput": {
    "HubName": "string",
    "RepoURL": "string",
    "RepoBranch": "string",
    "IsPrivate": "boolean",
    "AuthType": "string",
    "Token": "string",
    "UserName": "string",
    "Password": "string",
    "SSHPrivateKey": "string",
    "SSHPublicKey": "string"
  },
  "projectID": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addMyHub": {
      "id": "string",
      "RepoURL": "string",
      "RepoBranch": "string",
      "ProjectID": "string",
      "HubName": "string",
      "IsPrivate": "boolean",
      "Token": "string",
      "UserName": "string",
      "Password": "string",
      "SSHPrivateKey": "string",
      "IsRemoved": "boolean",
      "CreatedAt": "string",
      "UpdatedAt": "string",
      "LastSyncedAt": "string"
    }
  }
}

List ChaosHub

Returns a list of ChaosHub connected with Litmus Portal along with the status and the total number of experiments.

Field Possible values Mandatory/Optional
projectID - Mandatory
Example Body:
{

"projectID": "5fd7d9212c9f32447e28317b",

}
projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
query getHubStatus($projectID: String!){
  getHubStatus(projectID: $projectID){
    id
    RepoURL
    RepoBranch
    IsAvailable
    TotalExp
    HubName
    IsPrivate
    AuthType
    Token
    UserName
    Password
    IsRemoved
    SSHPrivateKey
    SSHPublicKey
    LastSyncedAt
  }
}
Variables
{
  "projectID": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getHubStatus": [
      {
        "id": "string",
        "RepoURL": "string",
        "RepoBranch": "string",
        "IsAvailable": "boolean",
        "TotalExp": "string",
        "HubName": "string",
        "IsPrivate": "boolean",
        "Token": "string",
        "UserName": "string",
        "Password": "string",
        "IsRemoved": "boolean",
        "SSHPrivateKey": "string",
        "SSHPublicKey": "string",
        "LastSyncedAt": "string"
      }
    ]
  }
}

Sync ChaosHub

Sync hub will pull the latest commits from the git repository.

Field Possible values Mandatory/Optional
id - Mandatory
Example Body:
{

"id": "5fd7d9212c9f32447e28317b",

}
id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation syncHub($id: ID!){
  syncHub(id: $id){
    id
    RepoURL
    RepoBranch
    IsAvailable
    TotalExp
    HubName
    IsPrivate
    AuthType
    Token
    UserName
    Password
    IsRemoved
    SSHPrivateKey
    SSHPublicKey
    LastSyncedAt
  }
}
Variables
{
  "id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "syncHub": [
      {
        "id": "string",
        "RepoURL": "string",
        "RepoBranch": "string",
        "IsAvailable": "boolean",
        "TotalExp": "string",
        "HubName": "string",
        "IsPrivate": "boolean",
        "Token": "string",
        "UserName": "string",
        "Password": "string",
        "IsRemoved": "boolean",
        "SSHPrivateKey": "string",
        "SSHPublicKey": "string",
        "LastSyncedAt": "string"
      }
    ]
  }
}

Update Hub

Update the hub configuration of a ChaosHub

Field Possible values Mandatory/Optional
id - Mandatory
RepoURL - Mandatory
RepoBranch - Mandatory
HubName - Mandatory
IsPrivate - Mandatory
AuthType - Mandatory
Token - Optional
UserName - Optional
Password - Optional
SSHPublicKey - Optional
SSHPrivateKey - Optional
ProjectID - Mandatory
myhubInput:

(no description)

projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation updateMyHub($myhubInput: UpdateMyHub!, $projectID: String!){
  updateMyHub(myhubInput: $myhubInput, projectID: $projectID){
    id
    RepoURL
    RepoBranch
    ProjectID
    HubName
    IsPrivate
    AuthType
    Token
    UserName
    Password
    SSHPrivateKey
    IsRemoved
    CreatedAt
    UpdatedAt
    LastSyncedAt
  }
}
Variables
{
  "myhubInput": {
    "id": "string",
    "HubName": "string",
    "RepoURL": "string",
    "RepoBranch": "string",
    "IsPrivate": "boolean",
    "AuthType": "string",
    "Token": "string",
    "UserName": "string",
    "Password": "string",
    "SSHPrivateKey": "string",
    "SSHPublicKey": "string"
  },
  "projectID": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateMyHub": {
      "id": "string",
      "RepoURL": "string",
      "RepoBranch": "string",
      "ProjectID": "string",
      "HubName": "string",
      "IsPrivate": "boolean",
      "Token": "string",
      "UserName": "string",
      "Password": "string",
      "SSHPrivateKey": "string",
      "IsRemoved": "boolean",
      "CreatedAt": "string",
      "UpdatedAt": "string",
      "LastSyncedAt": "string"
    }
  }
}

Delete Hub

Delete a ChaosHub from the project

Field Possible values Mandatory/Optional
hub_id - Mandatory
hub_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteMyHub($hub_id: String!){
  deleteMyHub(hub_id: $hub_id)
}
Variables
{
  "hub_id": "string"
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteMyHub": "boolean"
  }
}

Get Charts

Get all the charts from a hub

Field Possible values Mandatory/Optional
HubName - Mandatory
projectID - Mandatory
HubName:
string

(no description)

projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
query getCharts($HubName: String!, $projectID: String!){
  getCharts(HubName: $HubName, projectID: $projectID){
    ApiVersion
    Kind
  }
}
Variables
{
  "HubName": "string",
  "projectID": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getCharts": [
      {
        "ApiVersion": "string",
        "Kind": "string"
      }
    ]
  }
}

Get Hub Experiments

Get the experiment details from a selected chart

Field Possible values Mandatory/Optional
ProjectID - Mandatory
ChartName - Mandatory
ExperimentName - Mandatory
HubName - Mandatory
FileType - Optional
experimentInput:

(no description)

Example

Request Content-Types: application/json
Query
query getHubExperiment($experimentInput: ExperimentInput!){
  getHubExperiment(experimentInput: $experimentInput){
    ApiVersion
    Kind
  }
}
Variables
{
  "experimentInput": {
    "ProjectID": "string",
    "ChartName": "string",
    "ExperimentName": "string",
    "HubName": "string",
    "FileType": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getHubExperiment": {
      "ApiVersion": "string",
      "Kind": "string"
    }
  }
}

Get Experiment YAML

With this query, user can fetch engine or experiment manifest from a hub.

Field Possible values Mandatory/Optional
ProjectID - Mandatory
ChartName - Mandatory
ExperimentName - Mandatory
HubName - Mandatory
FileType - Optional
experimentInput:

(no description)

Example

Request Content-Types: application/json
Query
query getYAMLData($experimentInput: ExperimentInput!){
  getYAMLData(experimentInput: $experimentInput)
}
Variables
{
  "experimentInput": {
    "ProjectID": "string",
    "ChartName": "string",
    "ExperimentName": "string",
    "HubName": "string",
    "FileType": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getYAMLData": "string"
  }
}

Get Pre-defined workflow

List of all the pre-defined workflows present in a ChaosHub

Field Possible values Mandatory/Optional
projectID - Mandatory
HubName - Mandatory
HubName:
string

(no description)

projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
query GetPredefinedWorkflowList($HubName: String!, $projectID: String!){
  GetPredefinedWorkflowList(HubName: $HubName, projectID: $projectID)
}
Variables
{
  "HubName": "string",
  "projectID": "string"
}
Try it now
200 OK

Successful operation

type
string[]
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetPredefinedWorkflowList": [
      "string"
    ]
  }
}

Get Pre-defined Workflow Manifest

With this query, user can fetch engine or experiment manifest from a hub.

Field Possible values Mandatory/Optional
ProjectID - Mandatory
ChartName - Mandatory
ExperimentName - Mandatory
HubName - Mandatory
FileType - Optional
experimentInput:

(no description)

Example

Request Content-Types: application/json
Query
query GetPredefinedExperimentYAML($experimentInput: ExperimentInput!){
  GetPredefinedExperimentYAML(experimentInput: $experimentInput)
}
Variables
{
  "experimentInput": {
    "ProjectID": "string",
    "ChartName": "string",
    "ExperimentName": "string",
    "HubName": "string",
    "FileType": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetPredefinedExperimentYAML": "string"
  }
}

User Management

User Management APIs manages user accessibility with Litmus Portal

Add User

Admin can add their team members via the user management panel of settings page. After that, user can login with their credentials to litmus portal.

Field Possible values Mandatory/Optional
username - Mandatory
email - Mandatory
company_name - Mandatory
name - Mandatory
project_name - Mandatory
userID - Mandatory
Example Body:
{

"username": "litmus-user",
"email": "litmuschaos@gmail.com",
"company_name": "CNCF",
"name": "Litmus User",
"project_name": "my-project",

}

(no description)

Example

Request Content-Types: application/json
Query
mutation createUser($user: CreateUserInput!){
  createUser(user: $user){
    id
    username
    email
    is_email_verified
    company_name
    name
    role
    created_at
    updated_at
    deactivated_at
  }
}
Variables
{
  "user": {
    "username": "string",
    "email": "string",
    "company_name": "string",
    "name": "string",
    "userID": "string",
    "role": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createUser": {
      "id": "string",
      "username": "string",
      "email": "string",
      "is_email_verified": "boolean",
      "company_name": "string",
      "name": "string",
      "role": "string",
      "created_at": "string",
      "updated_at": "string",
      "deactivated_at": "string"
    }
  }
}

List User

Returns a list of user within the Litmus Portal

Example

Request Content-Types: application/json
Query
query users{
  users{
    id
    username
    email
    is_email_verified
    company_name
    name
    role
    created_at
    updated_at
    deactivated_at
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "users": [
      {
        "id": "string",
        "username": "string",
        "email": "string",
        "is_email_verified": "boolean",
        "company_name": "string",
        "name": "string",
        "role": "string",
        "created_at": "string",
        "updated_at": "string",
        "deactivated_at": "string"
      }
    ]
  }
}

Get User

Returns a specified user within the Litmus Portal

Field Possible values Mandatory/Optional
username - Mandatory
Example Body:
{

"username": "litmus-user",

}
username:
string

(no description)

Example

Request Content-Types: application/json
Query
query getUser($username: String!){
  getUser(username: $username){
    id
    username
    email
    is_email_verified
    company_name
    name
    role
    created_at
    updated_at
    deactivated_at
  }
}
Variables
{
  "username": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getUser": {
      "id": "string",
      "username": "string",
      "email": "string",
      "is_email_verified": "boolean",
      "company_name": "string",
      "name": "string",
      "role": "string",
      "created_at": "string",
      "updated_at": "string",
      "deactivated_at": "string"
    }
  }
}

Update User

User can update its details details by providing the following parameters:

Field Possible values Mandatory/Optional
id - Mandatory
name - Mandatory
email - Mandatory
company_name - Mandatory
Example Body:
{

"id": "5fd7d9212c9f32447e28317b",
"name": "litmus-user",
"email": "litmususer@yahoo.com",
"company_name": "CNCF",

}

(no description)

Example

Request Content-Types: application/json
Query
muatation updateUser($user: UpdateUserInput!){
  updateUser(user: $user)
}
Variables
{
  "user": {
    "id": "object",
    "name": "string",
    "email": "string",
    "company_name": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateUser": "string"
  }
}

Send Invitation

Admin can invite registered user to their project and assign them with viewer or editor access. Following are the parameters for this mutation:

Field Possible values Mandatory/Optional
project_id - Mandatory
user_name - Mandatory
role Viewer/Editor Mandatory
Example Body:
{

"project_id": "5fd7d9212c9f32447e28317b",
"username": "litmus-user",
"role": "Editor",

}
member:

(no description)

Example

Request Content-Types: application/json
Query
mutation sendInvitation($member: MemberInput!){
  sendInvitation(member: $member){
    user_id
    user_name
    name
    email
    role
    invitation
    joined_at
    deactivated_at
  }
}
Variables
{
  "member": {
    "project_id": "object",
    "user_id": "string",
    "role": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "sendInvitation": {
      "user_id": "string",
      "user_name": "string",
      "name": "string",
      "email": "string",
      "invitation": "string",
      "joined_at": "string",
      "deactivated_at": "string"
    }
  }
}

Accept Invitation

User can accept the invitation by invoking this endpoint.

Field Possible values Mandatory/Optional
project_id - Mandatory
user_name - Mandatory
role Viewer/Editor Mandatory
Example Body:
{

"project_id": "5fd7d9212c9f32447e28317b",
"username": "litmus-user",
"role": "Viewer",

}
member:

(no description)

Example

Request Content-Types: application/json
Query
mutation acceptInvitation($member: MemberInput!){
  acceptInvitation(member: $member)
}
Variables
{
  "member": {
    "project_id": "object",
    "user_id": "string",
    "role": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "acceptInvitation": "string"
  }
}

Decline Invitation

User can decline the invitation by invoking this endpoint.

Field Possible values Mandatory/Optional
project_id - Mandatory
user_name - Mandatory
role Viewer/Editor Mandatory
Example Body:
{

"project_id": "5fd7d9212c9f32447e28317b",
"username": "litmus-user",
"role": "Viewer",

}
member:

(no description)

Example

Request Content-Types: application/json
Query
mutation declineInvitation($member: MemberInput!){
  declineInvitation(member: $member)
}
Variables
{
  "member": {
    "project_id": "object",
    "user_id": "string",
    "role": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "declineInvitation": "string"
  }
}

Remove Invitation

User can remove the invitation by invoking this endpoint.

Field Possible values Mandatory/Optional
project_id - Mandatory
user_name - Mandatory
role Viewer/Editor Mandatory
Example Body:
{

"project_id": "5fd7d9212c9f32447e28317b",
"username": "litmus-user",
"role": "Viewer",

}
member:

(no description)

Example

Request Content-Types: application/json
Query
mutation declineInvitation($member: MemberInput!){
  declineInvitation(member: $member)
}
Variables
{
  "member": {
    "project_id": "object",
    "user_id": "string",
    "role": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "declineInvitation": "string"
  }
}

Update User State

This api is used to update user state to deactivated or activated.

Field Possible values Mandatory/Optional
uid - Mandatory
isDeactivate - Mandatory
uid:
string

(no description)

isDeactivate:
boolean

(no description)

Example

Request Content-Types: application/json
Query
mutation updateUserState($uid: String!, $isDeactivate: Boolean!){
  updateUserState(uid: $uid, isDeactivate: $isDeactivate)
}
Variables
{
  "uid": "string",
  "isDeactivate": "boolean"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateUserState": "string"
  }
}

List Projects

This query returns the list of projects for the logged in user.

Example

Request Content-Types: application/json
Query
query listProjects{
  listProjects{
    id
    name
    state
    created_at
    updated_at
    removed_at
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "listProjects": [
      {
        "id": "string",
        "name": "string",
        "state": "string",
        "created_at": "string",
        "updated_at": "string",
        "removed_at": "string"
      }
    ]
  }
}

Get Projects

This query returns project details based on project ID.

Field Possible values Mandatory/Optional
projectID - Mandatory
projectID:
string

(no description)

Example

Request Content-Types: application/json
Query
query getProject($projectID: String!){
  getProject(projectID: $projectID){
    id
    name
    state
    created_at
    updated_at
    removed_at
  }
}
Variables
{
  "projectID": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getProject": {
      "id": "string",
      "name": "string",
      "state": "string",
      "created_at": "string",
      "updated_at": "string",
      "removed_at": "string"
    }
  }
}

Create Project

This api is used to create a new project.

Field Possible values Mandatory/Optional
projectName - Mandatory
projectName:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation createProject($projectName: String!){
  createProject(projectName: $projectName){
    id
    name
    state
    created_at
    updated_at
    removed_at
  }
}
Variables
{
  "projectName": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createProject": {
      "id": "string",
      "name": "string",
      "state": "string",
      "created_at": "string",
      "updated_at": "string",
      "removed_at": "string"
    }
  }
}

Update Project Name

This api is used to update the project name.

Field Possible values Mandatory/Optional
projectID - Mandatory
projectName - Mandatory
projectID:
string

(no description)

projectName:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation updateProjectName($projectID: String!, $projectName: String!){
  updateProjectName(projectID: $projectID, projectName: $projectName)
}
Variables
{
  "projectID": "string",
  "projectName": "string"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateProjectName": "string"
  }
}

Leave Project

This api is used to leave a project.

Field Possible values Mandatory/Optional
project_id - Mandatory
user_id - Mandatory
role - Mandatory
member:

(no description)

Example

Request Content-Types: application/json
Query
mutation leaveProject($member: MemberInput!){
  leaveProject(member: $member)
}
Variables
{
  "member": {
    "project_id": "object",
    "user_id": "string",
    "role": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "leaveProject": "string"
  }
}

Workflow Management

Workflow Management APIs are used to manage the workflows with GitOPs. These also allow the user to use custom image registries for the chaos workflows.

Enable GitOps

This query is used to enable gitops functionality

Field Possible values Mandatory/Optional
ProjectID - Mandatory
Branch - Mandatory
RepoURL - Mandatory
AuthType - Mandatory
Token - Mandatory
UserName - Optional
Password - Optional
SSHPrivateKey - Mandatory
config:

(no description)

Example

Request Content-Types: application/json
Query
mutation enableGitOps($config: GitConfig!){
  enableGitOps(config: $config)
}
Variables
{
  "config": {
    "ProjectID": "string",
    "Branch": "string",
    "RepoURL": "string",
    "AuthType": "string",
    "Token": "string",
    "UserName": "string",
    "Password": "string",
    "SSHPrivateKey": "string"
  }
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "enableGitOps": "boolean"
  }
}

Disable GitOps

This query is used to disable gitops functionality

Field Possible values Mandatory/Optional
project_id - Mandatory
project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation disableGitOps($project_id: String!){
  disableGitOps(project_id: $project_id)
}
Variables
{
  "project_id": "string"
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "disableGitOps": "boolean"
  }
}

Get GitOPs Details

This query is used to get the gitops details and configurations

Field Possible values Mandatory/Optional
project_id - Mandatory
project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query getGitOpsDetails($project_id: String!){
  getGitOpsDetails(project_id: $project_id){
    Enabled
    ProjectID
    Branch
    RepoURL
    AuthType
    Token
    UserName
    Password
    SSHPrivateKey
  }
}
Variables
{
  "project_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getGitOpsDetails": {
      "Enabled": "boolean",
      "ProjectID": "string",
      "Branch": "string",
      "RepoURL": "string",
      "Token": "string",
      "UserName": "string",
      "Password": "string",
      "SSHPrivateKey": "string"
    }
  }
}

Update GitOps

This query is used to update the gitops details and configurations

Field Possible values Mandatory/Optional
ProjectID - Mandatory
Branch - Mandatory
RepoURL - Mandatory
AuthType - Mandatory
Token - Mandatory
UserName - Optional
Password - Optional
SSHPrivateKey - Mandatory
config:

(no description)

Example

Request Content-Types: application/json
Query
mutation updateGitOps($config: GitConfig!){
  updateGitOps(config: $config)
}
Variables
{
  "config": {
    "ProjectID": "string",
    "Branch": "string",
    "RepoURL": "string",
    "AuthType": "string",
    "Token": "string",
    "UserName": "string",
    "Password": "string",
    "SSHPrivateKey": "string"
  }
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateGitOps": "boolean"
  }
}

List Image Regisry

This query is used to list all the image registries.

Field Possible values Mandatory/Optional
project_id - Mandatory
project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query ListImageRegistry($project_id: String!){
  ListImageRegistry(project_id: $project_id){
    is_default
    image_registry_id
    project_id
    updated_at
    created_at
    is_removed
  }
}
Variables
{
  "project_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "ListImageRegistry": [
      {
        "is_default": "boolean",
        "image_registry_id": "string",
        "project_id": "string",
        "updated_at": "string",
        "created_at": "string",
        "is_removed": "boolean"
      }
    ]
  }
}

Create Image Registry

This query is used to create a new image registry.

Field Possible values Mandatory/Optional
project_id - Mandatory
is_default true/false Mandatory
image_registry_name - Mandatory
image_repo_name - Mandatory
image_registry_type - Mandatory
secret_name - Optional
secret_namespace - Optional
enable_registry - Optional
project_id:
string

(no description)

imageRegistryInfo:

(no description)

Example

Request Content-Types: application/json
Query
mutation createImageRegistry($project_id: String!, $imageRegistryInfo: imageRegistryInput!){
  createImageRegistry(project_id: $project_id, imageRegistryInfo: $imageRegistryInfo){
    is_default
    image_registry_id
    project_id
    updated_at
    created_at
    is_removed
  }
}
Variables
{
  "project_id": "string",
  "imageRegistryInfo": {
    "is_default": "boolean",
    "image_registry_name": "string",
    "image_repo_name": "string",
    "image_registry_type": "string",
    "secret_name": "string",
    "secret_namespace": "string",
    "enable_registry": "boolean"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createImageRegistry": {
      "is_default": "boolean",
      "image_registry_id": "string",
      "project_id": "string",
      "updated_at": "string",
      "created_at": "string",
      "is_removed": "boolean"
    }
  }
}

Get Image Registry

This query is used to get the the image registry from the project_id and image_registry_id

Field Possible values Mandatory/Optional
project_id - Mandatory
image_registry_id - Mandatory
image_registry_id:
string

(no description)

project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query GetImageRegistry($image_registry_id: String!, $project_id: String!){
  GetImageRegistry(image_registry_id: $image_registry_id, project_id: $project_id){
    is_default
    image_registry_id
    project_id
    updated_at
    created_at
    is_removed
  }
}
Variables
{
  "image_registry_id": "string",
  "project_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetImageRegistry": {
      "is_default": "boolean",
      "image_registry_id": "string",
      "project_id": "string",
      "updated_at": "string",
      "created_at": "string",
      "is_removed": "boolean"
    }
  }
}

Update Image Registry

This query is used to update the image registry.

Field Possible values Mandatory/Optional
image_registry_id - Mandatory
project_id - Mandatory
is_default true/false Mandatory
image_registry_name - Mandatory
image_repo_name - Mandatory
image_registry_type - Mandatory
secret_name - Optional
secret_namespace - Optional
enable_registry - Optional
image_registry_id:
string

(no description)

project_id:
string

(no description)

imageRegistryInfo:

(no description)

Example

Request Content-Types: application/json
Query
mutation updateImageRegistry($image_registry_id: String!, $project_id: String!, $imageRegistryInfo: imageRegistryInput!){
  updateImageRegistry(image_registry_id: $image_registry_id, project_id: $project_id, imageRegistryInfo: $imageRegistryInfo){
    is_default
    image_registry_id
    project_id
    updated_at
    created_at
    is_removed
  }
}
Variables
{
  "image_registry_id": "string",
  "project_id": "string",
  "imageRegistryInfo": {
    "is_default": "boolean",
    "image_registry_name": "string",
    "image_repo_name": "string",
    "image_registry_type": "string",
    "secret_name": "string",
    "secret_namespace": "string",
    "enable_registry": "boolean"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateImageRegistry": {
      "is_default": "boolean",
      "image_registry_id": "string",
      "project_id": "string",
      "updated_at": "string",
      "created_at": "string",
      "is_removed": "boolean"
    }
  }
}

Delete Image Registry

This query is used to delete the image registry

Field Possible values Mandatory/Optional
project_id - Mandatory
image_registry_id - Mandatory
image_registry_id:
string

(no description)

project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteImageRegistry($image_registry_id: String!, $project_id: String!){
  deleteImageRegistry(image_registry_id: $image_registry_id, project_id: $project_id)
}
Variables
{
  "image_registry_id": "string",
  "project_id": "string"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteImageRegistry": "string"
  }
}

Analytics

Analytics allows user to visualize the chaos metrics with the help of different dashboards and graphs present in the Litmus Portal.

Get HeatMap Data

This query is used to get year-wise calendar heatmap of daily average resilience scores for workflow runs.

Field Possible values Mandatory/Optional
project_id - Mandatory
workflow_id - Mandatory
year - Mandatory
project_id:
string

(no description)

workflow_id:
string

(no description)

year:
integer

(no description)

Example

Request Content-Types: application/json
Query
query getHeatmapData($project_id: String!, $workflow_id: String!, $year: Int!){
  getHeatmapData(project_id: $project_id, workflow_id: $workflow_id, year: $year){
  }
}
Variables
{
  "project_id": "string",
  "workflow_id": "string",
  "year": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getHeatmapData": [
      {}
    ]
  }
}

Get Workflow Stats

This query is used to get monthly, daily and hourly workflow schedule and run statistics as a time series.

Field Possible values Mandatory/Optional
project_id - Mandatory
filter - Mandatory
show_workflow_runs - Mandatory
project_id:
string

(no description)

filter:

(no description)

show_workflow_runs:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query getWorkflowStats($project_id: ID!, $filter: TimeFrequency!, $show_workflow_runs: Boolean!){
  getWorkflowStats(project_id: $project_id, filter: $filter, show_workflow_runs: $show_workflow_runs){
    date
    value
  }
}
Variables
{
  "project_id": "string",
  "filter": "string",
  "show_workflow_runs": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getWorkflowStats": [
      {
        "date": "number",
        "value": "integer"
      }
    ]
  }
}

Get Workflow Run Stats

This query is used to get aggregated workflow and experiment statistics for completed runs of selected schedules.

Field Possible values Mandatory/Optional
project_id - Mandatory
workflow_ids - Mandatory
workflowRunStatsRequest:

(no description)

Example

Request Content-Types: application/json
Query
query getWorkflowRunStats($workflowRunStatsRequest: WorkflowRunStatsRequest!){
  getWorkflowRunStats(workflowRunStatsRequest: $workflowRunStatsRequest){
    total_workflow_runs
    succeeded_workflow_runs
    failed_workflow_runs
    running_workflow_runs
    average_resiliency_score
    total_experiments
    experiments_passed
    experiments_failed
    experiments_awaited
    experiments_stopped
    experiments_na
    passed_percentage
    failed_percentage
    workflow_run_succeeded_percentage
    workflow_run_failed_percentage
  }
}
Variables
{
  "workflowRunStatsRequest": {
    "project_id": "object",
    "workflow_ids": [
      "object"
    ]
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "getWorkflowRunStats": {
      "total_workflow_runs": "integer",
      "succeeded_workflow_runs": "integer",
      "failed_workflow_runs": "integer",
      "running_workflow_runs": "integer",
      "average_resiliency_score": "number",
      "total_experiments": "integer",
      "experiments_passed": "integer",
      "experiments_failed": "integer",
      "experiments_awaited": "integer",
      "experiments_stopped": "integer",
      "experiments_na": "integer",
      "passed_percentage": "number",
      "failed_percentage": "number",
      "workflow_run_succeeded_percentage": "number",
      "workflow_run_failed_percentage": "number"
    }
  }
}

List DataSource

This query is used to list all connected data sources in a project.

Field Possible values Mandatory/Optional
project_id - Mandatory
project_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query ListDataSource($project_id: String!){
  ListDataSource(project_id: $project_id){
    ds_id
    ds_name
    ds_type
    ds_url
    access_type
    auth_type
    basic_auth_username
    basic_auth_password
    scrape_interval
    query_timeout
    http_method
    project_id
    health_status
    created_at
    updated_at
  }
}
Variables
{
  "project_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "ListDataSource": [
      {
        "ds_id": "string",
        "ds_name": "string",
        "ds_type": "string",
        "ds_url": "string",
        "access_type": "string",
        "auth_type": "string",
        "basic_auth_username": "string",
        "basic_auth_password": "string",
        "scrape_interval": "integer",
        "query_timeout": "integer",
        "http_method": "string",
        "project_id": "string",
        "health_status": "string",
        "created_at": "string",
        "updated_at": "string"
      }
    ]
  }
}

Get Prom Query

This query is used to get prometheus time series data from promQL queries and data source details.

query:

(no description)

Example

Request Content-Types: application/json
Query
query GetPromQuery($query: promInput){
  GetPromQuery(query: $query){
  }
}
Variables
{
  "query": {
    "queries": [
      {
        "queryid": "string",
        "query": "string",
        "legend": "string",
        "resolution": "string",
        "minstep": "number"
      }
    ],
    "ds_details": {
      "url": "string",
      "start": "string",
      "end": "string"
    }
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetPromQuery": {}
  }
}

Get Prom Label names and values

This query is used to get labels and values associated with a prometheus metric and a given data source.

Field Possible values Mandatory/Optional
series - Mandatory
ds_details.url - Mandatory
ds_details.start - Mandatory
ds_details.end - Mandatory

(no description)

Example

Request Content-Types: application/json
Query
query GetPromLabelNamesAndValues($series: promSeriesInput){
  GetPromLabelNamesAndValues(series: $series){
    series
  }
}
Variables
{
  "series": {
    "series": "string",
    "ds_details": {
      "url": "string",
      "start": "string",
      "end": "string"
    }
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetPromLabelNamesAndValues": {
      "series": "string"
    }
  }
}

Get Prom Series List

This query is used to get a list of all time series metric names available on a prometheus data source.

Field Possible values Mandatory/Optional
url - Mandatory
start - Mandatory
end - Mandatory
ds_details:

(no description)

Example

Request Content-Types: application/json
Query
query GetPromSeriesList($ds_details: dsDetails){
  GetPromSeriesList(ds_details: $ds_details){
    seriesList
  }
}
Variables
{
  "ds_details": {
    "url": "string",
    "start": "string",
    "end": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "GetPromSeriesList": {
      "seriesList": [
        "string"
      ]
    }
  }
}

List Dashboard

This query is used to list all dashboards created in a project.

Field Possible values Mandatory/Optional
project_id - Mandatory
cluster_id - Mandatory
db_id - Mandatory
project_id:
string

(no description)

cluster_id:
string

(no description)

db_id:
string

(no description)

Example

Request Content-Types: application/json
Query
query ListDashboard($project_id: String!, $cluster_id: String, $db_id: String){
  ListDashboard(project_id: $project_id, cluster_id: $cluster_id, db_id: $db_id){
    ds_id
    db_id
    db_name
    db_type_id
    db_type_name
    db_information
    chaos_event_query_template
    chaos_verdict_query_template
    cluster_name
    ds_name
    ds_type
    ds_url
    ds_health_status
    end_time
    start_time
    refresh_rate
    project_id
    cluster_id
    created_at
    updated_at
    viewed_at
  }
}
Variables
{
  "project_id": "string",
  "cluster_id": "string",
  "db_id": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "ListDashboard": [
      {
        "ds_id": "string",
        "db_id": "string",
        "db_name": "string",
        "db_type_id": "string",
        "db_type_name": "string",
        "db_information": "string",
        "chaos_event_query_template": "string",
        "chaos_verdict_query_template": "string",
        "cluster_name": "string",
        "ds_name": "string",
        "ds_type": "string",
        "ds_url": "string",
        "ds_health_status": "string",
        "end_time": "string",
        "start_time": "string",
        "refresh_rate": "string",
        "project_id": "string",
        "cluster_id": "string",
        "created_at": "string",
        "updated_at": "string",
        "viewed_at": "string"
      }
    ]
  }
}

Portal Dashboard Data

This query is used to list all pre-configured dashboard templates available in litmus center.

Field Possible values Mandatory/Optional
project_id - Mandatory
hub_name - Mandatory
project_id:
string

(no description)

hub_name:
string

(no description)

Example

Request Content-Types: application/json
Query
query PortalDashboardData($project_id: String!, $hub_name: String!){
  PortalDashboardData(project_id: $project_id, hub_name: $hub_name){
    name
    dashboard_data
  }
}
Variables
{
  "project_id": "string",
  "hub_name": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "PortalDashboardData": [
      {
        "name": "string",
        "dashboard_data": "string"
      }
    ]
  }
}

Create DataSource

This mutation is used to add a prometheus data source to the project which serves as a metrics collector for agent clusters.

Field Possible values Mandatory/Optional
ds_name - Mandatory
ds_type - Mandatory
ds_url - Mandatory
access_type - Mandatory
auth_type - Mandatory
basic_auth_username - Mandatory
basic_auth_password - Mandatory
scrape_interval - Mandatory
query_timeout - Mandatory
http_method - Mandatory
project_id - Mandatory
Example Body:
{

"ds_name": "sample data source",
"ds_type": "Prometheus",
"access_type": "Server (Default)",
"auth_type": "no auth",
"basic_auth_password": "",
"basic_auth_username": "",
"ds_url": "https://demo.com:9090",
"http_method": "POST",
"project_id": "4c3d0513-5988-446e-8ce5-1a4c6fb274f3",
"query_timeout": "30",
"scrape_interval": "15",

}
datasource:

(no description)

Example

Request Content-Types: application/json
Query
mutation createDataSource($datasource: DSInput){
  createDataSource(datasource: $datasource){
    ds_id
    ds_name
    ds_type
    ds_url
    access_type
    auth_type
    basic_auth_username
    basic_auth_password
    scrape_interval
    query_timeout
    http_method
    project_id
    health_status
    created_at
    updated_at
  }
}
Variables
{
  "datasource": {
    "ds_id": "string",
    "ds_name": "string",
    "ds_type": "string",
    "ds_url": "string",
    "access_type": "string",
    "auth_type": "string",
    "basic_auth_username": "string",
    "basic_auth_password": "string",
    "scrape_interval": "number",
    "query_timeout": "number",
    "http_method": "string",
    "project_id": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createDataSource": {
      "ds_id": "string",
      "ds_name": "string",
      "ds_type": "string",
      "ds_url": "string",
      "access_type": "string",
      "auth_type": "string",
      "basic_auth_username": "string",
      "basic_auth_password": "string",
      "scrape_interval": "integer",
      "query_timeout": "integer",
      "http_method": "string",
      "project_id": "string",
      "health_status": "string",
      "created_at": "string",
      "updated_at": "string"
    }
  }
}

Create Dashboard

This mutation is used to create an application dashboard providing agent information, data source details and prometheus queries.

dashboard:

(no description)

Example

Request Content-Types: application/json
Query
mutation createDashBoard($dashboard: createDBInput){
  createDashBoard(dashboard: $dashboard){
    ds_id
    db_id
    db_name
    db_type_id
    db_type_name
    db_information
    chaos_event_query_template
    chaos_verdict_query_template
    cluster_name
    ds_name
    ds_type
    ds_url
    ds_health_status
    end_time
    start_time
    refresh_rate
    project_id
    cluster_id
    created_at
    updated_at
    viewed_at
  }
}
Variables
{
  "dashboard": {
    "ds_id": "string",
    "db_name": "string",
    "db_type_name": "string",
    "db_type_id": "string",
    "db_information": "string",
    "chaos_event_query_template": "string",
    "chaos_verdict_query_template": "string",
    "application_metadata_map": [
      {
        "namespace": "string",
        "applications": [
          {
            "kind": "string",
            "names": [
              "string"
            ]
          }
        ]
      }
    ],
    "panel_groups": [
      {
        "panels": [
          {
            "panel_id": "string",
            "db_id": "string",
            "y_axis_left": "string",
            "y_axis_right": "string",
            "x_axis_down": "string",
            "unit": "string",
            "panel_group_id": "string",
            "created_at": "string",
            "prom_queries": [
              {
                "queryid": "string",
                "prom_query_name": "string",
                "legend": "string",
                "resolution": "string",
                "minstep": "string",
                "line": "boolean",
                "close_area": "boolean"
              }
            ],
            "panel_options": {
              "points": "boolean",
              "grids": "boolean",
              "left_axis": "boolean"
            },
            "panel_name": "string"
          }
        ],
        "panel_group_name": "string"
      }
    ],
    "end_time": "string",
    "start_time": "string",
    "project_id": "object",
    "cluster_id": "object",
    "refresh_rate": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createDashBoard": {
      "ds_id": "string",
      "db_id": "string",
      "db_name": "string",
      "db_type_id": "string",
      "db_type_name": "string",
      "db_information": "string",
      "chaos_event_query_template": "string",
      "chaos_verdict_query_template": "string",
      "cluster_name": "string",
      "ds_name": "string",
      "ds_type": "string",
      "ds_url": "string",
      "ds_health_status": "string",
      "end_time": "string",
      "start_time": "string",
      "refresh_rate": "string",
      "project_id": "string",
      "cluster_id": "string",
      "created_at": "string",
      "updated_at": "string",
      "viewed_at": "string"
    }
  }
}

Update DataSource

This mutation is used to update a conncted data source's information.

Field Possible values Mandatory/Optional
ds_id - Mandatory
ds_name - Mandatory
ds_type - Mandatory
ds_url - Mandatory
access_type - Mandatory
auth_type - Mandatory
basic_auth_username - Mandatory
basic_auth_password - Mandatory
scrape_interval - Mandatory
query_timeout - Mandatory
http_method - Mandatory
project_id - Mandatory
Example Body:
{

"ds_id": "sample data source",
"ds_name": "sample data source",
"ds_type": "Prometheus",
"access_type": "Server (Default)",
"auth_type": "no auth",
"basic_auth_password": "",
"basic_auth_username": "",
"ds_url": "https://demo.com:9090",
"http_method": "POST",
"project_id": "4c3d0513-5988-446e-8ce5-1a4c6fb274f3",
"query_timeout": "30",
"scrape_interval": "15",

}
datasource:

(no description)

Example

Request Content-Types: application/json
Query
mutation updateDataSource($datasource: DSInput!){
  updateDataSource(datasource: $datasource){
    ds_id
    ds_name
    ds_type
    ds_url
    access_type
    auth_type
    basic_auth_username
    basic_auth_password
    scrape_interval
    query_timeout
    http_method
    project_id
    health_status
    created_at
    updated_at
  }
}
Variables
{
  "datasource": {
    "ds_id": "string",
    "ds_name": "string",
    "ds_type": "string",
    "ds_url": "string",
    "access_type": "string",
    "auth_type": "string",
    "basic_auth_username": "string",
    "basic_auth_password": "string",
    "scrape_interval": "number",
    "query_timeout": "number",
    "http_method": "string",
    "project_id": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateDataSource": {
      "ds_id": "string",
      "ds_name": "string",
      "ds_type": "string",
      "ds_url": "string",
      "access_type": "string",
      "auth_type": "string",
      "basic_auth_username": "string",
      "basic_auth_password": "string",
      "scrape_interval": "integer",
      "query_timeout": "integer",
      "http_method": "string",
      "project_id": "string",
      "health_status": "string",
      "created_at": "string",
      "updated_at": "string"
    }
  }
}

Update Dashboard

This mutation is used to update a dashboard's information and details.

dashboard:

(no description)

chaosQueryUpdate:
boolean

(no description)

Example

Request Content-Types: application/json
Query
mutation updateDashboard($dashboard: updateDBInput!, $chaosQueryUpdate: Boolean!){
  updateDashboard(dashboard: $dashboard, chaosQueryUpdate: $chaosQueryUpdate)
}
Variables
{
  "dashboard": {
    "db_id": "string",
    "ds_id": "string",
    "db_name": "string",
    "db_type_name": "string",
    "db_type_id": "string",
    "db_information": "string",
    "chaos_event_query_template": "string",
    "chaos_verdict_query_template": "string",
    "application_metadata_map": [
      {
        "namespace": "string",
        "applications": [
          {
            "kind": "string",
            "names": [
              "string"
            ]
          }
        ]
      }
    ],
    "panel_groups": [
      {
        "panel_group_name": "string",
        "panel_group_id": "string",
        "panels": [
          {
            "panel_id": "string",
            "db_id": "string",
            "y_axis_left": "string",
            "y_axis_right": "string",
            "x_axis_down": "string",
            "unit": "string",
            "panel_group_id": "string",
            "created_at": "string",
            "prom_queries": [
              {
                "queryid": "string",
                "prom_query_name": "string",
                "legend": "string",
                "resolution": "string",
                "minstep": "string",
                "line": "boolean",
                "close_area": "boolean"
              }
            ],
            "panel_options": {
              "points": "boolean",
              "grids": "boolean",
              "left_axis": "boolean"
            },
            "panel_name": "string"
          }
        ]
      }
    ],
    "end_time": "string",
    "start_time": "string",
    "cluster_id": "object",
    "refresh_rate": "string"
  },
  "chaosQueryUpdate": "boolean"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updateDashboard": "string"
  }
}

Update Panel

This mutation is used to update prometheus queries and panel details for selected panels.

panelInput:

(no description)

Example

Request Content-Types: application/json
Query
mutation updatePanel($panelInput: [panel]){
  updatePanel(panelInput: $panelInput)
}
Variables
{
  "panelInput": [
    {
      "panel_id": "string",
      "db_id": "string",
      "y_axis_left": "string",
      "y_axis_right": "string",
      "x_axis_down": "string",
      "unit": "string",
      "panel_group_id": "string",
      "created_at": "string",
      "prom_queries": [
        {
          "queryid": "string",
          "prom_query_name": "string",
          "legend": "string",
          "resolution": "string",
          "minstep": "string",
          "line": "boolean",
          "close_area": "boolean"
        }
      ],
      "panel_options": {
        "points": "boolean",
        "grids": "boolean",
        "left_axis": "boolean"
      },
      "panel_name": "string"
    }
  ]
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "updatePanel": "string"
  }
}

Delete Dashboard

This mutation is used to delete a dashboard from a project.

Field Possible values Mandatory/Optional
db_id - Mandatory
db_id:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteDashboard($db_id: String){
  deleteDashboard(db_id: $db_id)
}
Variables
{
  "db_id": "string"
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteDashboard": "boolean"
  }
}

Delete DataSource

Disconnect a data source from a project

Field Possible values Mandatory/Optional
force_delete - Mandatory
ds_id - Mandatory

(no description)

Example

Request Content-Types: application/json
Query
mutation deleteDataSource($input: deleteDSInput!){
  deleteDataSource(input: $input)
}
Variables
{
  "input": {
    "force_delete": "boolean",
    "ds_id": "object"
  }
}
Try it now
200 OK

Successful operation

type
boolean
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deleteDataSource": "boolean"
  }
}

Schema Definitions

ActionPayload: object

request_type:
k8s_manifest:
namespace:
external_data:
Example
{
  "request_type": "string",
  "k8s_manifest": "string",
  "namespace": "string",
  "external_data": "string"
}

AgentStat: object

Ns:
Int
Cluster:
Int
Total:
Int
Active:
Int
Example
{
  "Ns": "number",
  "Cluster": "number",
  "Total": "number",
  "Active": "number"
}

Annotation: object

Categories:
Vendor:
CreatedAt:
Repository:
Support:
ChartDescription:
Example
{
  "Categories": "string",
  "Vendor": "string",
  "CreatedAt": "string",
  "Repository": "string",
  "Support": "string",
  "ChartDescription": "string"
}

AuthType: string

object
none
object
basic
object
token
object
ssh

Boolean: boolean

The Boolean scalar type represents true or false.

Example
boolean

ChaosWorkFlowInput: object

workflow_id:
workflow_manifest:
cronSyntax:
workflow_name:
workflow_description:
weightages:
isCustomWorkflow:
project_id:
ID
cluster_id:
ID
Example
{
  "workflow_id": "string",
  "workflow_manifest": "string",
  "cronSyntax": "string",
  "workflow_name": "string",
  "workflow_description": "string",
  "weightages": [
    {
      "experiment_name": "string",
      "weightage": "number"
    }
  ],
  "isCustomWorkflow": "boolean",
  "project_id": "object",
  "cluster_id": "object"
}

ChaosWorkFlowResponse: object

workflow_id:
cronSyntax:
workflow_name:
workflow_description:
isCustomWorkflow:
Example
{
  "workflow_id": "string",
  "cronSyntax": "string",
  "workflow_name": "string",
  "workflow_description": "string",
  "isCustomWorkflow": "boolean"
}

Chart: object

ApiVersion:
Kind:
Metadata:
Spec:
PackageInfo:
Example
{
  "ApiVersion": "string",
  "Kind": "string",
  "Metadata": {
    "Name": "string",
    "Version": "string",
    "Annotations": {
      "Categories": "string",
      "Vendor": "string",
      "CreatedAt": "string",
      "Repository": "string",
      "Support": "string",
      "ChartDescription": "string"
    }
  },
  "Spec": {
    "DisplayName": "string",
    "CategoryDescription": "string",
    "Keywords": [
      "string"
    ],
    "Maturity": "string",
    "Maintainers": [
      {
        "Name": "string",
        "Email": "string"
      }
    ],
    "MinKubeVersion": "string",
    "Provider": "string",
    "Links": [
      {
        "Name": "string",
        "Url": "string"
      }
    ],
    "Experiments": [
      "string"
    ],
    "ChaosExpCRDLink": "string",
    "Platforms": [
      "string"
    ],
    "ChaosType": "string"
  },
  "PackageInfo": {
    "PackageName": "string",
    "Experiments": [
      {
        "Name": "string",
        "CSV": "string",
        "Desc": "string"
      }
    ]
  }
}

Charts: object

Charts:
Example
{
  "Charts": [
    {
      "ApiVersion": "string",
      "Kind": "string",
      "Metadata": {
        "Name": "string",
        "Version": "string",
        "Annotations": {
          "Categories": "string",
          "Vendor": "string",
          "CreatedAt": "string",
          "Repository": "string",
          "Support": "string",
          "ChartDescription": "string"
        }
      },
      "Spec": {
        "DisplayName": "string",
        "CategoryDescription": "string",
        "Keywords": [
          "string"
        ],
        "Maturity": "string",
        "Maintainers": [
          {
            "Name": "string",
            "Email": "string"
          }
        ],
        "MinKubeVersion": "string",
        "Provider": "string",
        "Links": [
          {
            "Name": "string",
            "Url": "string"
          }
        ],
        "Experiments": [
          "string"
        ],
        "ChaosExpCRDLink": "string",
        "Platforms": [
          "string"
        ],
        "ChaosType": "string"
      },
      "PackageInfo": {
        "PackageName": "string",
        "Experiments": [
          {
            "Name": "string",
            "CSV": "string",
            "Desc": "string"
          }
        ]
      }
    }
  ]
}

CloningInput: object

HubName:
ProjectID:
RepoBranch:
RepoURL:
IsPrivate:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
Example
{
  "HubName": "string",
  "ProjectID": "string",
  "RepoBranch": "string",
  "RepoURL": "string",
  "IsPrivate": "boolean",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string"
}

Cluster: object

cluster_id:
ID
project_id:
ID
cluster_name:
description:
platform_name:
access_key:
is_registered:
is_cluster_confirmed:
is_active:
updated_at:
created_at:
cluster_type:
no_of_schedules:
Int
no_of_workflows:
Int
token:
agent_namespace:
serviceaccount:
agent_scope:
agent_ns_exists:
agent_sa_exists:
last_workflow_timestamp:
Example
{
  "cluster_id": "object",
  "project_id": "object",
  "cluster_name": "string",
  "description": "string",
  "platform_name": "string",
  "access_key": "string",
  "is_registered": "boolean",
  "is_cluster_confirmed": "boolean",
  "is_active": "boolean",
  "updated_at": "string",
  "created_at": "string",
  "cluster_type": "string",
  "no_of_schedules": "number",
  "no_of_workflows": "number",
  "token": "string",
  "agent_namespace": "string",
  "serviceaccount": "string",
  "agent_scope": "string",
  "agent_ns_exists": "boolean",
  "agent_sa_exists": "boolean",
  "last_workflow_timestamp": "string"
}

ClusterAction: object

project_id:
ID
action:
Example
{
  "project_id": "object",
  "action": {
    "request_type": "string",
    "k8s_manifest": "string",
    "namespace": "string",
    "external_data": "string"
  }
}

ClusterActionInput: object

cluster_id:
ID
action:
Example
{
  "cluster_id": "object",
  "action": "string"
}

ClusterConfirmResponse: object

isClusterConfirmed:
newAccessKey:
cluster_id:
Example
{
  "isClusterConfirmed": "boolean",
  "newAccessKey": "string",
  "cluster_id": "string"
}

ClusterEvent: object

event_id:
ID
event_type:
event_name:
description:
cluster:
Example
{
  "event_id": "object",
  "event_type": "string",
  "event_name": "string",
  "description": "string",
  "cluster": {
    "cluster_id": "object",
    "project_id": "object",
    "cluster_name": "string",
    "description": "string",
    "platform_name": "string",
    "access_key": "string",
    "is_registered": "boolean",
    "is_cluster_confirmed": "boolean",
    "is_active": "boolean",
    "updated_at": "string",
    "created_at": "string",
    "cluster_type": "string",
    "no_of_schedules": "number",
    "no_of_workflows": "number",
    "token": "string",
    "agent_namespace": "string",
    "serviceaccount": "string",
    "agent_scope": "string",
    "agent_ns_exists": "boolean",
    "agent_sa_exists": "boolean",
    "last_workflow_timestamp": "string"
  }
}

ClusterEventInput: object

event_name:
description:
cluster_id:
access_key:
Example
{
  "event_name": "string",
  "description": "string",
  "cluster_id": "string",
  "access_key": "string"
}

ClusterIdentity: object

cluster_id:
access_key:
Example
{
  "cluster_id": "string",
  "access_key": "string"
}

ClusterInput: object

cluster_name:
description:
platform_name:
project_id:
ID
cluster_type:
agent_namespace:
serviceaccount:
agent_scope:
agent_ns_exists:
agent_sa_exists:
node_selector:
Example
{
  "cluster_name": "string",
  "description": "string",
  "platform_name": "string",
  "project_id": "object",
  "cluster_type": "string",
  "agent_namespace": "string",
  "serviceaccount": "string",
  "agent_scope": "string",
  "agent_ns_exists": "boolean",
  "agent_sa_exists": "boolean",
  "node_selector": "string"
}

CreateMyHub: object

HubName:
RepoURL:
RepoBranch:
IsPrivate:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
SSHPublicKey:
Example
{
  "HubName": "string",
  "RepoURL": "string",
  "RepoBranch": "string",
  "IsPrivate": "boolean",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string",
  "SSHPublicKey": "string"
}

CreateUserInput: object

username:
email:
company_name:
name:
userID:
role:
Example
{
  "username": "string",
  "email": "string",
  "company_name": "string",
  "name": "string",
  "userID": "string",
  "role": "string"
}

DSInput: object

ds_id:
ds_name:
ds_type:
ds_url:
access_type:
auth_type:
basic_auth_username:
basic_auth_password:
scrape_interval:
Int
query_timeout:
Int
http_method:
project_id:
Example
{
  "ds_id": "string",
  "ds_name": "string",
  "ds_type": "string",
  "ds_url": "string",
  "access_type": "string",
  "auth_type": "string",
  "basic_auth_username": "string",
  "basic_auth_password": "string",
  "scrape_interval": "number",
  "query_timeout": "number",
  "http_method": "string",
  "project_id": "string"
}

DSResponse: object

ds_id:
ds_name:
ds_type:
ds_url:
access_type:
auth_type:
basic_auth_username:
basic_auth_password:
scrape_interval:
Int
query_timeout:
Int
http_method:
project_id:
ID
health_status:
created_at:
updated_at:
Example
{
  "ds_id": "string",
  "ds_name": "string",
  "ds_type": "string",
  "ds_url": "string",
  "access_type": "string",
  "auth_type": "string",
  "basic_auth_username": "string",
  "basic_auth_password": "string",
  "scrape_interval": "number",
  "query_timeout": "number",
  "http_method": "string",
  "project_id": "object",
  "health_status": "string",
  "created_at": "string",
  "updated_at": "string"
}

DateRange: object

start_date:
end_date:
Example
{
  "start_date": "string",
  "end_date": "string"
}

ExperimentInput: object

ProjectID:
ChartName:
ExperimentName:
HubName:
FileType:
Example
{
  "ProjectID": "string",
  "ChartName": "string",
  "ExperimentName": "string",
  "HubName": "string",
  "FileType": "string"
}

Experiments: object

Name:
CSV:
Desc:
Example
{
  "Name": "string",
  "CSV": "string",
  "Desc": "string"
}

Float: number

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
number

GetWorkflowRunsInput: object

project_id:
ID
workflow_run_ids:
ID
workflow_ids:
ID
pagination:
sort:
filter:
Example
{
  "project_id": "object",
  "workflow_run_ids": [
    "object"
  ],
  "workflow_ids": [
    "object"
  ],
  "pagination": {
    "page": "number",
    "limit": "number"
  },
  "sort": {
    "field": "string",
    "descending": "boolean"
  },
  "filter": {
    "workflow_name": "string",
    "cluster_name": "string",
    "workflow_status": "string",
    "date_range": {
      "start_date": "string",
      "end_date": "string"
    }
  }
}

GetWorkflowsOutput: object

total_no_of_workflow_runs:
Int
workflow_runs:
Example
{
  "total_no_of_workflow_runs": "number",
  "workflow_runs": [
    {
      "workflow_run_id": "object",
      "workflow_id": "object",
      "cluster_name": "string",
      "weightages": [
        {
          "experiment_name": "string",
          "weightage": "number"
        }
      ],
      "last_updated": "string",
      "project_id": "object",
      "cluster_id": "object",
      "workflow_name": "string",
      "cluster_type": "string",
      "phase": "string",
      "resiliency_score": "number",
      "experiments_passed": "number",
      "experiments_failed": "number",
      "experiments_awaited": "number",
      "experiments_stopped": "number",
      "experiments_na": "number",
      "total_experiments": "number",
      "execution_data": "string",
      "isRemoved": "boolean"
    }
  ]
}

GitConfig: object

ProjectID:
Branch:
RepoURL:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
Example
{
  "ProjectID": "string",
  "Branch": "string",
  "RepoURL": "string",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string"
}

GitConfigResponse: object

Enabled:
ProjectID:
Branch:
RepoURL:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
Example
{
  "Enabled": "boolean",
  "ProjectID": "string",
  "Branch": "string",
  "RepoURL": "string",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string"
}

HeatmapData: object

Example
{
  "bins": [
    {
      "value": "number",
      "workflowRunDetail": {
        "no_of_runs": "number",
        "date_stamp": "number"
      }
    }
  ]
}

ID: object

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
object

ImageRegistryResponse: object

is_default:
image_registry_info:
image_registry_id:
project_id:
updated_at:
created_at:
is_removed:
Example
{
  "is_default": "boolean",
  "image_registry_info": {
    "is_default": "boolean",
    "image_registry_name": "string",
    "image_repo_name": "string",
    "image_registry_type": "string",
    "secret_name": "string",
    "secret_namespace": "string",
    "enable_registry": "boolean"
  },
  "image_registry_id": "string",
  "project_id": "string",
  "updated_at": "string",
  "created_at": "string",
  "is_removed": "boolean"
}

Int: number

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
number

KubeGVRRequest: object

group:
version:
resource:
Example
{
  "group": "string",
  "version": "string",
  "resource": "string"
}

KubeObjectData: object

request_id:
ID
cluster_id:
kube_obj:
Example
{
  "request_id": "object",
  "cluster_id": {
    "cluster_id": "string",
    "access_key": "string"
  },
  "kube_obj": "string"
}

KubeObjectRequest: object

cluster_id:
ID
object_type:
kube_obj_request:
Example
{
  "cluster_id": "object",
  "object_type": "string",
  "kube_obj_request": {
    "group": "string",
    "version": "string",
    "resource": "string"
  }
}

KubeObjectResponse: object

cluster_id:
ID
kube_obj:
Example
{
  "cluster_id": "object",
  "kube_obj": "string"
}

ListWorkflowsInput: object

project_id:
ID
workflow_ids:
ID
pagination:
sort:
filter:
Example
{
  "project_id": "object",
  "workflow_ids": [
    "object"
  ],
  "pagination": {
    "page": "number",
    "limit": "number"
  },
  "sort": {
    "field": "string",
    "descending": "boolean"
  },
  "filter": {
    "workflow_name": "string",
    "cluster_name": "string"
  }
}

ListWorkflowsOutput: object

total_no_of_workflows:
Int
workflows:
Example
{
  "total_no_of_workflows": "number",
  "workflows": [
    {
      "workflow_id": "string",
      "workflow_manifest": "string",
      "cronSyntax": "string",
      "cluster_name": "string",
      "workflow_name": "string",
      "workflow_description": "string",
      "weightages": [
        {
          "experiment_name": "string",
          "weightage": "number"
        }
      ],
      "isCustomWorkflow": "boolean",
      "updated_at": "string",
      "created_at": "string",
      "project_id": "object",
      "cluster_id": "object",
      "cluster_type": "string",
      "isRemoved": "boolean"
    }
  ]
}

Maintainer: object

Name:
Email:
Example
{
  "Name": "string",
  "Email": "string"
}

ManifestTemplate: object

template_id:
ID
manifest:
template_name:
template_description:
project_id:
project_name:
created_at:
is_removed:
isCustomWorkflow:
Example
{
  "template_id": "object",
  "manifest": "string",
  "template_name": "string",
  "template_description": "string",
  "project_id": "string",
  "project_name": "string",
  "created_at": "string",
  "is_removed": "boolean",
  "isCustomWorkflow": "boolean"
}

Member: object

user_id:
ID
user_name:
name:
email:
role:
invitation:
joined_at:
deactivated_at:
Example
{
  "user_id": "object",
  "user_name": "string",
  "name": "string",
  "email": "string",
  "role": "string",
  "invitation": "string",
  "joined_at": "string",
  "deactivated_at": "string"
}

MemberInput: object

project_id:
ID
user_id:
role:
Example
{
  "project_id": "object",
  "user_id": "string",
  "role": "string"
}

MemberRole: string

object
Owner
object
Editor
object
Viewer

MemberStat: object

Owner:
Total:
Int
Example
{
  "Owner": {
    "UserId": "object",
    "Username": "string",
    "Name": "string"
  },
  "Total": "number"
}

Metadata: object

Name:
Version:
Annotations:
Example
{
  "Name": "string",
  "Version": "string",
  "Annotations": {
    "Categories": "string",
    "Vendor": "string",
    "CreatedAt": "string",
    "Repository": "string",
    "Support": "string",
    "ChartDescription": "string"
  }
}

MyHub: object

id:
ID
RepoURL:
RepoBranch:
ProjectID:
HubName:
IsPrivate:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
IsRemoved:
CreatedAt:
UpdatedAt:
LastSyncedAt:
Example
{
  "id": "object",
  "RepoURL": "string",
  "RepoBranch": "string",
  "ProjectID": "string",
  "HubName": "string",
  "IsPrivate": "boolean",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string",
  "IsRemoved": "boolean",
  "CreatedAt": "string",
  "UpdatedAt": "string",
  "LastSyncedAt": "string"
}

MyHubStatus: object

id:
ID
RepoURL:
RepoBranch:
IsAvailable:
TotalExp:
HubName:
IsPrivate:
AuthType:
Token:
UserName:
Password:
IsRemoved:
SSHPrivateKey:
SSHPublicKey:
LastSyncedAt:
Example
{
  "id": "object",
  "RepoURL": "string",
  "RepoBranch": "string",
  "IsAvailable": "boolean",
  "TotalExp": "string",
  "HubName": "string",
  "IsPrivate": "boolean",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "IsRemoved": "boolean",
  "SSHPrivateKey": "string",
  "SSHPublicKey": "string",
  "LastSyncedAt": "string"
}

Owner: object

UserId:
ID
Username:
Name:
Example
{
  "UserId": "object",
  "Username": "string",
  "Name": "string"
}

PackageInformation: object

PackageName:
Experiments:
Example
{
  "PackageName": "string",
  "Experiments": [
    {
      "Name": "string",
      "CSV": "string",
      "Desc": "string"
    }
  ]
}

Pagination: object

page:
Int
limit:
Int
Example
{
  "page": "number",
  "limit": "number"
}

PodLog: object

cluster_id:
request_id:
ID
workflow_run_id:
ID
pod_name:
pod_type:
log:
Example
{
  "cluster_id": {
    "cluster_id": "string",
    "access_key": "string"
  },
  "request_id": "object",
  "workflow_run_id": "object",
  "pod_name": "string",
  "pod_type": "string",
  "log": "string"
}

PodLogRequest: object

cluster_id:
ID
workflow_run_id:
ID
pod_name:
pod_namespace:
pod_type:
exp_pod:
runner_pod:
chaos_namespace:
Example
{
  "cluster_id": "object",
  "workflow_run_id": "object",
  "pod_name": "string",
  "pod_namespace": "string",
  "pod_type": "string",
  "exp_pod": "string",
  "runner_pod": "string",
  "chaos_namespace": "string"
}

PodLogResponse: object

workflow_run_id:
ID
pod_name:
pod_type:
log:
Example
{
  "workflow_run_id": "object",
  "pod_name": "string",
  "pod_type": "string",
  "log": "string"
}

PortalDashboardData: object

name:
dashboard_data:
Example
{
  "name": "string",
  "dashboard_data": "string"
}

Project: object

id:
ID
name:
members:
state:
created_at:
updated_at:
removed_at:
Example
{
  "id": "object",
  "name": "string",
  "members": [
    {
      "user_id": "object",
      "user_name": "string",
      "name": "string",
      "email": "string",
      "role": "string",
      "invitation": "string",
      "joined_at": "string",
      "deactivated_at": "string"
    }
  ],
  "state": "string",
  "created_at": "string",
  "updated_at": "string",
  "removed_at": "string"
}

ProjectData: object

Name:
Workflows:
Agents:
ProjectId:
Members:
Example
{
  "Name": "string",
  "Workflows": {
    "Schedules": "number",
    "Runs": "number",
    "ExpRuns": "number"
  },
  "Agents": {
    "Ns": "number",
    "Cluster": "number",
    "Total": "number",
    "Active": "number"
  },
  "ProjectId": "string",
  "Members": {
    "Owner": {
      "UserId": "object",
      "Username": "string",
      "Name": "string"
    },
    "Total": "number"
  }
}

Provider: object

Name:
Example
{
  "Name": "string"
}

SSHKey: object

publicKey:
privateKey:
Example
{
  "publicKey": "string",
  "privateKey": "string"
}

Spec: object

DisplayName:
CategoryDescription:
Keywords:
Maturity:
Maintainers:
MinKubeVersion:
Provider:
Links:
Experiments:
ChaosExpCRDLink:
Platforms:
ChaosType:
Example
{
  "DisplayName": "string",
  "CategoryDescription": "string",
  "Keywords": [
    "string"
  ],
  "Maturity": "string",
  "Maintainers": [
    {
      "Name": "string",
      "Email": "string"
    }
  ],
  "MinKubeVersion": "string",
  "Provider": "string",
  "Links": [
    {
      "Name": "string",
      "Url": "string"
    }
  ],
  "Experiments": [
    "string"
  ],
  "ChaosExpCRDLink": "string",
  "Platforms": [
    "string"
  ],
  "ChaosType": "string"
}

String: string

The Stringscalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Subscription: object

clusterEventListener:
workflowEventListener:
getPodLog:
clusterConnect:
getKubeObject:
viewDashboard:
Example
{
  "clusterEventListener": {
    "event_id": "object",
    "event_type": "string",
    "event_name": "string",
    "description": "string",
    "cluster": {
      "cluster_id": "object",
      "project_id": "object",
      "cluster_name": "string",
      "description": "string",
      "platform_name": "string",
      "access_key": "string",
      "is_registered": "boolean",
      "is_cluster_confirmed": "boolean",
      "is_active": "boolean",
      "updated_at": "string",
      "created_at": "string",
      "cluster_type": "string",
      "no_of_schedules": "number",
      "no_of_workflows": "number",
      "token": "string",
      "agent_namespace": "string",
      "serviceaccount": "string",
      "agent_scope": "string",
      "agent_ns_exists": "boolean",
      "agent_sa_exists": "boolean",
      "last_workflow_timestamp": "string"
    }
  },
  "workflowEventListener": {
    "workflow_run_id": "object",
    "workflow_id": "object",
    "cluster_name": "string",
    "weightages": [
      {
        "experiment_name": "string",
        "weightage": "number"
      }
    ],
    "last_updated": "string",
    "project_id": "object",
    "cluster_id": "object",
    "workflow_name": "string",
    "cluster_type": "string",
    "phase": "string",
    "resiliency_score": "number",
    "experiments_passed": "number",
    "experiments_failed": "number",
    "experiments_awaited": "number",
    "experiments_stopped": "number",
    "experiments_na": "number",
    "total_experiments": "number",
    "execution_data": "string",
    "isRemoved": "boolean"
  }
}

TemplateInput: object

manifest:
template_name:
template_description:
project_id:
isCustomWorkflow:
Example
{
  "manifest": "string",
  "template_name": "string",
  "template_description": "string",
  "project_id": "string",
  "isCustomWorkflow": "boolean"
}

TimeFrequency: string

object
Monthly
object
Daily
object
Hourly

TotalCount: object

Projects:
Int
Users:
Int
Agents:
Workflows:
Example
{
  "Projects": "number",
  "Users": "number",
  "Agents": {
    "Ns": "number",
    "Cluster": "number",
    "Total": "number",
    "Active": "number"
  },
  "Workflows": {
    "Schedules": "number",
    "Runs": "number",
    "ExpRuns": "number"
  }
}

UpdateMyHub: object

id:
HubName:
RepoURL:
RepoBranch:
IsPrivate:
AuthType:
Token:
UserName:
Password:
SSHPrivateKey:
SSHPublicKey:
Example
{
  "id": "string",
  "HubName": "string",
  "RepoURL": "string",
  "RepoBranch": "string",
  "IsPrivate": "boolean",
  "AuthType": "string",
  "Token": "string",
  "UserName": "string",
  "Password": "string",
  "SSHPrivateKey": "string",
  "SSHPublicKey": "string"
}

UpdateUserInput: object

id:
ID
name:
email:
company_name:
Example
{
  "id": "object",
  "name": "string",
  "email": "string",
  "company_name": "string"
}

UsageData: object

Projects:
TotalEntries:
Int
TotalCount:
Example
{
  "Projects": [
    {
      "Name": "string",
      "Workflows": {
        "Schedules": "number",
        "Runs": "number",
        "ExpRuns": "number"
      },
      "Agents": {
        "Ns": "number",
        "Cluster": "number",
        "Total": "number",
        "Active": "number"
      },
      "ProjectId": "string",
      "Members": {
        "Owner": {
          "UserId": "object",
          "Username": "string",
          "Name": "string"
        },
        "Total": "number"
      }
    }
  ],
  "TotalEntries": "number",
  "TotalCount": {
    "Projects": "number",
    "Users": "number",
    "Agents": {
      "Ns": "number",
      "Cluster": "number",
      "Total": "number",
      "Active": "number"
    },
    "Workflows": {
      "Schedules": "number",
      "Runs": "number",
      "ExpRuns": "number"
    }
  }
}

UsageQuery: object

Pagination:
DateRange:
Sort:
SearchProject:
Example
{
  "Pagination": {
    "page": "number",
    "limit": "number"
  },
  "DateRange": {
    "start_date": "string",
    "end_date": "string"
  },
  "Sort": {
    "Field": "string",
    "Descending": "boolean"
  },
  "SearchProject": "string"
}

UsageSort: string

object
Project
object
Owner
object
Agents
object
Schedules
object
WorkflowRuns
object
ExperimentRuns
object
TeamMembers

UsageSortInput: object

Field:
Descending:
Example
{
  "Field": "string",
  "Descending": "boolean"
}

User: object

id:
ID
username:
email:
is_email_verified:
company_name:
name:
projects:
role:
created_at:
updated_at:
deactivated_at:
Example
{
  "id": "object",
  "username": "string",
  "email": "string",
  "is_email_verified": "boolean",
  "company_name": "string",
  "name": "string",
  "projects": [
    {
      "id": "object",
      "name": "string",
      "members": [
        {
          "user_id": "object",
          "user_name": "string",
          "name": "string",
          "email": "string",
          "role": "string",
          "invitation": "string",
          "joined_at": "string",
          "deactivated_at": "string"
        }
      ],
      "state": "string",
      "created_at": "string",
      "updated_at": "string",
      "removed_at": "string"
    }
  ],
  "role": "string",
  "created_at": "string",
  "updated_at": "string",
  "deactivated_at": "string"
}

WeightagesInput: object

experiment_name:
weightage:
Int
Example
{
  "experiment_name": "string",
  "weightage": "number"
}

Workflow: object

workflow_id:
workflow_manifest:
cronSyntax:
cluster_name:
workflow_name:
workflow_description:
weightages:
isCustomWorkflow:
updated_at:
created_at:
project_id:
ID
cluster_id:
ID
cluster_type:
isRemoved:
Example
{
  "workflow_id": "string",
  "workflow_manifest": "string",
  "cronSyntax": "string",
  "cluster_name": "string",
  "workflow_name": "string",
  "workflow_description": "string",
  "weightages": [
    {
      "experiment_name": "string",
      "weightage": "number"
    }
  ],
  "isCustomWorkflow": "boolean",
  "updated_at": "string",
  "created_at": "string",
  "project_id": "object",
  "cluster_id": "object",
  "cluster_type": "string",
  "isRemoved": "boolean"
}

WorkflowFilterInput: object

workflow_name:
cluster_name:
Example
{
  "workflow_name": "string",
  "cluster_name": "string"
}

WorkflowRun: object

workflow_run_id:
ID
workflow_id:
ID
cluster_name:
weightages:
last_updated:
project_id:
ID
cluster_id:
ID
workflow_name:
cluster_type:
phase:
resiliency_score:
experiments_passed:
Int
experiments_failed:
Int
experiments_awaited:
Int
experiments_stopped:
Int
experiments_na:
Int
total_experiments:
Int
execution_data:
isRemoved:
Example
{
  "workflow_run_id": "object",
  "workflow_id": "object",
  "cluster_name": "string",
  "weightages": [
    {
      "experiment_name": "string",
      "weightage": "number"
    }
  ],
  "last_updated": "string",
  "project_id": "object",
  "cluster_id": "object",
  "workflow_name": "string",
  "cluster_type": "string",
  "phase": "string",
  "resiliency_score": "number",
  "experiments_passed": "number",
  "experiments_failed": "number",
  "experiments_awaited": "number",
  "experiments_stopped": "number",
  "experiments_na": "number",
  "total_experiments": "number",
  "execution_data": "string",
  "isRemoved": "boolean"
}

WorkflowRunDetails: object

no_of_runs:
Int
date_stamp:
Example
{
  "no_of_runs": "number",
  "date_stamp": "number"
}

WorkflowRunFilterInput: object

workflow_name:
cluster_name:
workflow_status:
date_range:
Example
{
  "workflow_name": "string",
  "cluster_name": "string",
  "workflow_status": "string",
  "date_range": {
    "start_date": "string",
    "end_date": "string"
  }
}

WorkflowRunInput: object

workflow_id:
ID
workflow_run_id:
ID
workflow_name:
execution_data:
cluster_id:
completed:
isRemoved:
Example
{
  "workflow_id": "object",
  "workflow_run_id": "object",
  "workflow_name": "string",
  "execution_data": "string",
  "cluster_id": {
    "cluster_id": "string",
    "access_key": "string"
  },
  "completed": "boolean",
  "isRemoved": "boolean"
}

WorkflowRunSortInput: object

field:
descending:
Example
{
  "field": "string",
  "descending": "boolean"
}

WorkflowRunStatsRequest: object

project_id:
ID
workflow_ids:
ID
Example
{
  "project_id": "object",
  "workflow_ids": [
    "object"
  ]
}

WorkflowRunStatsResponse: object

total_workflow_runs:
Int
succeeded_workflow_runs:
Int
failed_workflow_runs:
Int
running_workflow_runs:
Int
average_resiliency_score:
total_experiments:
Int
experiments_passed:
Int
experiments_failed:
Int
experiments_awaited:
Int
experiments_stopped:
Int
experiments_na:
Int
passed_percentage:
failed_percentage:
workflow_run_succeeded_percentage:
workflow_run_failed_percentage:
Example
{
  "total_workflow_runs": "number",
  "succeeded_workflow_runs": "number",
  "failed_workflow_runs": "number",
  "running_workflow_runs": "number",
  "average_resiliency_score": "number",
  "total_experiments": "number",
  "experiments_passed": "number",
  "experiments_failed": "number",
  "experiments_awaited": "number",
  "experiments_stopped": "number",
  "experiments_na": "number",
  "passed_percentage": "number",
  "failed_percentage": "number",
  "workflow_run_succeeded_percentage": "number",
  "workflow_run_failed_percentage": "number"
}

WorkflowRunStatus: string

object
All
object
Failed
object
Running
object
Succeeded

WorkflowRunsData: object

value:
workflowRunDetail:
Example
{
  "value": "number",
  "workflowRunDetail": {
    "no_of_runs": "number",
    "date_stamp": "number"
  }
}

WorkflowSortInput: object

field:
descending:
Example
{
  "field": "string",
  "descending": "boolean"
}

WorkflowSortingField: string

object
Name
object
Time

WorkflowStat: object

Schedules:
Int
Runs:
Int
ExpRuns:
Int
Example
{
  "Schedules": "number",
  "Runs": "number",
  "ExpRuns": "number"
}

WorkflowStats: object

date:
value:
Int
Example
{
  "date": "number",
  "value": "number"
}

annotationsPromResponse: object

queryid:
legends:
tsvs:
object[][]
subDataArray:
object[][]
Example
{
  "queryid": "string",
  "legends": [
    "string"
  ],
  "tsvs": [
    [
      {
        "date": "number",
        "value": "number"
      }
    ]
  ],
  "subDataArray": [
    [
      {
        "date": "number",
        "value": "string",
        "subDataName": "string"
      }
    ]
  ]
}

annotationsTimeStampValue: object

date:
value:
Int
Example
{
  "date": "number",
  "value": "number"
}

applicationMetadata: object

namespace:
applications:
Example
{
  "namespace": "string",
  "applications": [
    {
      "kind": "string",
      "names": [
        "string"
      ]
    }
  ]
}

applicationMetadataResponse: object

namespace:
applications:
Example
{
  "namespace": "string",
  "applications": [
    {
      "kind": "string",
      "names": [
        "string"
      ]
    }
  ]
}

clusterRegResponse: object

token:
cluster_id:
cluster_name:
Example
{
  "token": "string",
  "cluster_id": "string",
  "cluster_name": "string"
}

createDBInput: object

ds_id:
db_name:
db_type_name:
db_type_id:
db_information:
chaos_event_query_template:
chaos_verdict_query_template:
application_metadata_map:
panel_groups:
end_time:
start_time:
project_id:
ID
cluster_id:
ID
refresh_rate:
Example
{
  "ds_id": "string",
  "db_name": "string",
  "db_type_name": "string",
  "db_type_id": "string",
  "db_information": "string",
  "chaos_event_query_template": "string",
  "chaos_verdict_query_template": "string",
  "application_metadata_map": [
    {
      "namespace": "string",
      "applications": [
        {
          "kind": "string",
          "names": [
            "string"
          ]
        }
      ]
    }
  ],
  "panel_groups": [
    {
      "panels": [
        {
          "panel_id": "string",
          "db_id": "string",
          "y_axis_left": "string",
          "y_axis_right": "string",
          "x_axis_down": "string",
          "unit": "string",
          "panel_group_id": "string",
          "created_at": "string",
          "prom_queries": [
            {
              "queryid": "string",
              "prom_query_name": "string",
              "legend": "string",
              "resolution": "string",
              "minstep": "string",
              "line": "boolean",
              "close_area": "boolean"
            }
          ],
          "panel_options": {
            "points": "boolean",
            "grids": "boolean",
            "left_axis": "boolean"
          },
          "panel_name": "string"
        }
      ],
      "panel_group_name": "string"
    }
  ],
  "end_time": "string",
  "start_time": "string",
  "project_id": "object",
  "cluster_id": "object",
  "refresh_rate": "string"
}

dashboardPromResponse: object

dashboardMetricsResponse:
annotationsResponse:
Example
{
  "dashboardMetricsResponse": [
    {
      "panelGroupID": "string",
      "panelGroupMetricsResponse": [
        {
          "panelID": "string",
          "PanelMetricsResponse": [
            {
              "queryid": "string",
              "legends": [
                "string"
              ],
              "tsvs": [
                [
                  {
                    "date": "number",
                    "value": "number"
                  }
                ]
              ]
            }
          ]
        }
      ]
    }
  ],
  "annotationsResponse": [
    {
      "queryid": "string",
      "legends": [
        "string"
      ],
      "tsvs": [
        [
          {
            "date": "number",
            "value": "number"
          }
        ]
      ],
      "subDataArray": [
        [
          {
            "date": "number",
            "value": "string",
            "subDataName": "string"
          }
        ]
      ]
    }
  ]
}

dataVars: object

url:
start:
end:
relative_time:
Int
refresh_interval:
Int
Example
{
  "url": "string",
  "start": "string",
  "end": "string",
  "relative_time": "number",
  "refresh_interval": "number"
}

deleteDSInput: object

force_delete:
ds_id:
ID
Example
{
  "force_delete": "boolean",
  "ds_id": "object"
}

dsDetails: object

url:
start:
end:
Example
{
  "url": "string",
  "start": "string",
  "end": "string"
}

imageRegistry: object

is_default:
image_registry_name:
image_repo_name:
image_registry_type:
secret_name:
secret_namespace:
enable_registry:
Example
{
  "is_default": "boolean",
  "image_registry_name": "string",
  "image_repo_name": "string",
  "image_registry_type": "string",
  "secret_name": "string",
  "secret_namespace": "string",
  "enable_registry": "boolean"
}

imageRegistryInput: object

is_default:
image_registry_name:
image_repo_name:
image_registry_type:
secret_name:
secret_namespace:
enable_registry:
Example
{
  "is_default": "boolean",
  "image_registry_name": "string",
  "image_repo_name": "string",
  "image_registry_type": "string",
  "secret_name": "string",
  "secret_namespace": "string",
  "enable_registry": "boolean"
}

labelValue: object

label:
values:
Example
{
  "label": "string",
  "values": [
    {
      "name": "string"
    }
  ]
}

listDashboardResponse: object

ds_id:
db_id:
db_name:
db_type_id:
db_type_name:
db_information:
chaos_event_query_template:
chaos_verdict_query_template:
application_metadata_map:
cluster_name:
ds_name:
ds_type:
ds_url:
ds_health_status:
panel_groups:
end_time:
start_time:
refresh_rate:
project_id:
ID
cluster_id:
ID
created_at:
updated_at:
viewed_at:
Example
{
  "ds_id": "string",
  "db_id": "string",
  "db_name": "string",
  "db_type_id": "string",
  "db_type_name": "string",
  "db_information": "string",
  "chaos_event_query_template": "string",
  "chaos_verdict_query_template": "string",
  "application_metadata_map": [
    {
      "namespace": "string",
      "applications": [
        {
          "kind": "string",
          "names": [
            "string"
          ]
        }
      ]
    }
  ],
  "cluster_name": "string",
  "ds_name": "string",
  "ds_type": "string",
  "ds_url": "string",
  "ds_health_status": "string",
  "panel_groups": [
    {
      "panels": [
        {
          "panel_id": "string",
          "y_axis_left": "string",
          "y_axis_right": "string",
          "x_axis_down": "string",
          "unit": "string",
          "prom_queries": [
            {
              "queryid": "object",
              "prom_query_name": "string",
              "legend": "string",
              "resolution": "string",
              "minstep": "string",
              "line": "boolean",
              "close_area": "boolean"
            }
          ],
          "panel_options": {
            "points": "boolean",
            "grids": "boolean",
            "left_axis": "boolean"
          },
          "panel_name": "string",
          "created_at": "string"
        }
      ],
      "panel_group_name": "string",
      "panel_group_id": "string"
    }
  ],
  "end_time": "string",
  "start_time": "string",
  "refresh_rate": "string",
  "project_id": "object",
  "cluster_id": "object"
}

metricDataForPanel: object

panelID:
PanelMetricsResponse:
Example
{
  "panelID": "string",
  "PanelMetricsResponse": [
    {
      "queryid": "string",
      "legends": [
        "string"
      ],
      "tsvs": [
        [
          {
            "date": "number",
            "value": "number"
          }
        ]
      ]
    }
  ]
}

metricDataForPanelGroup: object

panelGroupID:
panelGroupMetricsResponse:
Example
{
  "panelGroupID": "string",
  "panelGroupMetricsResponse": [
    {
      "panelID": "string",
      "PanelMetricsResponse": [
        {
          "queryid": "string",
          "legends": [
            "string"
          ],
          "tsvs": [
            [
              {
                "date": "number",
                "value": "number"
              }
            ]
          ]
        }
      ]
    }
  ]
}

metricsPromResponse: object

queryid:
legends:
tsvs:
object[][]
Example
{
  "queryid": "string",
  "legends": [
    "string"
  ],
  "tsvs": [
    [
      {
        "date": "number",
        "value": "number"
      }
    ]
  ]
}

metricsTimeStampValue: object

date:
value:
Example
{
  "date": "number",
  "value": "number"
}

option: object

name:
Example
{
  "name": "string"
}

panel: object

panel_id:
db_id:
y_axis_left:
y_axis_right:
x_axis_down:
unit:
panel_group_id:
created_at:
prom_queries:
panel_options:
panel_name:
Example
{
  "panel_id": "string",
  "db_id": "string",
  "y_axis_left": "string",
  "y_axis_right": "string",
  "x_axis_down": "string",
  "unit": "string",
  "panel_group_id": "string",
  "created_at": "string",
  "prom_queries": [
    {
      "queryid": "string",
      "prom_query_name": "string",
      "legend": "string",
      "resolution": "string",
      "minstep": "string",
      "line": "boolean",
      "close_area": "boolean"
    }
  ],
  "panel_options": {
    "points": "boolean",
    "grids": "boolean",
    "left_axis": "boolean"
  },
  "panel_name": "string"
}

panelGroup: object

panels:
panel_group_name:
Example
{
  "panels": [
    {
      "panel_id": "string",
      "db_id": "string",
      "y_axis_left": "string",
      "y_axis_right": "string",
      "x_axis_down": "string",
      "unit": "string",
      "panel_group_id": "string",
      "created_at": "string",
      "prom_queries": [
        {
          "queryid": "string",
          "prom_query_name": "string",
          "legend": "string",
          "resolution": "string",
          "minstep": "string",
          "line": "boolean",
          "close_area": "boolean"
        }
      ],
      "panel_options": {
        "points": "boolean",
        "grids": "boolean",
        "left_axis": "boolean"
      },
      "panel_name": "string"
    }
  ],
  "panel_group_name": "string"
}

panelGroupResponse: object

panels:
panel_group_name:
panel_group_id: