Harness Chaos Engineering API Documentation

Harness Chaos Engineering empowers teams to deliver more resilient systems, helping organizations avoid downtime that can be costly, both financially and in lost reputation. It enables DevOps and SRE teams to purposely create failure scenarios (“chaos”) to identify potential resiliency and reliability issues in their deployments. These scenarios go beyond traditional unit, integration, and system tests, more closely representing what random failures in a production operating environment would look like.

Contact

API Support

contact@harness.io

API Endpoints
# Production:
https://app.harness.io/gateway/chaos/manager/api/query
Headers
# Use your API key token for authorization
X-API-KEY: <YOUR_API_KEY_TOKEN_HERE>
# Or use your JWT token for authorization
Authorization: <YOUR_JWT_TOKEN_HERE>

Your First Chaos Experiment

NOTE: These steps assumes you already have an account in Harness, if not, please create a new project or ask your administrator to add you to an existing project in Harness.

Please follow the below guidelines to run your first Chaos experiment Pod Delete:

Sequence in which the APIs should be executed to run a sample chaos experiment such as Pod Delete (all the APIs to do so are present in folder "Run Pod Delete Chaos Experiment" under Harness CE Postman Collection).

Listed below are the required inputs and how to access (or generate) them. We will refer these variables in the API requests explained in this tutorial -

url

This is the Harness CE server URL serving the Chaos API requests. You can find this URL in the Chaos API doc(top right). For instance, https://app.harness.io/gateway/chaos/manager/api/query is the Harness CE server URL for production environment. If you are using Chaos postman collection, this value will be pre-filled in 2 postman variables like below:

  • base_url - https://app.harness.io
  • chaos_url - $base_url/gateway/chaos/manager/api/query

account_id

This is your Harness account Id. Please use the account where you would like to run Chaos experiments.

You can retrieve your account Id by following the below steps:

  1. Go to ACCOUNT SETTINGS in Harness.
  2. Click on Overview.
  3. Copy the value of Account Id.

project_id

This is your Harness project Id. Please use the project where you would like to run Chaos experiments.

You can retrieve your project Id by following the below steps:

  1. Go to Projects in Harness.
  2. Select the project where you would like to run the Chaos experiments or create a new project.
  3. Click on Overview.
  4. Copy the value of Id.
  5. Please make sure to copy the value of Organization as well, this will be the value of next required variable org_id.

org_id

This is your Harness organization Id. Please use the organization where you would like to run Chaos experiments.

You can retrieve your organization Id by following the below steps: See above step to retrieve project_id - you would have copied the value of org_id as well in that step, if not please follow the same steps again to retrieve organization Id

API-KEY-TOKEN

You can use an existing Harness API key token of the same Harness account selected in above steps or you can create a new one by following the below steps:

  1. Click on MY PROFILE in Harness.
  2. Go to My API Keys section and click on + API Key button to create a new API Key.
  3. Enter a Name for the API Key(optional Description/Tags) and click on Save.
  4. Under the newly created API Key, click on + Token button to generate a new token for this API Key.
  5. Enter the Name and select the Expiration(time for which this token will be valid) and click on Generate Token.
  6. Please make sure to copy the value of the token generated and store somewhere safe, you may not be able to copy this later.

Variables In Harness CE Postman Collection

In order to work with Harness CE Postman Collection, please fork it under your own Postman account and update the above-mentioned variables in order to work with Harness CE Postman Collection.

Authorization Header For API Request

An authorization header with API-KEY-TOKEN value retrieved above is required to work with Chaos APIs i.e., x-api-key: $API-KEY-TOKEN

APIs to be executed in given sequence:

RegisterInfra

Now, we can create/register a chaos infrastructure. Here, we will add a Kubernetes infrastructure so that we can inject Kubernetes resource faults.

Add a name to your chaos infrastructure and optionally a description and tags. After that, choose the mode of installation for Harness delegate. As a quick primer, Harness delegate is a remote agent for accessing your Kubernetes cluster resources and injecting faults into them as part of a chaos experiment. The Cluster Wide installation mode allows you to target resources across all the namespaces in your cluster while Namespace Mode installation restricts chaos injection to only the namespace in which the delegate will be installed. In this tutorial, the delegate will be installed in the hce namespace with Cluster Wide mode, but you can change it.

NOTE: Above values are pre-filled in Harness CE Postman Collection.

Please make sure to note down the value of field token and infraID from response, these values will be used in subsequent API calls.

Once above request is executed, retrieve the infrastructure manifest by forming URL as shown below: $chaos_server_url/file/$token.yaml where $chaos_server_url would be https://app.harness.io/gateway/chaos/manager/api/ and $token is the token value retrieved in response of registerInfra API call as shown in sample response above. An example URL to retrieve infrastructure manifest could look like https://app.harness.io/gateway/chaos/manager/api/file/token-abc.yaml , copy and save the yaml in a machine where kubectl is installed and has access to your k8s cluster in some file named infra.yaml.

Lastly, provided that you have access to your Kubernetes cluster via kubectl, deploy your chaos infrastructure by executing the below commands - kubectl apply -f infra.yaml

It will take a while for the delegate to setup in the k8s cluster. Meanwhile, if you want to check the status of your infra, please use the API GetInfraDetails as explained below.

GetInfraDetails

Optional - If you want to get the details of your newly registered infra or to check if your infra is active or not before creating a Chaos workflow, you can use GetInfraDetails API - It will return the details of a given infra based on infra ID input. Please make sure to check the value of field isActive, it should be true i.e., the infrastructure should be in active state prior to moving forward.

NOTE: Above values are pre-filled in Harness CE Postman Collection.

ListPredefinedWorkflow

Optional - Required if and only if you want to run a different chaos experiment other than pod-delete, by default, pod delete experiment manifest is present in CreateChaosWorkFlow API call) - This will list down all the available predefined workflows/experiments that can be run on your infra, please select one of them and copy the manifest from there and make necessary changes such as namespace, etc.

CreateChaosWorkFlow

Please make sure to deploy some sample target application under hce namespace with label app=cartservice prior to running this API. With our target application deployed, we can now create a chaos experiment. We will be targeting the pods of the deployed app with the Pod Delete fault. To create the chaos experiment, Add the experiment name and optionally a description and tags. Then, Add the target infrastructure id, which we created previously.

This will allow us to create our chaos experiment with a pod-delete fault configured to target the Online Boutique application.

NOTE: In order to run this API using Harness CE Postman Collection, you just need to update the value of variable infraID retrieved during registerInfra API call. The value for workflowManifest field is pre-filled in the Harness CE postman collection, user does not need to update in case they want to target an application under hce namespace with label app=cartservice mentioned in this tutorial.

RunChaosExperiment

Once a workflow is created, you can now execute the experiment by providing the workflow id from CreateChaosWorkFlow API call. NOTE: Please note down the value of field notifyID.

ListWorkflowRun

Optional - Required only if you want to check the details of the workflow currently running - details can be validated by UI as well if user prefers to do so) - It will list down all the workflow runs with the required details for those workflows, this API call can be used to validate if the workflow created by RunChaosExperiment API call is running or not, completed, etc using the field phase.

Let's go to Harness CE Postman Collection to see this in action.

Queries

checkResourceID

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CheckResourceIDRequest!

Example

Query
query CheckResourceID(
  $identifiers: IdentifiersRequest!,
  $request: CheckResourceIDRequest!
) {
  checkResourceID(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CheckResourceIDRequest
}
Response
{"data": {"checkResourceID": {}}}

getChaosFault

Description

Get the fault details for a requested fault

Response

Returns a FaultDetails!

Arguments
Name Description
request - ExperimentRequest!
identifiers - IdentifiersRequest!

Example

Query
query GetChaosFault(
  $request: ExperimentRequest!,
  $identifiers: IdentifiersRequest!
) {
  getChaosFault(
    request: $request,
    identifiers: $identifiers
  ) {
    fault
    engine
    csv
    k8sSpec
  }
}
Variables
{
  "request": ExperimentRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getChaosFault": {
      "fault": "xyz789",
      "engine": "xyz789",
      "csv": "abc123",
      "k8sSpec": "xyz789"
    }
  }
}

getChaosHub

Description

Get the details of a requested ChaosHub

Response

Returns a ChaosHubStatus!

Arguments
Name Description
identifiers - IdentifiersRequest!
chaosHubID - String!

Example

Query
query GetChaosHub(
  $identifiers: IdentifiersRequest!,
  $chaosHubID: String!
) {
  getChaosHub(
    identifiers: $identifiers,
    chaosHubID: $chaosHubID
  ) {
    id
    repoName
    repoURL
    repoBranch
    connectorId
    connectorScope
    AuthType
    isAvailable
    totalFaults
    totalExperiments
    name
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    description
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "chaosHubID": "abc123"
}
Response
{
  "data": {
    "getChaosHub": {
      "id": "4",
      "repoName": "xyz789",
      "repoURL": "xyz789",
      "repoBranch": "abc123",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "AuthType": "Ssh",
      "isAvailable": true,
      "totalFaults": 123,
      "totalExperiments": 123,
      "name": "abc123",
      "lastSyncedAt": "abc123",
      "isDefault": false,
      "tags": ["abc123"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "abc123",
      "description": "abc123"
    }
  }
}

getCondition

Response

Returns a ConditionResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
conditionId - String!

Example

Query
query GetCondition(
  $identifiers: IdentifiersRequest!,
  $conditionId: String!
) {
  getCondition(
    identifiers: $identifiers,
    conditionId: $conditionId
  ) {
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    condition {
      name
      description
      tags
      conditionId
      faultSpec {
        operator
        faults {
          faultType
          name
        }
      }
      k8sSpec {
        infraSpec {
          operator
          infraIds
        }
        applicationSpec {
          operator
          workloads {
            label
            namespace
          }
        }
        chaosServiceAccountSpec {
          operator
          serviceAccounts
        }
      }
      rules {
        ruleId
        name
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "conditionId": "xyz789"
}
Response
{
  "data": {
    "getCondition": {
      "updatedAt": 123,
      "createdAt": 123,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "identifiers": Identifiers,
      "condition": Condition
    }
  }
}

getExperiment

Description

Returns the experiment based on experiment ID

Response

Returns a GetExperimentResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentID - String!
getAverageResiliencyScore - Boolean

Example

Query
query GetExperiment(
  $identifiers: IdentifiersRequest!,
  $experimentID: String!,
  $getAverageResiliencyScore: Boolean
) {
  getExperiment(
    identifiers: $identifiers,
    experimentID: $experimentID,
    getAverageResiliencyScore: $getAverageResiliencyScore
  ) {
    experimentDetails {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
    averageResiliencyScore
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentID": "xyz789",
  "getAverageResiliencyScore": false
}
Response
{
  "data": {
    "getExperiment": {
      "experimentDetails": Workflow,
      "averageResiliencyScore": 123.45
    }
  }
}

getExperimentRun

Description

Returns experiment run based on experiment run ID

Response

Returns a WorkflowRun!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String
notifyID - String

Example

Query
query GetExperimentRun(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String,
  $notifyID: String
) {
  getExperimentRun(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    notifyID: $notifyID
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    workflowRunID
    workflowType
    workflowID
    weightages {
      experimentName
      weightage
    }
    updatedAt
    createdAt
    cronSyntax
    infra {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      environmentID
      infraType
      infraID
      name
      description
      version
      updatedAt
      createdAt
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      startTime
      isActive
      isInfraConfirmed
      infraNamespace
      clusterType
    }
    workflowName
    workflowDescription
    workflowTags
    workflowManifest
    isCronEnabled
    probe {
      faultName
      probeName
    }
    phase
    resiliencyScore
    experimentsPassed
    experimentsFailed
    experimentsAwaited
    experimentsStopped
    experimentsNa
    totalExperiments
    executionData
    isRemoved
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    notifyID
    errorResponse
    securityGovernance {
      name
      type
      startedAt
      finishedAt
      message
      phase
      securityGovernanceNodeData {
        passedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        failedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        skippedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
      }
    }
    runSequence
    experimentType
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "abc123",
  "notifyID": "abc123"
}
Response
{
  "data": {
    "getExperimentRun": {
      "identifiers": Identifiers,
      "workflowRunID": "4",
      "workflowType": "xyz789",
      "workflowID": 4,
      "weightages": [Weightages],
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "cronSyntax": "abc123",
      "infra": Infrastructure,
      "workflowName": "xyz789",
      "workflowDescription": "xyz789",
      "workflowTags": ["xyz789"],
      "workflowManifest": "abc123",
      "isCronEnabled": true,
      "probe": [ProbeMap],
      "phase": "All",
      "resiliencyScore": 123.45,
      "experimentsPassed": 123,
      "experimentsFailed": 987,
      "experimentsAwaited": 123,
      "experimentsStopped": 123,
      "experimentsNa": 987,
      "totalExperiments": 987,
      "executionData": "xyz789",
      "isRemoved": true,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "notifyID": "4",
      "errorResponse": "abc123",
      "securityGovernance": SecurityGovernance,
      "runSequence": 123,
      "experimentType": "abc123"
    }
  }
}

getExperimentRunReport

Description

Returns experiment run report based on experiment run ID

Response

Returns an ExperimentRunReport!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String
notifyID - String

Example

Query
query GetExperimentRunReport(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String,
  $notifyID: String
) {
  getExperimentRunReport(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    notifyID: $notifyID
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    workflowRunID
    workflowType
    workflowID
    weightages {
      experimentName
      weightage
    }
    updatedAt
    createdAt
    cronSyntax
    infra {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      environmentID
      infraType
      infraID
      name
      description
      version
      updatedAt
      createdAt
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      startTime
      isActive
      isInfraConfirmed
      infraNamespace
      clusterType
    }
    workflowName
    workflowDescription
    workflowTags
    workflowManifest
    isCronEnabled
    probe {
      faultName
      probeName
    }
    phase
    resiliencyScore
    experimentsPassed
    experimentsFailed
    experimentsAwaited
    experimentsStopped
    experimentsNa
    totalExperiments
    executionData
    isRemoved
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    notifyID
    errorResponse
    securityGovernance {
      name
      type
      startedAt
      finishedAt
      message
      phase
      securityGovernanceNodeData {
        passedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        failedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        skippedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
      }
    }
    runSequence
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "xyz789",
  "notifyID": "xyz789"
}
Response
{
  "data": {
    "getExperimentRunReport": {
      "identifiers": Identifiers,
      "workflowRunID": "4",
      "workflowType": "abc123",
      "workflowID": 4,
      "weightages": [Weightages],
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "cronSyntax": "abc123",
      "infra": [Infrastructure],
      "workflowName": "xyz789",
      "workflowDescription": "abc123",
      "workflowTags": ["xyz789"],
      "workflowManifest": "abc123",
      "isCronEnabled": false,
      "probe": [ProbeMap],
      "phase": "All",
      "resiliencyScore": 987.65,
      "experimentsPassed": 123,
      "experimentsFailed": 123,
      "experimentsAwaited": 123,
      "experimentsStopped": 123,
      "experimentsNa": 987,
      "totalExperiments": 123,
      "executionData": "xyz789",
      "isRemoved": true,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "notifyID": "4",
      "errorResponse": "xyz789",
      "securityGovernance": SecurityGovernance,
      "runSequence": 123
    }
  }
}

getGameDay

Response

Returns a GetGameDayResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
gamedayID - String!

Example

Query
query GetGameDay(
  $identifiers: IdentifiersRequest!,
  $gamedayID: String!
) {
  getGameDay(
    identifiers: $identifiers,
    gamedayID: $gamedayID
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfra {
        ID
        type
        name
        environmentID
        namespace
        scope
        isActive
      }
      hubID
      experimentNotes
      experimentCSV
      experimentManifest
    }
    objective
    description
    createdBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
    totalGamedayRuns
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "gamedayID": "abc123"
}
Response
{
  "data": {
    "getGameDay": {
      "gameDayID": "4",
      "identifiers": Identifiers,
      "name": "xyz789",
      "experiments": [GetGamedayExperimentResponse],
      "objective": "xyz789",
      "description": "xyz789",
      "createdBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "xyz789",
      "summary": GameDaySummary,
      "isRemoved": true,
      "totalGamedayRuns": 123
    }
  }
}

getGameDayRun

Response

Returns a GameDayRunResponse

Arguments
Name Description
identifiers - IdentifiersRequest!
gamedayRunID - String!

Example

Query
query GetGameDayRun(
  $identifiers: IdentifiersRequest!,
  $gamedayRunID: String!
) {
  getGameDayRun(
    identifiers: $identifiers,
    gamedayRunID: $gamedayRunID
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "gamedayRunID": "abc123"
}
Response
{
  "data": {
    "getGameDayRun": {
      "gameDayRunID": "xyz789",
      "name": "xyz789",
      "gameDayID": "abc123",
      "identifiers": Identifiers,
      "experiments": [GameDayRunExperiments],
      "startTime": "xyz789",
      "endTime": "xyz789",
      "notes": "xyz789",
      "summary": GameDaySummary,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "updatedAt": "xyz789",
      "createdAt": "abc123",
      "completed": false
    }
  }
}

getHelmInfraCommand

Description

Returns command required for installation/upgrade of an infrastructure via helm

Response

Returns [String!]!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!

Example

Query
query GetHelmInfraCommand(
  $identifiers: IdentifiersRequest!,
  $infraID: String!
) {
  getHelmInfraCommand(
    identifiers: $identifiers,
    infraID: $infraID
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789"
}
Response
{"data": {"getHelmInfraCommand": [{}]}}

getImageRegistry

Response

Returns an ImageRegistryResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetImageRegistry($identifiers: IdentifiersRequest!) {
  getImageRegistry(identifiers: $identifiers) {
    identifier {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    registryServer
    registryAccount
    isPrivate
    secretName
    isDefault
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getImageRegistry": {
      "identifier": Identifiers,
      "registryServer": "abc123",
      "registryAccount": "abc123",
      "isPrivate": true,
      "secretName": "xyz789",
      "isDefault": false,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "xyz789"
    }
  }
}

getInfra

Description

Returns infra with a particular infraID in the project

Response

Returns a KubernetesInfra!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!

Example

Query
query GetInfra(
  $identifiers: IdentifiersRequest!,
  $infraID: String!
) {
  getInfra(
    identifiers: $identifiers,
    infraID: $infraID
  ) {
    infraID
    name
    description
    tags
    environmentID
    platformName
    isActive
    isInfraConfirmed
    isRemoved
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    token
    infraNamespace
    serviceAccount
    infraScope
    infraNsExists
    infraSaExists
    installationType
    k8sConnectorID
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    infraType
    updateStatus
    isSecretEnabled
    runAsUser
    runAsGroup
    upgrade {
      status
      isAutoUpgradeEnabled
    }
    clusterType
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789"
}
Response
{
  "data": {
    "getInfra": {
      "infraID": 4,
      "name": "xyz789",
      "description": "xyz789",
      "tags": ["abc123"],
      "environmentID": "abc123",
      "platformName": "abc123",
      "isActive": false,
      "isInfraConfirmed": true,
      "isRemoved": false,
      "updatedAt": "abc123",
      "createdAt": "abc123",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "token": "abc123",
      "infraNamespace": "abc123",
      "serviceAccount": "xyz789",
      "infraScope": "namespace",
      "infraNsExists": true,
      "infraSaExists": false,
      "installationType": "CONNECTOR",
      "k8sConnectorID": "abc123",
      "lastWorkflowTimestamp": "abc123",
      "startTime": "xyz789",
      "version": "abc123",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "abc123",
      "infraType": "Kubernetes",
      "updateStatus": "AVAILABLE",
      "isSecretEnabled": true,
      "runAsUser": 987,
      "runAsGroup": 123,
      "upgrade": Upgrade,
      "clusterType": "KUBERNETES"
    }
  }
}

getInfraManifest

Description

Returns the manifest for a given infraID

Response

Returns a String!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetInfraManifest(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getInfraManifest(
    infraID: $infraID,
    identifiers: $identifiers
  )
}
Variables
{
  "infraID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"getInfraManifest": {}}}

getInfraStats

Description

Query to get experiment stats

Response

Returns a GetInfraStatsResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetInfraStats($identifiers: IdentifiersRequest!) {
  getInfraStats(identifiers: $identifiers) {
    totalInfrastructures
    totalActiveInfrastructure
    totalInactiveInfrastructures
    totalConfirmedInfrastructure
    totalNonConfirmedInfrastructures
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getInfraStats": {
      "totalInfrastructures": 123,
      "totalActiveInfrastructure": 123,
      "totalInactiveInfrastructures": 987,
      "totalConfirmedInfrastructure": 987,
      "totalNonConfirmedInfrastructures": 987
    }
  }
}

getLinuxInfraDetails

Description

Returns infra details based on identifiers

Response

Returns a LinuxInfra!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetLinuxInfraDetails(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getLinuxInfraDetails(
    infraID: $infraID,
    identifiers: $identifiers
  ) {
    infraID
    name
    description
    tags
    environmentID
    isActive
    isInfraConfirmed
    isRemoved
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    hostname
  }
}
Variables
{
  "infraID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getLinuxInfraDetails": {
      "infraID": "4",
      "name": "abc123",
      "description": "xyz789",
      "tags": ["xyz789"],
      "environmentID": "abc123",
      "isActive": false,
      "isInfraConfirmed": false,
      "isRemoved": false,
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "lastWorkflowTimestamp": "abc123",
      "startTime": "abc123",
      "version": "xyz789",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "xyz789",
      "hostname": "abc123"
    }
  }
}

getLinuxInfraVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetLinuxInfraVersionDetails($identifiers: IdentifiersRequest!) {
  getLinuxInfraVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getLinuxInfraVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["abc123"]
    }
  }
}

getPredefinedWorkflow

Description

Returns predefined experiment details of selected experiments

Response

Returns [PredefinedWorkflowList!]!

Arguments
Name Description
hubID - String!
experimentName - [String!]!
identifiers - IdentifiersRequest!

Example

Query
query GetPredefinedWorkflow(
  $hubID: String!,
  $experimentName: [String!]!,
  $identifiers: IdentifiersRequest!
) {
  getPredefinedWorkflow(
    hubID: $hubID,
    experimentName: $experimentName,
    identifiers: $identifiers
  ) {
    workflowName
    workflowCSV
    workflowManifest
    workflowV2Manifest
    error
  }
}
Variables
{
  "hubID": "abc123",
  "experimentName": ["abc123"],
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getPredefinedWorkflow": [
      {
        "workflowName": "xyz789",
        "workflowCSV": "xyz789",
        "workflowManifest": "abc123",
        "workflowV2Manifest": "abc123",
        "error": "xyz789"
      }
    ]
  }
}

getProbe

Description

Returns a single Probe based on ProbeName and various filter parameters

Response

Returns a Probe!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!

Example

Query
query GetProbe(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!
) {
  getProbe(
    identifiers: $identifiers,
    probeName: $probeName
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    description
    tags
    type
    infrastructureType
    kubernetesHTTPProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    linuxHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      insecureSkipVerify
    }
    windowsHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    kubernetesCMDProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
      verbosity
    }
    linuxCMDProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
    }
    kubernetesDatadogProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
      metrics {
        datadogQuery
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      datadogCredentialsSecretName
      verbosity
    }
    linuxDatadogProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
    }
    k8sProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      group
      version
      resource
      namespace
      resourceNames
      fieldSelector
      labelSelector
      operation
      verbosity
    }
    kubernetesDynatraceProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      apiTokenSecretName
      comparator {
        type
        value
        criteria
      }
      verbosity
    }
    linuxDynatraceProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      comparator {
        type
        value
        criteria
      }
    }
    promProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      query
      queryPath
      comparator {
        type
        value
        criteria
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
    }
    sloProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      evaluationTimeout
      stopOnFailure
      platformEndpoint
      sloIdentifier
      evaluationWindow {
        evaluationStartTime
        evaluationEndTime
      }
      sloSourceMetadata {
        apiTokenSecret
        scope {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
      }
      comparator {
        type
        value
        criteria
      }
      verbosity
      insecureSkipVerify
    }
    recentExecutions {
      faultName
      status {
        verdict
        description
      }
      executedByExperiment {
        experimentID
        experimentName
        experimentType
        updatedAt
        updatedBy {
          userID
          username
          email
        }
      }
    }
    referencedBy
    isRemoved
    isEnabled
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
  }
}
Variables
{"identifiers": IdentifiersRequest, "probeName": 4}
Response
{
  "data": {
    "getProbe": {
      "identifiers": Identifiers,
      "name": "abc123",
      "description": "xyz789",
      "tags": ["xyz789"],
      "type": "httpProbe",
      "infrastructureType": "Kubernetes",
      "kubernetesHTTPProperties": KubernetesHTTPProbe,
      "linuxHTTPProperties": LinuxHTTPProbe,
      "windowsHTTPProperties": WindowsHTTPProbe,
      "kubernetesCMDProperties": KubernetesCMDProbe,
      "linuxCMDProperties": LinuxCMDProbe,
      "kubernetesDatadogProperties": KubernetesDatadogProbe,
      "linuxDatadogProperties": LinuxDatadogProbe,
      "k8sProperties": K8SProbe,
      "kubernetesDynatraceProperties": KubernetesDynatraceProbe,
      "linuxDynatraceProperties": LinuxDynatraceProbe,
      "promProperties": PROMProbe,
      "sloProperties": SLOProbe,
      "recentExecutions": [ProbeRecentExecutions],
      "referencedBy": 123,
      "isRemoved": false,
      "isEnabled": true,
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "updatedBy": UserDetails,
      "createdBy": UserDetails
    }
  }
}

getProbeReference

Description

Returns all the reference of the Probe based on ProbeName

Response

Returns a GetProbeReferenceResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!

Example

Query
query GetProbeReference(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!
) {
  getProbeReference(
    identifiers: $identifiers,
    probeName: $probeName
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    totalRuns
    recentExecutions {
      faultName
      mode
      executionHistory {
        mode
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
    }
  }
}
Variables
{"identifiers": IdentifiersRequest, "probeName": 4}
Response
{
  "data": {
    "getProbeReference": {
      "identifiers": Identifiers,
      "name": "xyz789",
      "totalRuns": 987,
      "recentExecutions": [RecentExecutions]
    }
  }
}

getProbeYAML

Description

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - GetProbeYAMLRequest!

Example

Query
query GetProbeYAML(
  $identifiers: IdentifiersRequest!,
  $request: GetProbeYAMLRequest!
) {
  getProbeYAML(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": GetProbeYAMLRequest
}
Response
{"data": {"getProbeYAML": {}}}

getProbesInExperimentRun

Description

Returns all the Probes attached to the requested Experiment Run

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String!
faultName - String!

Example

Query
query GetProbesInExperimentRun(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String!,
  $faultName: String!
) {
  getProbesInExperimentRun(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    faultName: $faultName
  ) {
    probe {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      description
      tags
      type
      infrastructureType
      kubernetesHTTPProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      linuxHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        insecureSkipVerify
      }
      windowsHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      kubernetesCMDProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
        verbosity
      }
      linuxCMDProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
      }
      kubernetesDatadogProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
        metrics {
          datadogQuery
          timeFrame
          comparator {
            type
            value
            criteria
          }
        }
        datadogCredentialsSecretName
        verbosity
      }
      linuxDatadogProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
      }
      k8sProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        group
        version
        resource
        namespace
        resourceNames
        fieldSelector
        labelSelector
        operation
        verbosity
      }
      kubernetesDynatraceProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        apiTokenSecretName
        comparator {
          type
          value
          criteria
        }
        verbosity
      }
      linuxDynatraceProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      promProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        query
        queryPath
        comparator {
          type
          value
          criteria
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
      }
      sloProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        evaluationTimeout
        stopOnFailure
        platformEndpoint
        sloIdentifier
        evaluationWindow {
          evaluationStartTime
          evaluationEndTime
        }
        sloSourceMetadata {
          apiTokenSecret
          scope {
            orgIdentifier
            accountIdentifier
            projectIdentifier
          }
        }
        comparator {
          type
          value
          criteria
        }
        verbosity
        insecureSkipVerify
      }
      recentExecutions {
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
      referencedBy
      isRemoved
      isEnabled
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
    }
    mode
    status {
      verdict
      description
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "abc123",
  "faultName": "xyz789"
}
Response
{
  "data": {
    "getProbesInExperimentRun": [
      {
        "probe": Probe,
        "mode": "SOT",
        "status": Status
      }
    ]
  }
}

getRule

Response

Returns a RuleResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!

Example

Query
query GetRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!
) {
  getRule(
    identifiers: $identifiers,
    ruleId: $ruleId
  ) {
    createdAt
    createdBy {
      userID
      username
      email
    }
    updatedAt
    updatedBy {
      userID
      username
      email
    }
    rule {
      name
      tags
      description
      isEnabled
      ruleId
      userGroupIds
      timeWindows {
        duration
        endTime
        startTime
        timeZone
        recurrence {
          type
          spec {
            until
            value
          }
        }
      }
      conditions {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "abc123"
}
Response
{
  "data": {
    "getRule": {
      "createdAt": 123,
      "createdBy": UserDetails,
      "updatedAt": 987,
      "updatedBy": UserDetails,
      "rule": Rule,
      "identifiers": Identifiers
    }
  }
}

getVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetVersionDetails($identifiers: IdentifiersRequest!) {
  getVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["abc123"]
    }
  }
}

getWindowsInfraDetails

Description

Returns infra details based on identifiers

Response

Returns a WindowsInfra!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetWindowsInfraDetails(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getWindowsInfraDetails(
    infraID: $infraID,
    identifiers: $identifiers
  ) {
    infraID
    name
    description
    tags
    environmentID
    isActive
    isInfraConfirmed
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    hostname
  }
}
Variables
{
  "infraID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getWindowsInfraDetails": {
      "infraID": 4,
      "name": "abc123",
      "description": "abc123",
      "tags": ["xyz789"],
      "environmentID": "xyz789",
      "isActive": true,
      "isInfraConfirmed": true,
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "lastWorkflowTimestamp": "abc123",
      "startTime": "xyz789",
      "version": "abc123",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "xyz789",
      "hostname": "abc123"
    }
  }
}

getWindowsInfraVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetWindowsInfraVersionDetails($identifiers: IdentifiersRequest!) {
  getWindowsInfraVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getWindowsInfraVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["xyz789"]
    }
  }
}

listChaosFaults

Description

List the Faults from a ChaosHub

Response

Returns [Chart!]!

Arguments
Name Description
hubID - String!
executionPlane - ExecutionPlane
identifiers - IdentifiersRequest!

Example

Query
query ListChaosFaults(
  $hubID: String!,
  $executionPlane: ExecutionPlane,
  $identifiers: IdentifiersRequest!
) {
  listChaosFaults(
    hubID: $hubID,
    executionPlane: $executionPlane,
    identifiers: $identifiers
  ) {
    apiVersion
    kind
    metadata {
      name
      version
      annotations {
        categories
        vendor
        createdAt
        repository
        support
        chartDescription
      }
    }
    spec {
      displayName
      categoryDescription
      keywords
      maturity
      maintainers {
        name
        email
      }
      minKubeVersion
      provider {
        name
      }
      links {
        name
        url
      }
      faults {
        name
        displayName
        description
        plan
        supportedVersion
      }
      experiments
      chaosExpCRDLink
      platforms
      chaosType
    }
    packageInfo {
      packageName
      experiments {
        name
        CSV
        desc
      }
    }
  }
}
Variables
{
  "hubID": "xyz789",
  "executionPlane": "LINUX",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "listChaosFaults": [
      {
        "apiVersion": "xyz789",
        "kind": "abc123",
        "metadata": Metadata,
        "spec": Spec,
        "packageInfo": PackageInformation
      }
    ]
  }
}

listChaosHub

Description

Get the status of all the connected ChaosHub

Response

Returns [ChaosHubStatus]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListChaosHubRequest

Example

Query
query ListChaosHub(
  $identifiers: IdentifiersRequest!,
  $request: ListChaosHubRequest
) {
  listChaosHub(
    identifiers: $identifiers,
    request: $request
  ) {
    id
    repoName
    repoURL
    repoBranch
    connectorId
    connectorScope
    AuthType
    isAvailable
    totalFaults
    totalExperiments
    name
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    description
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListChaosHubRequest
}
Response
{
  "data": {
    "listChaosHub": [
      {
        "id": "4",
        "repoName": "xyz789",
        "repoURL": "abc123",
        "repoBranch": "abc123",
        "connectorId": "xyz789",
        "connectorScope": "ACCOUNT",
        "AuthType": "Ssh",
        "isAvailable": true,
        "totalFaults": 987,
        "totalExperiments": 987,
        "name": "abc123",
        "lastSyncedAt": "xyz789",
        "isDefault": true,
        "tags": ["abc123"],
        "createdBy": UserDetails,
        "updatedBy": UserDetails,
        "createdAt": "xyz789",
        "updatedAt": "abc123",
        "description": "abc123"
      }
    ]
  }
}

listCondition

Response

Returns a ListConditionResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListConditionRequest!

Example

Query
query ListCondition(
  $identifiers: IdentifiersRequest!,
  $request: ListConditionRequest!
) {
  listCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    totalConditions
    conditions {
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      condition {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListConditionRequest
}
Response
{
  "data": {
    "listCondition": {
      "totalConditions": 123,
      "conditions": [ConditionResponse]
    }
  }
}

listExperimentsWithActiveInfras

Description

Returns the list of experiments with active infras

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListExperimentsWithActiveInfrasRequest!

Example

Query
query ListExperimentsWithActiveInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListExperimentsWithActiveInfrasRequest!
) {
  listExperimentsWithActiveInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfExperiments
    experiments {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListExperimentsWithActiveInfrasRequest
}
Response
{
  "data": {
    "listExperimentsWithActiveInfras": {
      "totalNoOfExperiments": 987,
      "experiments": [Workflow]
    }
  }
}

listGameDay

Response

Returns a ListGamedayResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListGameDayRequest

Example

Query
query ListGameDay(
  $identifiers: IdentifiersRequest!,
  $request: ListGameDayRequest
) {
  listGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfGamedays
    gamedays {
      gameDayID
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      tags
      experiments {
        experimentID
        experimentTemplateName
        chaosInfraID
        hubID
      }
      objective
      description
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      createdAt
      updatedAt
      summary {
        notes
        qna {
          questionType
          optionsMCQ
          question
          answer
        }
        actionItem {
          item
          isDone
        }
      }
      isRemoved
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListGameDayRequest
}
Response
{
  "data": {
    "listGameDay": {
      "totalNoOfGamedays": 987,
      "gamedays": [GameDayResponse]
    }
  }
}

listGameDayRuns

Response

Returns [GameDayRunResponse]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListGameDayRunsRequest

Example

Query
query ListGameDayRuns(
  $identifiers: IdentifiersRequest!,
  $request: ListGameDayRunsRequest
) {
  listGameDayRuns(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListGameDayRunsRequest
}
Response
{
  "data": {
    "listGameDayRuns": [
      {
        "gameDayRunID": "xyz789",
        "name": "xyz789",
        "gameDayID": "xyz789",
        "identifiers": Identifiers,
        "experiments": [GameDayRunExperiments],
        "startTime": "xyz789",
        "endTime": "xyz789",
        "notes": "abc123",
        "summary": GameDaySummary,
        "createdBy": UserDetails,
        "updatedBy": UserDetails,
        "updatedAt": "xyz789",
        "createdAt": "xyz789",
        "completed": false
      }
    ]
  }
}

listInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListInfraRequest

Example

Query
query ListInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListInfraRequest
) {
  listInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      platformName
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      token
      infraNamespace
      serviceAccount
      infraScope
      infraNsExists
      infraSaExists
      installationType
      k8sConnectorID
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      infraType
      updateStatus
      isSecretEnabled
      runAsUser
      runAsGroup
      upgrade {
        status
        isAutoUpgradeEnabled
      }
      clusterType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListInfraRequest
}
Response
{
  "data": {
    "listInfras": {
      "totalNoOfInfras": 123,
      "infras": [KubernetesInfra]
    }
  }
}

listInfrasV2

Description

Returns infras with a particular infra type in the project (without lookup)

Response

Returns a ListInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListInfraRequest

Example

Query
query ListInfrasV2(
  $identifiers: IdentifiersRequest!,
  $request: ListInfraRequest
) {
  listInfrasV2(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      platformName
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      token
      infraNamespace
      serviceAccount
      infraScope
      infraNsExists
      infraSaExists
      installationType
      k8sConnectorID
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      infraType
      updateStatus
      isSecretEnabled
      runAsUser
      runAsGroup
      upgrade {
        status
        isAutoUpgradeEnabled
      }
      clusterType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListInfraRequest
}
Response
{
  "data": {
    "listInfrasV2": {
      "totalNoOfInfras": 123,
      "infras": [KubernetesInfra]
    }
  }
}

listInfrasWithExperimentStats

Description

Query to get experiment stats for requested chaos infrastructures

Response

Returns [InfraWithExperimentStats!]!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String!]!

Example

Query
query ListInfrasWithExperimentStats(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String!]!
) {
  listInfrasWithExperimentStats(
    identifiers: $identifiers,
    infraIDs: $infraIDs
  ) {
    infraID
    experimentsCount
    experimentRunsCount
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"]
}
Response
{
  "data": {
    "listInfrasWithExperimentStats": [
      {
        "infraID": "abc123",
        "experimentsCount": 123,
        "experimentRunsCount": 123
      }
    ]
  }
}

listLinuxInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListLinuxInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListLinuxInfraRequest

Example

Query
query ListLinuxInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListLinuxInfraRequest
) {
  listLinuxInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      hostname
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListLinuxInfraRequest
}
Response
{
  "data": {
    "listLinuxInfras": {
      "totalNoOfInfras": 987,
      "infras": [LinuxInfra]
    }
  }
}

listPredefinedWorkflow

Description

Returns the list of predefined workflows in a project

Response

Returns [PredefinedWorkflowList!]!

Arguments
Name Description
hubID - String!
identifiers - IdentifiersRequest!

Example

Query
query ListPredefinedWorkflow(
  $hubID: String!,
  $identifiers: IdentifiersRequest!
) {
  listPredefinedWorkflow(
    hubID: $hubID,
    identifiers: $identifiers
  ) {
    workflowName
    workflowCSV
    workflowManifest
    workflowV2Manifest
    error
  }
}
Variables
{
  "hubID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "listPredefinedWorkflow": [
      {
        "workflowName": "abc123",
        "workflowCSV": "xyz789",
        "workflowManifest": "xyz789",
        "workflowV2Manifest": "abc123",
        "error": "abc123"
      }
    ]
  }
}

listProbes

Description

Returns the list of Probes based on various filter parameters

Response

Returns a ListProbeResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListProbeRequest!

Example

Query
query ListProbes(
  $identifiers: IdentifiersRequest!,
  $request: ListProbeRequest!
) {
  listProbes(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfProbes
    probes {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      description
      tags
      type
      infrastructureType
      kubernetesHTTPProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      linuxHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        insecureSkipVerify
      }
      windowsHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      kubernetesCMDProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
        verbosity
      }
      linuxCMDProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
      }
      kubernetesDatadogProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
        metrics {
          datadogQuery
          timeFrame
          comparator {
            type
            value
            criteria
          }
        }
        datadogCredentialsSecretName
        verbosity
      }
      linuxDatadogProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
      }
      k8sProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        group
        version
        resource
        namespace
        resourceNames
        fieldSelector
        labelSelector
        operation
        verbosity
      }
      kubernetesDynatraceProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        apiTokenSecretName
        comparator {
          type
          value
          criteria
        }
        verbosity
      }
      linuxDynatraceProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      promProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        query
        queryPath
        comparator {
          type
          value
          criteria
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
      }
      sloProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        evaluationTimeout
        stopOnFailure
        platformEndpoint
        sloIdentifier
        evaluationWindow {
          evaluationStartTime
          evaluationEndTime
        }
        sloSourceMetadata {
          apiTokenSecret
          scope {
            orgIdentifier
            accountIdentifier
            projectIdentifier
          }
        }
        comparator {
          type
          value
          criteria
        }
        verbosity
        insecureSkipVerify
      }
      recentExecutions {
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
      referencedBy
      isRemoved
      isEnabled
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListProbeRequest
}
Response
{
  "data": {
    "listProbes": {
      "totalNoOfProbes": 987,
      "probes": [Probe]
    }
  }
}

listRule

Response

Returns [RuleResponse]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListRuleRequest!

Example

Query
query ListRule(
  $identifiers: IdentifiersRequest!,
  $request: ListRuleRequest!
) {
  listRule(
    identifiers: $identifiers,
    request: $request
  ) {
    createdAt
    createdBy {
      userID
      username
      email
    }
    updatedAt
    updatedBy {
      userID
      username
      email
    }
    rule {
      name
      tags
      description
      isEnabled
      ruleId
      userGroupIds
      timeWindows {
        duration
        endTime
        startTime
        timeZone
        recurrence {
          type
          spec {
            until
            value
          }
        }
      }
      conditions {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListRuleRequest
}
Response
{
  "data": {
    "listRule": [
      {
        "createdAt": 123,
        "createdBy": UserDetails,
        "updatedAt": 123,
        "updatedBy": UserDetails,
        "rule": Rule,
        "identifiers": Identifiers
      }
    ]
  }
}

listWindowsInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListWindowsInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWindowsInfraRequest

Example

Query
query ListWindowsInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListWindowsInfraRequest
) {
  listWindowsInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      isActive
      isInfraConfirmed
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      hostname
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWindowsInfraRequest
}
Response
{
  "data": {
    "listWindowsInfras": {
      "totalNoOfInfras": 987,
      "infras": [WindowsInfra]
    }
  }
}

listWorkflow

Description

Returns the list of workflows based on various filter parameters

Response

Returns a ListWorkflowResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWorkflowRequest!

Example

Query
query ListWorkflow(
  $identifiers: IdentifiersRequest!,
  $request: ListWorkflowRequest!
) {
  listWorkflow(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfWorkflows
    workflows {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWorkflowRequest
}
Response
{
  "data": {
    "listWorkflow": {
      "totalNoOfWorkflows": 123,
      "workflows": [Workflow]
    }
  }
}

listWorkflowRun

Description

Returns the list of experiment run based on various filter parameters

Response

Returns a ListWorkflowRunResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWorkflowRunRequest!

Example

Query
query ListWorkflowRun(
  $identifiers: IdentifiersRequest!,
  $request: ListWorkflowRunRequest!
) {
  listWorkflowRun(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfWorkflowRuns
    workflowRuns {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowRunID
      workflowType
      workflowID
      weightages {
        experimentName
        weightage
      }
      updatedAt
      createdAt
      cronSyntax
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      workflowName
      workflowDescription
      workflowTags
      workflowManifest
      isCronEnabled
      probe {
        faultName
        probeName
      }
      phase
      resiliencyScore
      experimentsPassed
      experimentsFailed
      experimentsAwaited
      experimentsStopped
      experimentsNa
      totalExperiments
      executionData
      isRemoved
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
      notifyID
      errorResponse
      securityGovernance {
        name
        type
        startedAt
        finishedAt
        message
        phase
        securityGovernanceNodeData {
          passedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
          failedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
          skippedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
        }
      }
      runSequence
      experimentType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWorkflowRunRequest
}
Response
{
  "data": {
    "listWorkflowRun": {
      "totalNoOfWorkflowRuns": 123,
      "workflowRuns": [WorkflowRun]
    }
  }
}

validateExperimentManifest

Description

Validate Experiment Manifest

Response

Returns a Boolean!

Arguments
Name Description
manifest - String!
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query ValidateExperimentManifest(
  $manifest: String!,
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  validateExperimentManifest(
    manifest: $manifest,
    infraID: $infraID,
    identifiers: $identifiers
  )
}
Variables
{
  "manifest": "abc123",
  "infraID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"validateExperimentManifest": {}}}

validateProbe

Description

Validates if a probe is already present, returns true if unique

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!
checkIsRemoved - Boolean

Example

Query
query ValidateProbe(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!,
  $checkIsRemoved: Boolean
) {
  validateProbe(
    identifiers: $identifiers,
    probeName: $probeName,
    checkIsRemoved: $checkIsRemoved
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "probeName": 4,
  "checkIsRemoved": true
}
Response
{"data": {"validateProbe": {}}}

Mutations

addChaosHub

Description

Add a ChaosHub (includes the git clone operation)

Response

Returns a ChaosHub!

Arguments
Name Description
request - ChaosHubRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation AddChaosHub(
  $request: ChaosHubRequest!,
  $identifiers: IdentifiersRequest!
) {
  addChaosHub(
    request: $request,
    identifiers: $identifiers
  ) {
    id
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    repoName
    repoURL
    repoBranch
    AuthType
    connectorId
    connectorScope
    name
    createdAt
    updatedAt
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    description
  }
}
Variables
{
  "request": ChaosHubRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "addChaosHub": {
      "id": "4",
      "identifiers": Identifiers,
      "repoName": "xyz789",
      "repoURL": "xyz789",
      "repoBranch": "xyz789",
      "AuthType": "Ssh",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "name": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789",
      "lastSyncedAt": "abc123",
      "isDefault": false,
      "tags": ["xyz789"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "description": "xyz789"
    }
  }
}

addCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ConditionRequest!

Example

Query
mutation AddCondition(
  $identifiers: IdentifiersRequest!,
  $request: ConditionRequest!
) {
  addCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ConditionRequest
}
Response
{
  "data": {
    "addCondition": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

addProbe

Description

Creates a new Probe

Response

Returns a Probe!

Arguments
Name Description
request - ProbeRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation AddProbe(
  $request: ProbeRequest!,
  $identifiers: IdentifiersRequest!
) {
  addProbe(
    request: $request,
    identifiers: $identifiers
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    description
    tags
    type
    infrastructureType
    kubernetesHTTPProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    linuxHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      insecureSkipVerify
    }
    windowsHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    kubernetesCMDProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
      verbosity
    }
    linuxCMDProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
    }
    kubernetesDatadogProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
      metrics {
        datadogQuery
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      datadogCredentialsSecretName
      verbosity
    }
    linuxDatadogProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
    }
    k8sProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      group
      version
      resource
      namespace
      resourceNames
      fieldSelector
      labelSelector
      operation
      verbosity
    }
    kubernetesDynatraceProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      apiTokenSecretName
      comparator {
        type
        value
        criteria
      }
      verbosity
    }
    linuxDynatraceProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      comparator {
        type
        value
        criteria
      }
    }
    promProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      query
      queryPath
      comparator {
        type
        value
        criteria
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
    }
    sloProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      evaluationTimeout
      stopOnFailure
      platformEndpoint
      sloIdentifier
      evaluationWindow {
        evaluationStartTime
        evaluationEndTime
      }
      sloSourceMetadata {
        apiTokenSecret
        scope {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
      }
      comparator {
        type
        value
        criteria
      }
      verbosity
      insecureSkipVerify
    }
    recentExecutions {
      faultName
      status {
        verdict
        description
      }
      executedByExperiment {
        experimentID
        experimentName
        experimentType
        updatedAt
        updatedBy {
          userID
          username
          email
        }
      }
    }
    referencedBy
    isRemoved
    isEnabled
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
  }
}
Variables
{
  "request": ProbeRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "addProbe": {
      "identifiers": Identifiers,
      "name": "xyz789",
      "description": "abc123",
      "tags": ["abc123"],
      "type": "httpProbe",
      "infrastructureType": "Kubernetes",
      "kubernetesHTTPProperties": KubernetesHTTPProbe,
      "linuxHTTPProperties": LinuxHTTPProbe,
      "windowsHTTPProperties": WindowsHTTPProbe,
      "kubernetesCMDProperties": KubernetesCMDProbe,
      "linuxCMDProperties": LinuxCMDProbe,
      "kubernetesDatadogProperties": KubernetesDatadogProbe,
      "linuxDatadogProperties": LinuxDatadogProbe,
      "k8sProperties": K8SProbe,
      "kubernetesDynatraceProperties": KubernetesDynatraceProbe,
      "linuxDynatraceProperties": LinuxDynatraceProbe,
      "promProperties": PROMProbe,
      "sloProperties": SLOProbe,
      "recentExecutions": [ProbeRecentExecutions],
      "referencedBy": 123,
      "isRemoved": true,
      "isEnabled": true,
      "updatedAt": "abc123",
      "createdAt": "abc123",
      "updatedBy": UserDetails,
      "createdBy": UserDetails
    }
  }
}

addRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RuleInput!

Example

Query
mutation AddRule(
  $identifiers: IdentifiersRequest!,
  $request: RuleInput!
) {
  addRule(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RuleInput
}
Response
{
  "data": {
    "addRule": {
      "message": "abc123",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

createChaosWorkFlow

Description

Creates a new workflow and applies its manifest

Response

Returns a ChaosWorkFlowResponse!

Arguments
Name Description
request - ChaosWorkFlowRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation CreateChaosWorkFlow(
  $request: ChaosWorkFlowRequest!,
  $identifiers: IdentifiersRequest!
) {
  createChaosWorkFlow(
    request: $request,
    identifiers: $identifiers
  ) {
    workflowID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    cronSyntax
    workflowName
    workflowDescription
    isCustomWorkflow
    tags
  }
}
Variables
{
  "request": ChaosWorkFlowRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "createChaosWorkFlow": {
      "workflowID": "abc123",
      "identifiers": Identifiers,
      "cronSyntax": "xyz789",
      "workflowName": "xyz789",
      "workflowDescription": "xyz789",
      "isCustomWorkflow": false,
      "tags": ["abc123"]
    }
  }
}

createGameDay

Response

Returns a GameDay!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CreateGameDayRequest!

Example

Query
mutation CreateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: CreateGameDayRequest!
) {
  createGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
    }
    objective
    description
    createdBy
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CreateGameDayRequest
}
Response
{
  "data": {
    "createGameDay": {
      "gameDayID": 4,
      "identifiers": Identifiers,
      "name": "abc123",
      "experiments": [ExperimentResponse],
      "objective": "xyz789",
      "description": "xyz789",
      "createdBy": "abc123",
      "createdAt": "xyz789",
      "updatedAt": "xyz789",
      "summary": GameDaySummary,
      "isRemoved": true
    }
  }
}

createGameDayRun

Response

Returns a GameDayRunResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CreateGameDayRunRequest!

Example

Query
mutation CreateGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: CreateGameDayRunRequest!
) {
  createGameDayRun(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CreateGameDayRunRequest
}
Response
{
  "data": {
    "createGameDayRun": {
      "gameDayRunID": "xyz789",
      "name": "xyz789",
      "gameDayID": "abc123",
      "identifiers": Identifiers,
      "experiments": [GameDayRunExperiments],
      "startTime": "abc123",
      "endTime": "xyz789",
      "notes": "xyz789",
      "summary": GameDaySummary,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "completed": false
    }
  }
}

createImageRegistry

Response

Returns an ImageRegistryResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ImageRegistryRequest!

Example

Query
mutation CreateImageRegistry(
  $identifiers: IdentifiersRequest!,
  $request: ImageRegistryRequest!
) {
  createImageRegistry(
    identifiers: $identifiers,
    request: $request
  ) {
    identifier {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    registryServer
    registryAccount
    isPrivate
    secretName
    isDefault
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ImageRegistryRequest
}
Response
{
  "data": {
    "createImageRegistry": {
      "identifier": Identifiers,
      "registryServer": "xyz789",
      "registryAccount": "xyz789",
      "isPrivate": false,
      "secretName": "xyz789",
      "isDefault": true,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "abc123",
      "updatedAt": "abc123"
    }
  }
}

deleteChaosHub

Description

Delete the ChaosHub

Response

Returns a Boolean!

Arguments
Name Description
id - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteChaosHub(
  $id: ID!,
  $identifiers: IdentifiersRequest!
) {
  deleteChaosHub(
    id: $id,
    identifiers: $identifiers
  )
}
Variables
{
  "id": "4",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosHub": {}}}

deleteChaosWorkflow

Description

Removes a workflow from infra

Response

Returns a Boolean!

Arguments
Name Description
workflowID - String!
workflowRunID - String
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteChaosWorkflow(
  $workflowID: String!,
  $workflowRunID: String,
  $identifiers: IdentifiersRequest!
) {
  deleteChaosWorkflow(
    workflowID: $workflowID,
    workflowRunID: $workflowRunID,
    identifiers: $identifiers
  )
}
Variables
{
  "workflowID": "xyz789",
  "workflowRunID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosWorkflow": {}}}

deleteCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
conditionId - String!

Example

Query
mutation DeleteCondition(
  $identifiers: IdentifiersRequest!,
  $conditionId: String!
) {
  deleteCondition(
    identifiers: $identifiers,
    conditionId: $conditionId
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "conditionId": "abc123"
}
Response
{
  "data": {
    "deleteCondition": {
      "message": "xyz789",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

deleteGameDay

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - DeleteGameDayRequest!

Example

Query
mutation DeleteGameDay(
  $identifiers: IdentifiersRequest!,
  $request: DeleteGameDayRequest!
) {
  deleteGameDay(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": DeleteGameDayRequest
}
Response
{"data": {"deleteGameDay": {}}}

deleteInfra

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!
forceDelete - Boolean!

Example

Query
mutation DeleteInfra(
  $identifiers: IdentifiersRequest!,
  $infraID: String!,
  $forceDelete: Boolean!
) {
  deleteInfra(
    identifiers: $identifiers,
    infraID: $infraID,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789",
  "forceDelete": false
}
Response
{"data": {"deleteInfra": {}}}

deleteLinuxInfras

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String]!
forceDelete - Boolean

Example

Query
mutation DeleteLinuxInfras(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String]!,
  $forceDelete: Boolean
) {
  deleteLinuxInfras(
    identifiers: $identifiers,
    infraIDs: $infraIDs,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"],
  "forceDelete": true
}
Response
{"data": {"deleteLinuxInfras": {}}}

deleteProbe

Description

Hard delete a Probe

Response

Returns a Boolean!

Arguments
Name Description
probeName - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteProbe(
  $probeName: ID!,
  $identifiers: IdentifiersRequest!
) {
  deleteProbe(
    probeName: $probeName,
    identifiers: $identifiers
  )
}
Variables
{"probeName": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"deleteProbe": {}}}

deleteRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!

Example

Query
mutation DeleteRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!
) {
  deleteRule(
    identifiers: $identifiers,
    ruleId: $ruleId
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "xyz789"
}
Response
{
  "data": {
    "deleteRule": {
      "message": "xyz789",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

deleteWindowsInfras

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String]!
forceDelete - Boolean

Example

Query
mutation DeleteWindowsInfras(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String]!,
  $forceDelete: Boolean
) {
  deleteWindowsInfras(
    identifiers: $identifiers,
    infraIDs: $infraIDs,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"],
  "forceDelete": true
}
Response
{"data": {"deleteWindowsInfras": {}}}

duplicateGameDay

Response

Returns a GameDay!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - DuplicateGameDayRequest!

Example

Query
mutation DuplicateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: DuplicateGameDayRequest!
) {
  duplicateGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
    }
    objective
    description
    createdBy
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": DuplicateGameDayRequest
}
Response
{
  "data": {
    "duplicateGameDay": {
      "gameDayID": "4",
      "identifiers": Identifiers,
      "name": "abc123",
      "experiments": [ExperimentResponse],
      "objective": "abc123",
      "description": "xyz789",
      "createdBy": "abc123",
      "createdAt": "xyz789",
      "updatedAt": "abc123",
      "summary": GameDaySummary,
      "isRemoved": false
    }
  }
}

pushWorkflowToChaosHub

Description

Push workflow to ChaosHub

Response

Returns a String!

Arguments
Name Description
request - PushWorkflowToChaosHubInput!
identifiers - IdentifiersRequest!

Example

Query
mutation PushWorkflowToChaosHub(
  $request: PushWorkflowToChaosHubInput!,
  $identifiers: IdentifiersRequest!
) {
  pushWorkflowToChaosHub(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": PushWorkflowToChaosHubInput,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"pushWorkflowToChaosHub": {}}}

registerInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterInfraRequest!

Example

Query
mutation RegisterInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterInfraRequest!
) {
  registerInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    token
    infraID
    name
    manifest
    taskID
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterInfraRequest
}
Response
{
  "data": {
    "registerInfra": {
      "token": "abc123",
      "infraID": "abc123",
      "name": "abc123",
      "manifest": "abc123",
      "taskID": "xyz789"
    }
  }
}

registerLinuxInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterLinuxInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterLinuxInfraRequest!

Example

Query
mutation RegisterLinuxInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterLinuxInfraRequest!
) {
  registerLinuxInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    infraID
    name
    accessKey
    serverURL
    version
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterLinuxInfraRequest
}
Response
{
  "data": {
    "registerLinuxInfra": {
      "infraID": "abc123",
      "name": "abc123",
      "accessKey": "abc123",
      "serverURL": "abc123",
      "version": "xyz789"
    }
  }
}

registerWindowsInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterWindowsInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterWindowsInfraRequest!

Example

Query
mutation RegisterWindowsInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterWindowsInfraRequest!
) {
  registerWindowsInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    infraID
    name
    accessKey
    serverURL
    version
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterWindowsInfraRequest
}
Response
{
  "data": {
    "registerWindowsInfra": {
      "infraID": "xyz789",
      "name": "xyz789",
      "accessKey": "xyz789",
      "serverURL": "abc123",
      "version": "xyz789"
    }
  }
}

runChaosExperiment

Description

Run the chaos experiment (used by frontend)

Response

Returns a RunChaosExperimentResponse!

Arguments
Name Description
workflowID - String!
identifiers - IdentifiersRequest!

Example

Query
mutation RunChaosExperiment(
  $workflowID: String!,
  $identifiers: IdentifiersRequest!
) {
  runChaosExperiment(
    workflowID: $workflowID,
    identifiers: $identifiers
  ) {
    notifyID
  }
}
Variables
{
  "workflowID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "runChaosExperiment": {"notifyID": "4"}
  }
}

runPipelineExperiment

Description

Run the Pipeline experiment (used by CD pipeline)

Response

Returns a RunChaosExperimentResponse!

Arguments
Name Description
workflowID - String!
identifiers - IdentifiersRequest!
metaData - RunPipelineExperimentMetaData!

Example

Query
mutation RunPipelineExperiment(
  $workflowID: String!,
  $identifiers: IdentifiersRequest!,
  $metaData: RunPipelineExperimentMetaData!
) {
  runPipelineExperiment(
    workflowID: $workflowID,
    identifiers: $identifiers,
    metaData: $metaData
  ) {
    notifyID
  }
}
Variables
{
  "workflowID": "xyz789",
  "identifiers": IdentifiersRequest,
  "metaData": RunPipelineExperimentMetaData
}
Response
{
  "data": {
    "runPipelineExperiment": {
      "notifyID": "4"
    }
  }
}

saveChaosExperiment

Description

Saves a new experiment or updates if already exists

Response

Returns a String!

Arguments
Name Description
request - ChaosExperimentRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation SaveChaosExperiment(
  $request: ChaosExperimentRequest!,
  $identifiers: IdentifiersRequest!
) {
  saveChaosExperiment(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": ChaosExperimentRequest,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"saveChaosExperiment": {}}}

stopGameDayRun

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - StopGameDayRunRequest

Example

Query
mutation StopGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: StopGameDayRunRequest
) {
  stopGameDayRun(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": StopGameDayRunRequest
}
Response
{"data": {"stopGameDayRun": {}}}

stopWorkflowRuns

Description

stopWorkflow will halt all the running runs of a particular workflow

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
workflowID - String!
workflowRunID - String
notifyID - String
infraType - InfrastructureType

Example

Query
mutation StopWorkflowRuns(
  $identifiers: IdentifiersRequest!,
  $workflowID: String!,
  $workflowRunID: String,
  $notifyID: String,
  $infraType: InfrastructureType
) {
  stopWorkflowRuns(
    identifiers: $identifiers,
    workflowID: $workflowID,
    workflowRunID: $workflowRunID,
    notifyID: $notifyID,
    infraType: $infraType
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "workflowID": "abc123",
  "workflowRunID": "xyz789",
  "notifyID": "abc123",
  "infraType": "Kubernetes"
}
Response
{"data": {"stopWorkflowRuns": {}}}

syncChaosHub

Description

Sync changes from the Git repository of a ChaosHub

Response

Returns a String!

Arguments
Name Description
id - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation SyncChaosHub(
  $id: ID!,
  $identifiers: IdentifiersRequest!
) {
  syncChaosHub(
    id: $id,
    identifiers: $identifiers
  )
}
Variables
{"id": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"syncChaosHub": {}}}

testKubernetesInfraConnection

Description

Send heartbeat task to the k8s infra subscriber

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraId - String!

Example

Query
mutation TestKubernetesInfraConnection(
  $identifiers: IdentifiersRequest!,
  $infraId: String!
) {
  testKubernetesInfraConnection(
    identifiers: $identifiers,
    infraId: $infraId
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraId": "abc123"
}
Response
{"data": {"testKubernetesInfraConnection": {}}}

tuneRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!
enable - Boolean!

Example

Query
mutation TuneRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!,
  $enable: Boolean!
) {
  tuneRule(
    identifiers: $identifiers,
    ruleId: $ruleId,
    enable: $enable
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "abc123",
  "enable": true
}
Response
{
  "data": {
    "tuneRule": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

updateChaosHub

Description

Update the configuration of a ChaosHub

Response

Returns a ChaosHub!

Arguments
Name Description
id - ID!
request - ChaosHubRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateChaosHub(
  $id: ID!,
  $request: ChaosHubRequest!,
  $identifiers: IdentifiersRequest!
) {
  updateChaosHub(
    id: $id,
    request: $request,
    identifiers: $identifiers
  ) {
    id
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    repoName
    repoURL
    repoBranch
    AuthType
    connectorId
    connectorScope
    name
    createdAt
    updatedAt
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    description
  }
}
Variables
{
  "id": 4,
  "request": ChaosHubRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "updateChaosHub": {
      "id": 4,
      "identifiers": Identifiers,
      "repoName": "xyz789",
      "repoURL": "abc123",
      "repoBranch": "abc123",
      "AuthType": "Ssh",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "name": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789",
      "lastSyncedAt": "xyz789",
      "isDefault": true,
      "tags": ["xyz789"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "description": "xyz789"
    }
  }
}

updateChaosWorkflow

Description

Updates the workflow

Response

Returns a ChaosWorkFlowResponse!

Arguments
Name Description
request - ChaosWorkFlowRequest
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateChaosWorkflow(
  $request: ChaosWorkFlowRequest,
  $identifiers: IdentifiersRequest!
) {
  updateChaosWorkflow(
    request: $request,
    identifiers: $identifiers
  ) {
    workflowID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    cronSyntax
    workflowName
    workflowDescription
    isCustomWorkflow
    tags
  }
}
Variables
{
  "request": ChaosWorkFlowRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "updateChaosWorkflow": {
      "workflowID": "abc123",
      "identifiers": Identifiers,
      "cronSyntax": "abc123",
      "workflowName": "abc123",
      "workflowDescription": "xyz789",
      "isCustomWorkflow": true,
      "tags": ["xyz789"]
    }
  }
}

updateCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ConditionRequest!

Example

Query
mutation UpdateCondition(
  $identifiers: IdentifiersRequest!,
  $request: ConditionRequest!
) {
  updateCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ConditionRequest
}
Response
{
  "data": {
    "updateCondition": {
      "message": "abc123",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

updateCronExperimentState

Description

Enable/Disable cron experiment state, it returns a list of successful and failed experiment IDs

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateCronExperimentStateRequest!

Example

Query
mutation UpdateCronExperimentState(
  $identifiers: IdentifiersRequest!,
  $request: UpdateCronExperimentStateRequest!
) {
  updateCronExperimentState(
    identifiers: $identifiers,
    request: $request
  ) {
    successIDs
    failedIDs
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateCronExperimentStateRequest
}
Response
{
  "data": {
    "updateCronExperimentState": {
      "successIDs": ["xyz789"],
      "failedIDs": ["abc123"]
    }
  }
}

updateExperimentNotes

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateExperimentNotesRequest

Example

Query
mutation UpdateExperimentNotes(
  $identifiers: IdentifiersRequest!,
  $request: UpdateExperimentNotesRequest
) {
  updateExperimentNotes(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateExperimentNotesRequest
}
Response
{"data": {"updateExperimentNotes": {}}}

updateGameDay

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayRequest!

Example

Query
mutation UpdateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayRequest!
) {
  updateGameDay(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayRequest
}
Response
{"data": {"updateGameDay": {}}}

updateGameDayExperiments

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayExperimentsRequest!

Example

Query
mutation UpdateGameDayExperiments(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayExperimentsRequest!
) {
  updateGameDayExperiments(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayExperimentsRequest
}
Response
{"data": {"updateGameDayExperiments": {}}}

updateGameDayRun

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayRunRequest!

Example

Query
mutation UpdateGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayRunRequest!
) {
  updateGameDayRun(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayRunRequest
}
Response
{"data": {"updateGameDayRun": {}}}

updateImageRegistry

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ImageRegistryRequest!

Example

Query
mutation UpdateImageRegistry(
  $identifiers: IdentifiersRequest!,
  $request: ImageRegistryRequest!
) {
  updateImageRegistry(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ImageRegistryRequest
}
Response
{"data": {"updateImageRegistry": {}}}

updateK8sInfra

Description

Updates the details of a given infrastructure in the dB

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateInfraRequest!

Example

Query
mutation UpdateK8sInfra(
  $identifiers: IdentifiersRequest!,
  $request: UpdateInfraRequest!
) {
  updateK8sInfra(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateInfraRequest
}
Response
{"data": {"updateK8sInfra": {}}}

updateProbe

Description

Update the configuration of a Probe

Response

Returns a String!

Arguments
Name Description
request - ProbeRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateProbe(
  $request: ProbeRequest!,
  $identifiers: IdentifiersRequest!
) {
  updateProbe(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": ProbeRequest,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"updateProbe": {}}}

updateRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RuleInput!

Example

Query
mutation UpdateRule(
  $identifiers: IdentifiersRequest!,
  $request: RuleInput!
) {
  updateRule(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RuleInput
}
Response
{
  "data": {
    "updateRule": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

updateSummary

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateSummaryRequest!

Example

Query
mutation UpdateSummary(
  $identifiers: IdentifiersRequest!,
  $request: UpdateSummaryRequest!
) {
  updateSummary(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateSummaryRequest
}
Response
{"data": {"updateSummary": {}}}

upgradeK8sInfra

Description

Launches an on-demand upgrade job to bring the infra up to the latest version

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraId - String!

Example

Query
mutation UpgradeK8sInfra(
  $identifiers: IdentifiersRequest!,
  $infraId: String!
) {
  upgradeK8sInfra(
    identifiers: $identifiers,
    infraId: $infraId
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraId": "xyz789"
}
Response
{"data": {"upgradeK8sInfra": {}}}

Types

ActionItemRequest

Fields
Input Field Description
item - String!
isDone - Boolean!
Example
{}

ActionItems

Fields
Field Name Description
item - String!
isDone - Boolean!
Example
{"item": "abc123", "isDone": true}

Annotation

Fields
Field Name Description
categories - String!
vendor - String!
createdAt - String!
repository - String!
support - String!
chartDescription - String!
Example
{
  "categories": "xyz789",
  "vendor": "abc123",
  "createdAt": "xyz789",
  "repository": "xyz789",
  "support": "xyz789",
  "chartDescription": "abc123"
}

ApplicationSpec

Fields
Field Name Description
operator - Operator!
workloads - [Workload!]!
Example
{"operator": "EQUAL_TO", "workloads": [Workload]}

ApplicationSpecInput

Fields
Input Field Description
operator - Operator!
workloads - [WorkloadInput!]!
Example
{}

Audit

Example
{
  "updatedAt": "abc123",
  "createdAt": "abc123",
  "updatedBy": UserDetails,
  "createdBy": UserDetails
}

AuditV2

Fields
Field Name Description
updatedAt - Int
createdAt - Int
updatedBy - UserDetails
createdBy - UserDetails
Possible Types
AuditV2 Types

ConditionResponse

RuleResponse

Example
{
  "updatedAt": 123,
  "createdAt": 123,
  "updatedBy": UserDetails,
  "createdBy": UserDetails
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
{}

ChaosExperimentRequest

Description

Defines the details for a chaos experiment

Fields
Input Field Description
id - String! ID of the experiment
name - String! Name of the experiment
description - String Description of the experiment
manifest - String! Manifest of the experiment
eventsMetadata - [EventMetadataInput!] Array containing service identifier and environment identifier for SRM change source events
infraID - ID! ID of the target infrastructure in which the experiment will run
tags - [String!] Tags of the infrastructure
infraType - InfrastructureType Type of the infrastructure
validateManifest - Boolean Validate the experiment manifest
cronSyntax - String Cron syntax of the workflow schedule
Example
{}

ChaosHub

Fields
Field Name Description
id - ID! ID of the chaos hub
identifiers - Identifiers! Harness identifiers
repoName - String Name of the repository if connector is of Account type
repoURL - String! URL of the git repository
repoBranch - String! Branch of the git repository
AuthType - ChaosHubAuthType! AuthType
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
name - String! Name of the chaos hub
createdAt - String! Timestamp when the chaos hub was created
updatedAt - String! Timestamp when the chaos hub was last updated
lastSyncedAt - String! Timestamp when the chaos hub was last synced
isDefault - Boolean! Default Hub Identifier
tags - [String!] Tags of the ChaosHub
createdBy - UserDetails User who created the ChaosHub
updatedBy - UserDetails User who has updated the ChaosHub
description - String Description of ChaosHub
Example
{
  "id": "4",
  "identifiers": Identifiers,
  "repoName": "abc123",
  "repoURL": "xyz789",
  "repoBranch": "abc123",
  "AuthType": "Ssh",
  "connectorId": "xyz789",
  "connectorScope": "ACCOUNT",
  "name": "abc123",
  "createdAt": "abc123",
  "updatedAt": "xyz789",
  "lastSyncedAt": "abc123",
  "isDefault": false,
  "tags": ["abc123"],
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "description": "xyz789"
}

ChaosHubAuthType

Values
Enum Value Description

Ssh

UsernameToken

Example
{}

ChaosHubFilterInput

Description

Defines filter options for ChaosHub

Fields
Input Field Description
chaosHubName - String Name of the ChaosHub
tags - [String!] Tags of a chaos hub
description - String Description of a chaos hub
Example
{}

ChaosHubRequest

Description

Defines the details required for creating a chaos hub

Fields
Input Field Description
hubName - String! Name of the chaos hub
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
repoName - String Repo name of the git repository
repoBranch - String! Branch of the git repository
tags - [String!] Tags of the ChaosHub
description - String Description of ChaosHub
Example
{}

ChaosHubStatus

Fields
Field Name Description
id - ID! ID of the hub
repoName - String Name of the repository if connector is of Account type
repoURL - String! URL of the git repository
repoBranch - String! Branch of the git repository
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
AuthType - ChaosHubAuthType! AuthType
isAvailable - Boolean! Bool value indicating whether the hub is available or not.
totalFaults - Int! Total number of experiments in the hub
totalExperiments - Int! Total workflows
name - String! Name of the chaos hub
lastSyncedAt - String! Timestamp when the chaos hub was last synced
isDefault - Boolean! Default Hub Identifier
tags - [String!] Tags of the ChaosHub
createdBy - UserDetails User who created the ChaosHub
updatedBy - UserDetails User who has updated the ChaosHub
createdAt - String! Created at timestamp
updatedAt - String! Updated at timestamp
description - String Description of ChaosHub
Example
{
  "id": 4,
  "repoName": "xyz789",
  "repoURL": "abc123",
  "repoBranch": "xyz789",
  "connectorId": "xyz789",
  "connectorScope": "ACCOUNT",
  "AuthType": "Ssh",
  "isAvailable": false,
  "totalFaults": 987,
  "totalExperiments": 123,
  "name": "abc123",
  "lastSyncedAt": "xyz789",
  "isDefault": true,
  "tags": ["xyz789"],
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "xyz789",
  "updatedAt": "xyz789",
  "description": "abc123"
}

ChaosServiceAccountSpec

Fields
Field Name Description
operator - Operator!
serviceAccounts - [String!]!
Example
{
  "operator": "EQUAL_TO",
  "serviceAccounts": ["xyz789"]
}

ChaosServiceAccountSpecInput

Fields
Input Field Description
operator - Operator!
serviceAccounts - [String!]!
Example
{}

ChaosWorkFlowRequest

Description

Defines the details for a chaos workflow

Fields
Input Field Description
workflowID - String ID of the workflow
runExperiment - Boolean Boolean check indicating if the created scenario will be executed or not
workflowManifest - String! Manifest of the workflow
workflowType - WorkflowType Type of the workflow
cronSyntax - String! Cron syntax of the workflow schedule
workflowName - String! Name of the workflow
workflowDescription - String! Description of the workflow
weightages - [WeightagesInput!]! Array containing weightage and name of each chaos experiment in the workflow
eventsMetadata - [EventMetadataInput!] Array containing service identifier and environment identifier for SRM change source events
isCustomWorkflow - Boolean! Bool value indicating whether the workflow is a custom workflow or not
infraID - ID! ID of the target infra in which the workflow will run
tags - [String!] Tags of the infra
infraType - InfrastructureType Type of the infra
Example
{}

ChaosWorkFlowResponse

Description

Defines the response received for querying the details of chaos workflow

Fields
Field Name Description
workflowID - String! ID of the workflow
identifiers - Identifiers! Harness Identifiers
cronSyntax - String! Cron syntax of the workflow schedule
workflowName - String! Name of the workflow
workflowDescription - String! Description of the workflow
isCustomWorkflow - Boolean! Bool value indicating whether the workflow is a custom workflow or not
tags - [String!] Tags of the infra
Example
{
  "workflowID": "xyz789",
  "identifiers": Identifiers,
  "cronSyntax": "abc123",
  "workflowName": "abc123",
  "workflowDescription": "xyz789",
  "isCustomWorkflow": true,
  "tags": ["xyz789"]
}

Chart

Fields
Field Name Description
apiVersion - String!
kind - String!
metadata - Metadata!
spec - Spec!
packageInfo - PackageInformation!
Example
{
  "apiVersion": "xyz789",
  "kind": "xyz789",
  "metadata": Metadata,
  "spec": Spec,
  "packageInfo": PackageInformation
}

CheckResourceIDRequest

Fields
Input Field Description
resourceName - ResourceType!
ID - ID!
Example
{}

ClusterType

Values
Enum Value Description

KUBERNETES

OPENSHIFT

HELM

Example
{}

CommonProbeProperties

Description

Defines the common probe properties shared across different ProbeTypes

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "xyz789",
  "interval": "abc123",
  "retry": 123,
  "attempt": 987,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": false,
  "verbosity": "xyz789"
}

Comparator

Description

Defines the properties of the comparator

Fields
Field Name Description
type - String! Type of the Comparator
value - String! Value of the Comparator
criteria - String! Operator of the Comparator
Example
{
  "type": "abc123",
  "value": "abc123",
  "criteria": "abc123"
}

ComparatorInput

Description

Defines the input properties of the comparator

Fields
Input Field Description
type - String! Type of the Comparator
value - String! Value of the Comparator
criteria - String! Operator of the Comparator
Example
{}

Condition

Fields
Field Name Description
name - String!
description - String
tags - [String!]
conditionId - String!
faultSpec - FaultSpec!
k8sSpec - K8sSpec!
rules - [ConditionRule]
Example
{
  "name": "abc123",
  "description": "abc123",
  "tags": ["xyz789"],
  "conditionId": "xyz789",
  "faultSpec": FaultSpec,
  "k8sSpec": K8sSpec,
  "rules": [ConditionRule]
}

ConditionDetails

Fields
Field Name Description
conditionId - String
conditionName - String
message - String
phase - SecurityGovernancePhase
Example
{
  "conditionId": "xyz789",
  "conditionName": "abc123",
  "message": "xyz789",
  "phase": "Passed"
}

ConditionFilterInput

Fields
Input Field Description
name - String
description - String
tags - [String]
Example
{}

ConditionRequest

Fields
Input Field Description
conditionId - String!
description - String
name - String!
tags - [String]
faultSpec - FaultSpecInput!
k8sSpec - K8sSpecInput!
Example
{}

ConditionResponse

Fields
Field Name Description
updatedAt - Int!
createdAt - Int!
updatedBy - UserDetails!
createdBy - UserDetails!
identifiers - Identifiers!
condition - Condition!
Example
{
  "updatedAt": 987,
  "createdAt": 123,
  "updatedBy": UserDetails,
  "createdBy": UserDetails,
  "identifiers": Identifiers,
  "condition": Condition
}

ConditionRule

Fields
Field Name Description
ruleId - String!
name - String!
Example
{
  "ruleId": "abc123",
  "name": "xyz789"
}

ConnectorScope

Values
Enum Value Description

ACCOUNT

PROJECT

ORGANISATION

Example
{}

CreateGameDayRequest

Fields
Input Field Description
ID - String!
name - String!
experiments - [NonCronExperiment!]!
objective - String
description - String
Example
{}

CreateGameDayRunRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

DatadogMetrics

Description

Raw metrics details of the datadog probe

Fields
Field Name Description
datadogQuery - String! Query to get Datadog metrics
timeFrame - String! Timeframe of the metric
comparator - Comparator! Comparator check for the correctness of the probe output
Example
{
  "datadogQuery": "xyz789",
  "timeFrame": "xyz789",
  "comparator": Comparator
}

DatadogMetricsInput

Description

Defines the input for Raw metrics details of the datadog probe

Fields
Input Field Description
datadogQuery - String! Query to get Datadog metrics
timeFrame - String! Timeframe of the metric
comparator - ComparatorInput! Comparator check for the correctness of the probe output
Example
{}

DatadogSyntheticsTestType

Values
Enum Value Description

api

browser

Example
{}

DateRange

Description

Defines the start date and end date for the filtering the data

Fields
Input Field Description
startDate - String! Start date
endDate - String End date
Example
{}

DeleteGameDayRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

DuplicateGameDayRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

EvaluationWindow

Description

EvaluationWindow is the time period for which the SLO probe will work

Fields
Field Name Description
evaluationStartTime - Int Start time of evaluation
evaluationEndTime - Int End time of evaluation
Example
{"evaluationStartTime": 987, "evaluationEndTime": 123}

EvaluationWindowInput

Description

Defines the input properties of EvaluationWindow

Fields
Input Field Description
evaluationStartTime - Int Start time of evaluation
evaluationEndTime - Int End time of evaluation
Example
{}

EventMetadata

Fields
Field Name Description
faultName - String!
serviceIdentifier - [String!]!
environmentIdentifier - [String!]!
Example
{
  "faultName": "xyz789",
  "serviceIdentifier": ["abc123"],
  "environmentIdentifier": ["abc123"]
}

EventMetadataInput

Fields
Input Field Description
faultName - String!
serviceIdentifier - [String!]!
environmentIdentifier - [String!]!
Example
{}

ExecutedByExperiment

Description

Defines the Executed by which experiment details for Probes

Fields
Field Name Description
experimentID - String! Experiment ID
experimentName - String! Experiment Name
experimentType - ScenarioType! Type of the experiment i.e. CRON, NON_CRON or Gameday
updatedAt - Int! Timestamp at which the experiment was last updated
updatedBy - UserDetails User who has updated the experiment
Example
{
  "experimentID": "abc123",
  "experimentName": "xyz789",
  "experimentType": "CRON",
  "updatedAt": 987,
  "updatedBy": UserDetails
}

ExecutionHistory

Description

Defines the Execution History of experiment referenced by the Probe

Fields
Field Name Description
mode - Mode! Probe Mode
faultName - String! Fault Name
status - Status! Fault Status
executedByExperiment - ExecutedByExperiment! Fault executed by which experiment
Example
{
  "mode": "SOT",
  "faultName": "abc123",
  "status": Status,
  "executedByExperiment": ExecutedByExperiment
}

ExecutionPlane

Values
Enum Value Description

LINUX

KUBERNETES

KUBERNETESV2

WINDOWS

Example
{}

ExperimentInfoInput

Fields
Input Field Description
name - String!
description - String!
Example
{}

ExperimentRequest

Fields
Input Field Description
category - String! Name of the chart being used
experimentName - String! Name of the experiment
hubID - String! Name of the hub
Example
{}

ExperimentResponse

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfraID - String!
hubID - String!
Example
{
  "experimentID": "abc123",
  "experimentTemplateName": "xyz789",
  "chaosInfraID": "xyz789",
  "hubID": "abc123"
}

ExperimentRunReport

Description

Defines the details of a experiment run report

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
workflowRunID - ID! ID of the workflow run which is to be queried
workflowType - String Type of the workflow
workflowID - ID! ID of the workflow
weightages - [Weightages!]! Array containing weightage and name of each chaos experiment in the workflow
updatedAt - String! Timestamp at which workflow run was last updated
createdAt - String! Timestamp at which workflow run was created
cronSyntax - String! Cron syntax of the workflow schedule
infra - [Infrastructure]! Target infra in which the workflow will run
workflowName - String! Name of the workflow
workflowDescription - String Description of the workflow
workflowTags - [String] Tag of the workflow
workflowManifest - String! Manifest of the workflow run
isCronEnabled - Boolean If cron is enabled or disabled
probe - [ProbeMap!]! Probe object containing reference of probeIDs
phase - WorkflowRunStatus! Phase of the workflow run
resiliencyScore - Float Resiliency score of the workflow
experimentsPassed - Int Number of experiments passed
experimentsFailed - Int Number of experiments failed
experimentsAwaited - Int Number of experiments awaited
experimentsStopped - Int Number of experiments stopped
experimentsNa - Int Number of experiments which are not available
totalExperiments - Int Total number of experiments
executionData - String! Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments
isRemoved - Boolean Bool value indicating if the workflow run has removed
updatedBy - UserDetails User who has updated the workflow
createdBy - UserDetails User who has created the experiment run
notifyID - ID Notify ID of the experiment run
errorResponse - String Error Response is the reason why experiment failed to run
securityGovernance - SecurityGovernance Security Governance details of the workflow run
runSequence - Int! runSequence is the sequence number of experiment run
Example
{
  "identifiers": Identifiers,
  "workflowRunID": "4",
  "workflowType": "abc123",
  "workflowID": 4,
  "weightages": [Weightages],
  "updatedAt": "xyz789",
  "createdAt": "xyz789",
  "cronSyntax": "xyz789",
  "infra": [Infrastructure],
  "workflowName": "xyz789",
  "workflowDescription": "xyz789",
  "workflowTags": ["xyz789"],
  "workflowManifest": "abc123",
  "isCronEnabled": true,
  "probe": [ProbeMap],
  "phase": "All",
  "resiliencyScore": 123.45,
  "experimentsPassed": 123,
  "experimentsFailed": 987,
  "experimentsAwaited": 987,
  "experimentsStopped": 123,
  "experimentsNa": 123,
  "totalExperiments": 987,
  "executionData": "abc123",
  "isRemoved": false,
  "updatedBy": UserDetails,
  "createdBy": UserDetails,
  "notifyID": 4,
  "errorResponse": "abc123",
  "securityGovernance": SecurityGovernance,
  "runSequence": 123
}

Experiments

Fields
Field Name Description
name - String!
CSV - String!
desc - String!
Example
{
  "name": "xyz789",
  "CSV": "xyz789",
  "desc": "abc123"
}

Fault

Fields
Input Field Description
faultType - FaultType!
name - String!
Example
{}

FaultDetails

Description

Fault Detail consists of all the fault related details

Fields
Field Name Description
fault - String! fault consists of fault.yaml
engine - String! engine consists engine.yaml
csv - String! csv consists chartserviceversion.yaml
k8sSpec - String! k8sSpec
Example
{
  "fault": "xyz789",
  "engine": "xyz789",
  "csv": "abc123",
  "k8sSpec": "abc123"
}

FaultList

Fields
Field Name Description
name - String!
displayName - String!
description - String!
plan - [String!]
supportedVersion - [String!]
Example
{
  "name": "xyz789",
  "displayName": "abc123",
  "description": "xyz789",
  "plan": ["xyz789"],
  "supportedVersion": ["abc123"]
}

FaultResponse

Fields
Field Name Description
faultType - FaultType!
name - String!
Example
{
  "faultType": "FAULT_GROUP",
  "name": "abc123"
}

FaultSpec

Fields
Field Name Description
operator - Operator!
faults - [FaultResponse!]!
Example
{"operator": "EQUAL_TO", "faults": [FaultResponse]}

FaultSpecInput

Fields
Input Field Description
faults - [Fault!]!
operator - Operator!
Example
{}

FaultType

Values
Enum Value Description

FAULT_GROUP

FAULT

Example
{}

Float

Description

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

Example
{}

GET

Description

Details of GET request

Fields
Field Name Description
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{
  "criteria": "xyz789",
  "responseCode": "abc123",
  "responseBody": "abc123"
}

GETRequest

Description

Details for input of GET request

Fields
Input Field Description
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{}

GameDay

Fields
Field Name Description
gameDayID - ID
identifiers - Identifiers! Harness identifiers
name - String!
experiments - [ExperimentResponse!]!
objective - String
description - String
createdBy - String!
createdAt - String!
updatedAt - String!
summary - GameDaySummary
isRemoved - Boolean!
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "abc123",
  "experiments": [ExperimentResponse],
  "objective": "xyz789",
  "description": "abc123",
  "createdBy": "abc123",
  "createdAt": "abc123",
  "updatedAt": "abc123",
  "summary": GameDaySummary,
  "isRemoved": false
}

GameDayResponse

Fields
Field Name Description
gameDayID - ID!
identifiers - Identifiers! Harness identifiers
name - String!
tags - [String!]
experiments - [ExperimentResponse!]!
objective - String
description - String
createdBy - UserDetails
updatedBy - UserDetails
createdAt - String!
updatedAt - String!
summary - GameDaySummary
isRemoved - Boolean!
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "xyz789",
  "tags": ["abc123"],
  "experiments": [ExperimentResponse],
  "objective": "abc123",
  "description": "abc123",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "abc123",
  "updatedAt": "xyz789",
  "summary": GameDaySummary,
  "isRemoved": true
}

GameDayRunExperiments

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfraID - String!
hubID - String!
experimentRunIDs - [String]
experimentNotes - String
Example
{
  "experimentID": "xyz789",
  "experimentTemplateName": "xyz789",
  "chaosInfraID": "abc123",
  "hubID": "xyz789",
  "experimentRunIDs": ["xyz789"],
  "experimentNotes": "abc123"
}

GameDayRunResponse

Fields
Field Name Description
gameDayRunID - String!
name - String!
gameDayID - String!
identifiers - Identifiers! Harness identifiers
experiments - [GameDayRunExperiments!]
startTime - String
endTime - String
notes - String
summary - GameDaySummary!
createdBy - UserDetails
updatedBy - UserDetails
updatedAt - String
createdAt - String
completed - Boolean
Example
{
  "gameDayRunID": "xyz789",
  "name": "xyz789",
  "gameDayID": "abc123",
  "identifiers": Identifiers,
  "experiments": [GameDayRunExperiments],
  "startTime": "abc123",
  "endTime": "xyz789",
  "notes": "xyz789",
  "summary": GameDaySummary,
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "updatedAt": "xyz789",
  "createdAt": "abc123",
  "completed": true
}

GameDaySummary

Fields
Field Name Description
notes - String
qna - [QnAs!]
actionItem - [ActionItems!]
Example
{
  "notes": "abc123",
  "qna": [QnAs],
  "actionItem": [ActionItems]
}

GamedayFilterInput

Fields
Input Field Description
gamedayName - String
Example
{}

GamedayInfraDetails

Fields
Field Name Description
ID - ID!
type - String
name - String
environmentID - String
namespace - String
scope - INFRA_SCOPE
isActive - Boolean
Example
{
  "ID": "4",
  "type": "xyz789",
  "name": "xyz789",
  "environmentID": "xyz789",
  "namespace": "abc123",
  "scope": "namespace",
  "isActive": false
}

GamedaySortInput

Description

Defines sorting options for workflow runs

Fields
Input Field Description
field - GamedaySortingField! Field in which sorting will be done
ascending - Boolean Bool value indicating whether the sorting will be done in ascending order
Example
{}

GamedaySortingField

Values
Enum Value Description

NAME

TIME

Example
{}

GetExperimentResponse

Description

Defines the details for a given experiment with some additional data

Fields
Field Name Description
experimentDetails - Workflow! Details of experiment
averageResiliencyScore - Float Average resiliency score of the experiment
Example
{
  "experimentDetails": Workflow,
  "averageResiliencyScore": 123.45
}

GetGameDayResponse

Fields
Field Name Description
gameDayID - ID!
identifiers - Identifiers! Harness identifiers
name - String!
experiments - [GetGamedayExperimentResponse!]
objective - String
description - String
createdBy - UserDetails
createdAt - String
updatedAt - String
summary - GameDaySummary
isRemoved - Boolean
totalGamedayRuns - Int
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "abc123",
  "experiments": [GetGamedayExperimentResponse],
  "objective": "xyz789",
  "description": "xyz789",
  "createdBy": UserDetails,
  "createdAt": "xyz789",
  "updatedAt": "xyz789",
  "summary": GameDaySummary,
  "isRemoved": true,
  "totalGamedayRuns": 987
}

GetGamedayExperimentResponse

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfra - GamedayInfraDetails!
hubID - String!
experimentNotes - String
experimentCSV - String
experimentManifest - String
Example
{
  "experimentID": "abc123",
  "experimentTemplateName": "xyz789",
  "chaosInfra": GamedayInfraDetails,
  "hubID": "xyz789",
  "experimentNotes": "abc123",
  "experimentCSV": "xyz789",
  "experimentManifest": "xyz789"
}

GetInfraStatsResponse

Fields
Field Name Description
totalInfrastructures - Int! Total number of infrastructures
totalActiveInfrastructure - Int! Total number of active infrastructures
totalInactiveInfrastructures - Int! Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! Total number of non confirmed infrastructures
Example
{
  "totalInfrastructures": 987,
  "totalActiveInfrastructure": 123,
  "totalInactiveInfrastructures": 987,
  "totalConfirmedInfrastructure": 123,
  "totalNonConfirmedInfrastructures": 123
}

GetProbeReferenceResponse

Description

Defines the response of the Probe reference API

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
name - String! Name of the Probe
totalRuns - Int! Total Runs
recentExecutions - [RecentExecutions]! Recent Executions of the probe
Example
{
  "identifiers": Identifiers,
  "name": "xyz789",
  "totalRuns": 987,
  "recentExecutions": [RecentExecutions]
}

GetProbeYAMLRequest

Description

Defines the input requests for GetProbeYAML query

Fields
Input Field Description
probeName - ID! Probe name of the probe
mode - Mode! Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
Example
{}

GetProbesInExperimentRunResponse

Description

Defines the response for Get Probe In Experiment Run Query

Fields
Field Name Description
probe - Probe! Probe Object
mode - Mode! Mode of the probe
status - Status! Status of the Probe
Example
{
  "probe": Probe,
  "mode": "SOT",
  "status": Status
}

HTTPAuthorization

Description

Auth contains the authentication details for the HTTP probe

Fields
Field Name Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{
  "authType": "xyz789",
  "credentials": "abc123",
  "credentialsFile": "xyz789"
}

HTTPAuthorizationInput

Description

Defines the input for HTTP authentication details

Fields
Input Field Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{}

ID

Description

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
{}

INFRA_SCOPE

Values
Enum Value Description

namespace

cluster

Example
{}

Identifiers

Description

Defines the common identifiers for API operations

Fields
Field Name Description
orgIdentifier - String! Harness OrgID
accountIdentifier - String! Harness AccountID
projectIdentifier - String! Harness projectID
Example
{
  "orgIdentifier": "xyz789",
  "accountIdentifier": "xyz789",
  "projectIdentifier": "xyz789"
}

IdentifiersRequest

Fields
Input Field Description
orgIdentifier - String! Harness OrgID
accountIdentifier - String! Harness AccountID
projectIdentifier - String! Harness projectID
Example
{}

ImageRegistryRequest

Fields
Input Field Description
registryServer - String!
registryAccount - String!
isPrivate - Boolean!
secretName - String
isDefault - Boolean!
Example
{}

ImageRegistryResponse

Fields
Field Name Description
identifier - Identifiers!
registryServer - String!
registryAccount - String!
isPrivate - Boolean!
secretName - String
isDefault - Boolean!
createdBy - UserDetails
updatedBy - UserDetails
createdAt - String!
updatedAt - String!
Example
{
  "identifier": Identifiers,
  "registryServer": "abc123",
  "registryAccount": "xyz789",
  "isPrivate": false,
  "secretName": "abc123",
  "isDefault": false,
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "abc123",
  "updatedAt": "xyz789"
}

InfraFilterInput

Description

Defines filter options for infras

Fields
Input Field Description
name - String Name of the infra
infraID - String ID of the infra
description - String ID of the infra
platformName - String Platform name of infra
infraScope - INFRA_SCOPE Scope of infra
isActive - Boolean Status of infra
tags - [String] Tags of an infra
Example
{}

InfraSpec

Fields
Field Name Description
operator - Operator!
infraIds - [String!]!
Example
{
  "operator": "EQUAL_TO",
  "infraIds": ["abc123"]
}

InfraSpecInput

Fields
Input Field Description
infraIds - [String!]!
operator - Operator!
Example
{}

InfraVersionDetails

Description

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

Fields
Field Name Description
latestVersion - String! Latest infra version supported
compatibleVersions - [String!]! List of all infra versions supported
Example
{
  "latestVersion": "abc123",
  "compatibleVersions": ["xyz789"]
}

InfraWithExperimentStats

Description

InfraWithExperimentStats defines experiment stats for a given infra

Fields
Field Name Description
infraID - String! ID of the chaos infrastructure
experimentsCount - Int! Experiments count
experimentRunsCount - Int! Experiment Runs count
Example
{
  "infraID": "xyz789",
  "experimentsCount": 987,
  "experimentRunsCount": 987
}

Infrastructure

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
environmentID - ID! Environment ID where infra is installed
infraType - InfrastructureType! Type of infrastructure
infraID - ID! ID of the infra
name - String! Name of the workflow
description - String Description of the workflow
version - String! Version of infrastructure
updatedAt - String! Timestamp when the workflow was last updated
createdAt - String! Timestamp when the workflow was created
isRemoved - Boolean! Bool value indicating if the workflow has removed
tags - [String!] Tags of the workflow
createdBy - UserDetails User who created the workflow
updatedBy - UserDetails Details of the user who updated the workflow
lastHeartbeat - String! Last received heartbeat of infrastructure
startTime - String! Time when infra became active
isActive - Boolean! Bool value to check if infra is active
isInfraConfirmed - Boolean! Bool value to check if infra is confirmed
infraNamespace - String Namespace where the infra is being installed
clusterType - ClusterType Cluster type Indicates the type on infrastructure (Kubernetes/openshift)
Example
{
  "identifiers": Identifiers,
  "environmentID": 4,
  "infraType": "Kubernetes",
  "infraID": 4,
  "name": "abc123",
  "description": "xyz789",
  "version": "xyz789",
  "updatedAt": "xyz789",
  "createdAt": "xyz789",
  "isRemoved": true,
  "tags": ["xyz789"],
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "lastHeartbeat": "abc123",
  "startTime": "xyz789",
  "isActive": false,
  "isInfraConfirmed": false,
  "infraNamespace": "xyz789",
  "clusterType": "KUBERNETES"
}

InfrastructureType

Values
Enum Value Description

Kubernetes

KubernetesV2

Windows

Linux

Example
{}

InstallationType

Description

InstallationType defines the installation method used by the user

Values
Enum Value Description

CONNECTOR

MANIFEST

CONNECTORV2

Example
{}

Int

Description

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

Example
{}

JSON

Example
{}

K8SProbe

Description

Defines the K8S probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
group - String Group of the Probe
version - String! Version of the Probe
resource - String! Resource of the Probe
namespace - String Namespace of the Probe
resourceNames - String Resource Names of the Probe
fieldSelector - String Field Selector of the Probe
labelSelector - String Label Selector of the Probe
operation - String! Operation of the Probe
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "xyz789",
  "interval": "xyz789",
  "retry": 123,
  "attempt": 123,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": true,
  "group": "abc123",
  "version": "abc123",
  "resource": "abc123",
  "namespace": "abc123",
  "resourceNames": "abc123",
  "fieldSelector": "xyz789",
  "labelSelector": "abc123",
  "operation": "xyz789",
  "verbosity": "xyz789"
}

K8SProbeRequest

Description

Defines the input for K8S probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
group - String Group of the Probe
version - String! Version of the Probe
resource - String! Resource of the Probe
namespace - String Namespace of the Probe
resourceNames - String Resource Names of the Probe
fieldSelector - String Field Selector of the Probe
labelSelector - String Label Selector of the Probe
operation - String! Operation of the Probe
verbosity - String Verbosity for the probe logging
Example
{}

K8sSpec

Fields
Field Name Description
infraSpec - InfraSpec!
applicationSpec - ApplicationSpec!
chaosServiceAccountSpec - ChaosServiceAccountSpec!
Example
{
  "infraSpec": InfraSpec,
  "applicationSpec": ApplicationSpec,
  "chaosServiceAccountSpec": ChaosServiceAccountSpec
}

K8sSpecInput

Fields
Input Field Description
infraSpec - InfraSpecInput!
applicationSpec - ApplicationSpecInput!
chaosServiceAccountSpec - ChaosServiceAccountSpecInput!
Example
{}

KubernetesCMDProbe

Description

Defines the Kubernetes CMD probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
command - String! Command of the Probe
comparator - Comparator! Comparator of the Probe
source - String Source of the Probe
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "abc123",
  "interval": "abc123",
  "retry": 987,
  "attempt": 123,
  "probePollingInterval": "abc123",
  "initialDelay": "xyz789",
  "stopOnFailure": true,
  "command": "abc123",
  "comparator": Comparator,
  "source": "xyz789",
  "verbosity": "xyz789"
}

KubernetesCMDProbeRequest

Description

Defines the input for Kubernetes CMD probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
command - String! Command of the Probe
comparator - ComparatorInput! Comparator of the Probe
source - String Source of the Probe
verbosity - String Verbosity for the probe logging
Example
{}

KubernetesDatadogProbe

Description

Defines the Kubernetes Datadog probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
datadogSite - String! Datadog site URL identifier
syntheticsTest - SyntheticsTest Synthetics test parameters
metrics - DatadogMetrics Metrics parameters
datadogCredentialsSecretName - String! Name of the kubernetes secret containing the Datadog credentials
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "xyz789",
  "interval": "abc123",
  "retry": 123,
  "attempt": 987,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": false,
  "datadogSite": "xyz789",
  "syntheticsTest": SyntheticsTest,
  "metrics": DatadogMetrics,
  "datadogCredentialsSecretName": "xyz789",
  "verbosity": "xyz789"
}

KubernetesDatadogProbeRequest

Description

Defines the input for Kubernetes Datadog probe

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
datadogSite - String! Datadog site URL identifier
syntheticsTest - SyntheticsTestRequest Synthetics test parameters
metrics - DatadogMetricsInput Metrics parameters
datadogCredentialsSecretName - String! Name of the kubernetes secret containing the Datadog credentials
verbosity - String Verbosity for the probe logging
Example
{}

KubernetesDynatraceProbe

Description

Defines the Kubernetes Dynatrace probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the dynatrace probe
metrics - Metrics! Raw metrics details of the dynatrace probe
timeFrame - String! Timeframe of the metrics
apiTokenSecretName - String! APITokenSecretName for authenticating with the Dynatrace platform
comparator - Comparator! Comparator check for the correctness of the probe output
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "xyz789",
  "interval": "xyz789",
  "retry": 123,
  "attempt": 987,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": false,
  "endpoint": "xyz789",
  "metrics": Metrics,
  "timeFrame": "abc123",
  "apiTokenSecretName": "abc123",
  "comparator": Comparator,
  "verbosity": "abc123"
}

KubernetesDynatraceProbeRequest

Description

Defines the input for Kubernetes Dynatrace probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the dynatrace probe
metrics - MetricsInput! Raw metrics details of the dynatrace probe
timeFrame - String! Timeframe of the metrics
apiTokenSecretName - String! APITokenSecretName for authenticating with the Dynatrace platform
comparator - ComparatorInput! Comparator check for the correctness of the probe output
verbosity - String Verbosity for the probe logging
Example
{}

KubernetesHTTPProbe

Description

Defines the Kubernetes HTTP probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - Method! HTTP method of the Probe
verbosity - String Verbosity for the probe logging
auth - HTTPAuthorization Auth contains the authentication details for the prometheus probe
tlsConfig - TLSConfig TLSConfig contains the tls configuration for the prometheus probe
headers - [String!] Headers contains the request headers
Example
{
  "probeTimeout": "abc123",
  "interval": "abc123",
  "retry": 123,
  "attempt": 987,
  "probePollingInterval": "abc123",
  "initialDelay": "xyz789",
  "stopOnFailure": true,
  "url": "xyz789",
  "method": Method,
  "verbosity": "xyz789",
  "auth": HTTPAuthorization,
  "tlsConfig": TLSConfig,
  "headers": ["abc123"]
}

KubernetesHTTPProbeRequest

Description

Defines the input for Kubernetes HTTP probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - MethodRequest! HTTP method of the Probe
verbosity - String Verbosity for the probe logging
auth - HTTPAuthorizationInput Auth contains the authentication details for the HTTP probe
tlsConfig - TLSConfigInput TLSConfig contains the tls configuration for the prometheus probe
headers - [String!] Headers contains the request headers
Example
{}

KubernetesInfra

Description

Defines the details for a infra

Fields
Field Name Description
infraID - ID! ID of the infra
name - String! Name of the infra
description - String Description of the infra
tags - [String!] Tags of the infra
environmentID - String! Environment ID for the infra
platformName - String! Infra Platform Name eg. GKE,AWS, Others
isActive - Boolean! Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! Timestamp when the infra was last updated
createdAt - String! Timestamp when the infra was created
noOfSchedules - Int Number of schedules created in the infra
noOfWorkflows - Int Number of workflows run in the infra
token - String! Token used to verify and retrieve the infra manifest
infraNamespace - String Namespace where the infra is being installed
serviceAccount - String Name of service account used by infra
infraScope - INFRA_SCOPE! Scope of the infra : ns or cluster
infraNsExists - Boolean Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean Bool value indicating whether service account used already exists on infra or not
installationType - InstallationType! InstallationType connector/manifest
k8sConnectorID - String K8sConnectorID
lastWorkflowTimestamp - String Timestamp of the last workflow run in the infra
startTime - String! Timestamp when the infra got connected
version - String! Version of the infra
createdBy - UserDetails User who created the infra
updatedBy - UserDetails User who has updated the infra
lastHeartbeat - String Last Heartbeat status sent by the infra
infraType - InfrastructureType Type of the infrastructure
updateStatus - UpdateStatus! update status of infra
isSecretEnabled - Boolean Tune secret for infra
runAsUser - Int set the user for security context in pod
runAsGroup - Int set the user group for security context in pod
upgrade - Upgrade! Upgrade struct for the chaos infrastructure
clusterType - ClusterType! Cluster type Indicates the type on infrastructure (Kubernetes/openshift)
Example
{
  "infraID": 4,
  "name": "xyz789",
  "description": "xyz789",
  "tags": ["abc123"],
  "environmentID": "xyz789",
  "platformName": "abc123",
  "isActive": true,
  "isInfraConfirmed": true,
  "isRemoved": false,
  "updatedAt": "abc123",
  "createdAt": "xyz789",
  "noOfSchedules": 123,
  "noOfWorkflows": 123,
  "token": "xyz789",
  "infraNamespace": "xyz789",
  "serviceAccount": "abc123",
  "infraScope": "namespace",
  "infraNsExists": false,
  "infraSaExists": true,
  "installationType": "CONNECTOR",
  "k8sConnectorID": "abc123",
  "lastWorkflowTimestamp": "abc123",
  "startTime": "abc123",
  "version": "xyz789",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "lastHeartbeat": "abc123",
  "infraType": "Kubernetes",
  "updateStatus": "AVAILABLE",
  "isSecretEnabled": false,
  "runAsUser": 987,
  "runAsGroup": 987,
  "upgrade": Upgrade,
  "clusterType": "KUBERNETES"
}

LinuxCMDProbe

Description

Defines the Linux CMD probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
command - String! Command of the Probe
comparator - Comparator! Comparator of the Probe
source - String Source of the Probe
Example
{
  "probeTimeout": "xyz789",
  "interval": "xyz789",
  "attempt": 123,
  "probePollingInterval": "abc123",
  "initialDelay": "abc123",
  "stopOnFailure": false,
  "command": "abc123",
  "comparator": Comparator,
  "source": "abc123"
}

LinuxCMDProbeRequest

Description

Defines the input for Linux CMD probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
command - String! Command of the Probe
comparator - ComparatorInput! Comparator of the Probe
source - String Source of the Probe
Example
{}

LinuxDatadogProbe

Description

Defines the Linux Datadog probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
datadogSite - String! Datadog site URL identifier
syntheticsTest - SyntheticsTest Synthetics test parameters
Example
{
  "probeTimeout": "xyz789",
  "interval": "xyz789",
  "attempt": 123,
  "probePollingInterval": "xyz789",
  "initialDelay": "abc123",
  "stopOnFailure": false,
  "datadogSite": "abc123",
  "syntheticsTest": SyntheticsTest
}

LinuxDatadogProbeRequest

Description

Defines the input for Linux Datadog probe

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
datadogSite - String! Datadog site URL identifier
syntheticsTest - SyntheticsTestRequest Synthetics test parameters
Example
{}

LinuxDynatraceProbe

Description

Defines the Linux Dynatrace probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the dynatrace probe
metrics - Metrics! Raw metrics details of the dynatrace probe
timeFrame - String! Timeframe of the metrics
comparator - Comparator! Comparator check for the correctness of the probe output
Example
{
  "probeTimeout": "abc123",
  "interval": "xyz789",
  "attempt": 123,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": true,
  "endpoint": "abc123",
  "metrics": Metrics,
  "timeFrame": "xyz789",
  "comparator": Comparator
}

LinuxDynatraceProbeRequest

Description

Defines the input for Linux Dynatrace probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the dynatrace probe
metrics - MetricsInput! Raw metrics details of the dynatrace probe
timeFrame - String! Timeframe of the metrics
comparator - ComparatorInput! Comparator check for the correctness of the probe output
Example
{}

LinuxHTTPProbe

Description

Defines the Linux HTTP probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - Method! HTTP method of the Probe
insecureSkipVerify - Boolean If Insecure HTTP verification should be skipped
Example
{
  "probeTimeout": "xyz789",
  "interval": "abc123",
  "attempt": 123,
  "probePollingInterval": "abc123",
  "initialDelay": "abc123",
  "stopOnFailure": false,
  "url": "abc123",
  "method": Method,
  "insecureSkipVerify": true
}

LinuxHTTPProbeRequest

Description

Defines the input for Linux HTTP probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - MethodRequest! HTTP method of the Probe
Example
{}

LinuxInfra

Description

Defines the details for a infra

Fields
Field Name Description
infraID - ID! ID of the infra
name - String! Name of the infra
description - String Description of the infra
tags - [String!] Tags of the infra
environmentID - String! Environment ID for the infra
isActive - Boolean! Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! Boolean value indicating if chaos infrastructure is confirmed or not
isRemoved - Boolean! Boolean value indicating if chaos infrastructure is removed or not
updatedAt - String! Timestamp when the infra was last updated
createdAt - String! Timestamp when the infra was created
noOfSchedules - Int Number of schedules created in the infra
noOfWorkflows - Int Number of workflows run in the infra
lastWorkflowTimestamp - String Timestamp of the last workflow run in the infra
startTime - String! Timestamp when the infra got connected
version - String! Version of the infra
createdBy - UserDetails User who created the infra
updatedBy - UserDetails User who has updated the infra
lastHeartbeat - String Last Heartbeat status sent by the infra
hostname - String hostname of the infra
Example
{
  "infraID": 4,
  "name": "abc123",
  "description": "xyz789",
  "tags": ["abc123"],
  "environmentID": "xyz789",
  "isActive": false,
  "isInfraConfirmed": true,
  "isRemoved": true,
  "updatedAt": "abc123",
  "createdAt": "abc123",
  "noOfSchedules": 123,
  "noOfWorkflows": 123,
  "lastWorkflowTimestamp": "abc123",
  "startTime": "xyz789",
  "version": "abc123",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "lastHeartbeat": "xyz789",
  "hostname": "abc123"
}

LinuxInfraFilterInput

Description

Defines filter options for infras

Fields
Input Field Description
name - String Name of the infra
infraID - String ID of the infra
description - String ID of the infra
isActive - Boolean Status of infra
tags - [String] Tags of an infra
Example
{}

ListChaosHubRequest

Fields
Input Field Description
chaosHubIDs - [ID!] Array of ChaosHub IDs for which details will be fetched
filter - ChaosHubFilterInput Details for fetching filtered data
Example
{}

ListConditionRequest

Fields
Input Field Description
pagination - Pagination
filter - ConditionFilterInput
Example
{}

ListConditionResponse

Fields
Field Name Description
totalConditions - Int!
conditions - [ConditionResponse]!
Example
{
  "totalConditions": 987,
  "conditions": [ConditionResponse]
}

ListExperimentsWithActiveInfrasFilterInput

Fields
Input Field Description
experimentName - String Name of the workflow
infraName - String Name of the infra in which the experiment is scheduled
infraID - String ID of the infrastructure in which the experiment is scheduled
experimentType - ScenarioType Type of the experiment i.e. CRON, NON_CRON or Gameday
dateRange - DateRange Date range for filtering purpose
infraTypes - [InfrastructureType] Type of infrastructure
tags - [String] Tags based search
Example
{}

ListExperimentsWithActiveInfrasRequest

Description

Defines the details for workflow runs

Fields
Input Field Description
pagination - Pagination Details for fetching paginated data
sort - WorkflowRunSortInput Details for fetching sorted data
filter - ListExperimentsWithActiveInfrasFilterInput Details for fetching filtered data
Example
{}

ListExperimentsWithActiveInfrasResponse

Description

Defines the details for a workflow with total workflow count

Fields
Field Name Description
totalNoOfExperiments - Int! Total number of workflows
experiments - [Workflow]! Details related to the workflows
Example
{"totalNoOfExperiments": 123, "experiments": [Workflow]}

ListGameDayRequest

Fields
Input Field Description
gameDayIDs - [String!]
pagination - Pagination Details for fetching paginated data
filter - GamedayFilterInput Details for fetching filtered data
sort - GamedaySortInput Details for fetching sorted data
Example
{}

ListGameDayRunsRequest

Fields
Input Field Description
gameDayRunIDs - [String!]
gameDayIDs - [String!]
Example
{}

ListGamedayResponse

Fields
Field Name Description
totalNoOfGamedays - Int! Total number of workflows
gamedays - [GameDayResponse]! Details related to the workflows
Example
{"totalNoOfGamedays": 987, "gamedays": [GameDayResponse]}

ListInfraRequest

Description

Defines the details for a workflow

Fields
Input Field Description
infraIDs - [ID!] Array of infra IDs for which details will be fetched
environmentIDs - [ID!] Environment ID
k8sConnectorIDs - [ID!] Connector ID
pagination - Pagination Details for fetching paginated data
filter - InfraFilterInput Details for fetching filtered data
Example
{}

ListInfraResponse

Description

Defines the details for a infras with total infras count

Fields
Field Name Description
totalNoOfInfras - Int! Total number of infras
infras - [KubernetesInfra]! Details related to the infras
Example
{"totalNoOfInfras": 123, "infras": [KubernetesInfra]}

ListLinuxInfraRequest

Description

Defines the details for a workflow

Fields
Input Field Description
infraIDs - [ID!] Array of infra IDs for which details will be fetched
environmentIDs - [ID!] Environment ID
pagination - Pagination Details for fetching paginated data
filter - LinuxInfraFilterInput Details for fetching filtered data
Example
{}

ListLinuxInfraResponse

Description

Defines the details for a infras with total infras count

Fields
Field Name Description
totalNoOfInfras - Int! Total number of infras
infras - [LinuxInfra]! Details related to the infras
Example
{"totalNoOfInfras": 123, "infras": [LinuxInfra]}

ListProbeRequest

Description

Defines the details for a workflow

Fields
Input Field Description
infrastructureType - InfrastructureType Type of infrastructure associated with the probe
probeNames - [ID!] Name of probes or array of probe names
showExecutions - Boolean Flag to either show probe executions or not
pagination - Pagination Details for fetching paginated data
sort - ProbeSortInput Details for fetching sorted data
filter - ProbeFilterInput Details for fetching filtered data
Example
{}

ListProbeResponse

Description

Defines the details for a list probe query with total probe count

Fields
Field Name Description
totalNoOfProbes - Int! Total number of probes
probes - [Probe]! Details related to the probes
Example
{"totalNoOfProbes": 987, "probes": [Probe]}

ListRuleRequest

Fields
Input Field Description
pagination - Pagination
filter - RuleFilterInput
Example
{}

ListWindowsInfraRequest

Description

Defines the details for a workflow

Fields
Input Field Description
infraIDs - [ID!] Array of infra IDs for which details will be fetched
environmentIDs - [ID!] Environment ID
pagination - Pagination Details for fetching paginated data
filter - WindowsInfraFilterInput Details for fetching filtered data
Example
{}

ListWindowsInfraResponse

Description

Defines the details for a infras with total infras count

Fields
Field Name Description
totalNoOfInfras - Int! Total number of infras
infras - [WindowsInfra]! Details related to the infras
Example
{"totalNoOfInfras": 987, "infras": [WindowsInfra]}

ListWorkflowRequest

Description

Defines the details for a workflow

Fields
Input Field Description
workflowIDs - [ID] Array of workflow IDs for which details will be fetched
pagination - Pagination Details for fetching paginated data
sort - WorkflowSortInput Details for fetching sorted data
filter - WorkflowFilterInput Details for fetching filtered data
Example
{}

ListWorkflowResponse

Description

Defines the details for a workflow with total workflow count

Fields
Field Name Description
totalNoOfWorkflows - Int! Total number of workflows
workflows - [Workflow]! Details related to the workflows
Example
{"totalNoOfWorkflows": 987, "workflows": [Workflow]}

ListWorkflowRunRequest

Description

Defines the details for workflow runs

Fields
Input Field Description
workflowRunIDs - [ID] Array of workflow run IDs for which details will be fetched
notifyIDs - [ID] Array of notify IDs for which details will be fetched
workflowIDs - [ID] Array of workflow IDs for which details will be fetched
pagination - Pagination Details for fetching paginated data
sort - WorkflowRunSortInput Details for fetching sorted data
filter - WorkflowRunFilterInput Details for fetching filtered data
Example
{}

ListWorkflowRunResponse

Description

Defines the details of a workflow to sent as response

Fields
Field Name Description
totalNoOfWorkflowRuns - Int! Total number of workflow runs
workflowRuns - [WorkflowRun]! Defines details of workflow runs
Example
{
  "totalNoOfWorkflowRuns": 123,
  "workflowRuns": [WorkflowRun]
}

Maintainer

Description

Defines the details of the maintainer

Fields
Field Name Description
name - String! Name of the maintainer
email - String! Email of the maintainer
Example
{
  "name": "abc123",
  "email": "xyz789"
}

Metadata

Fields
Field Name Description
name - String!
version - String!
annotations - Annotation!
Example
{
  "name": "abc123",
  "version": "xyz789",
  "annotations": Annotation
}

Method

Description

Defines the methods of the probe properties

Fields
Field Name Description
get - GET A GET request
post - POST A POST request
Example
{"get": GET, "post": POST}

MethodRequest

Description

Defines the input for methods of the probe properties

Fields
Input Field Description
get - GETRequest A GET request
post - POSTRequest A POST request
Example
{}

Metrics

Description

Raw metrics details of the dynatrace probe

Fields
Field Name Description
metricsSelector - String! Query to get Dynatrace metrics
entitySelector - String! Entity Selector of the metrics
Example
{
  "metricsSelector": "abc123",
  "entitySelector": "abc123"
}

MetricsInput

Description

Defines the input for Raw metrics details of the dynatrace probe

Fields
Input Field Description
metricsSelector - String! Query to get Dynatrace metrics
entitySelector - String! Entity Selector of the metrics
Example
{}

Mode

Description

Defines the different modes of Probes

Values
Enum Value Description

SOT

EOT

Edge

Continuous

OnChaos

Example
{}

NonCronExperiment

Fields
Input Field Description
experimentID - String
experimentTemplateName - String!
chaosInfraID - String!
hubID - String!
Example
{}

Operator

Values
Enum Value Description

EQUAL_TO

NOT_EQUAL_TO

Example
{}

POST

Description

Details of POST request

Fields
Field Name Description
contentType - String Content Type of the request
body - String Body of the request
bodyPath - String Body Path of the HTTP body required for the http post request
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{
  "contentType": "xyz789",
  "body": "xyz789",
  "bodyPath": "xyz789",
  "criteria": "abc123",
  "responseCode": "abc123",
  "responseBody": "abc123"
}

POSTRequest

Description

Details for input of the POST request

Fields
Input Field Description
contentType - String Content Type of the request
body - String Body of the request
bodyPath - String Body Path of the request for Body
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{}

PROMAuthorization

Description

Auth contains the Prometheus authentication details

Fields
Field Name Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{
  "authType": "abc123",
  "credentials": "xyz789",
  "credentialsFile": "abc123"
}

PROMAuthorizationInput

Description

Defines the input for Prometheus authentication details

Fields
Input Field Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{}

PROMProbe

Description

Defines the PROM probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the Probe
query - String Query of the Probe
queryPath - String Query path of the Probe
comparator - Comparator! Comparator of the Probe
verbosity - String Verbosity for the probe logging
auth - PROMAuthorization Auth contains the authentication details for the prometheus probe
tlsConfig - TLSConfig TLSConfig contains the tls configuration for the prometheus probe
Example
{
  "probeTimeout": "abc123",
  "interval": "xyz789",
  "retry": 123,
  "attempt": 123,
  "probePollingInterval": "abc123",
  "initialDelay": "abc123",
  "stopOnFailure": false,
  "endpoint": "abc123",
  "query": "abc123",
  "queryPath": "abc123",
  "comparator": Comparator,
  "verbosity": "abc123",
  "auth": PROMAuthorization,
  "tlsConfig": TLSConfig
}

PROMProbeRequest

Description

Defines the input for PROM probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
endpoint - String! Endpoint of the Probe
query - String Query of the Probe
queryPath - String Query path of the Probe
comparator - ComparatorInput! Comparator of the Probe
verbosity - String Verbosity for the probe logging
auth - PROMAuthorizationInput Auth contains the authentication details for the prometheus probe
tlsConfig - TLSConfigInput TLSConfig contains the tls configuration for the prometheus probe
Example
{}

PackageInformation

Fields
Field Name Description
packageName - String!
experiments - [Experiments!]!
Example
{
  "packageName": "abc123",
  "experiments": [Experiments]
}

Pagination

Description

Defines data required to fetch paginated data

Fields
Input Field Description
page - Int! Page number for which data will be fetched
limit - Int! Number of data to be fetched
Example
{}

PredefinedWorkflowList

Fields
Field Name Description
workflowName - String!
workflowCSV - String!
workflowManifest - String!
workflowV2Manifest - String
error - String!
Example
{
  "workflowName": "abc123",
  "workflowCSV": "abc123",
  "workflowManifest": "abc123",
  "workflowV2Manifest": "abc123",
  "error": "xyz789"
}

Probe

Description

Defines the details of the Probe entity

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
name - String! Name of the Probe
description - String Description of the Probe
tags - [String!] Tags of the Probe
type - ProbeType! Type of the Probe [From list of ProbeType enum]
infrastructureType - InfrastructureType! Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbe Kubernetes HTTP Properties of the specific type of the Probe
linuxHTTPProperties - LinuxHTTPProbe Linux HTTP Properties of the specific type of the Probe
windowsHTTPProperties - WindowsHTTPProbe Windows HTTP Properties of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbe Kubernetes CMD Properties of the specific type of the Probe
linuxCMDProperties - LinuxCMDProbe Linux CMD Properties of the specific type of the Probe
kubernetesDatadogProperties - KubernetesDatadogProbe Kubernetes Datadog Properties of the specific type of the Probe
linuxDatadogProperties - LinuxDatadogProbe Linux Datadog Properties of the specific type of the Probe
k8sProperties - K8SProbe K8S Properties of the specific type of the Probe
kubernetesDynatraceProperties - KubernetesDynatraceProbe Kubernetes Dynatrace Properties of the specific type of the Probe
linuxDynatraceProperties - LinuxDynatraceProbe Linux Dynatrace Properties of the specific type of the Probe
promProperties - PROMProbe PROM Properties of the specific type of the Probe
sloProperties - SLOProbe SLO Properties of the specific type of the Probe
recentExecutions - [ProbeRecentExecutions!] All execution histories of the probe
referencedBy - Int Referenced by how many faults
isRemoved - Boolean! Is probe deleted or not
isEnabled - Boolean Is probe enabled or disabled
updatedAt - String! Timestamp at which the Probe was last updated
createdAt - String! Timestamp at which the Probe was created
updatedBy - UserDetails User who has updated the Probe
createdBy - UserDetails User who has created the Probe
Example
{
  "identifiers": Identifiers,
  "name": "abc123",
  "description": "abc123",
  "tags": ["abc123"],
  "type": "httpProbe",
  "infrastructureType": "Kubernetes",
  "kubernetesHTTPProperties": KubernetesHTTPProbe,
  "linuxHTTPProperties": LinuxHTTPProbe,
  "windowsHTTPProperties": WindowsHTTPProbe,
  "kubernetesCMDProperties": KubernetesCMDProbe,
  "linuxCMDProperties": LinuxCMDProbe,
  "kubernetesDatadogProperties": KubernetesDatadogProbe,
  "linuxDatadogProperties": LinuxDatadogProbe,
  "k8sProperties": K8SProbe,
  "kubernetesDynatraceProperties": KubernetesDynatraceProbe,
  "linuxDynatraceProperties": LinuxDynatraceProbe,
  "promProperties": PROMProbe,
  "sloProperties": SLOProbe,
  "recentExecutions": [ProbeRecentExecutions],
  "referencedBy": 987,
  "isRemoved": false,
  "isEnabled": true,
  "updatedAt": "abc123",
  "createdAt": "abc123",
  "updatedBy": UserDetails,
  "createdBy": UserDetails
}

ProbeFilterInput

Description

Defines the input for Probe filter

Fields
Input Field Description
name - String Name of the Probe
dateRange - DateRange Date range for filtering purpose
type - [ProbeType] Type of the Probe [From list of ProbeType enum]
isEnabled - Boolean Is the probe enabled or disabled
tags - [String] Tags based search
Example
{}

ProbeMap

Fields
Field Name Description
faultName - String!
probeName - [String]!
Example
{
  "faultName": "xyz789",
  "probeName": ["abc123"]
}

ProbeRecentExecutions

Description

Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time

Fields
Field Name Description
faultName - String! Fault name
status - Status! Fault Status
executedByExperiment - ExecutedByExperiment! Fault executed by which experiment
Example
{
  "faultName": "xyz789",
  "status": Status,
  "executedByExperiment": ExecutedByExperiment
}

ProbeRequest

Description

Defines the details required for updating a Chaos Probe

Fields
Input Field Description
name - ID! Name of the Probe
description - String Description of the Probe
tags - [String!] Tags of the Probe
type - ProbeType! Type of the Probe [From list of ProbeType enum]
isEnabled - Boolean Is probe enabled or disabled
isBulkUpdateTrue - Boolean Is bulk enable for probe true or false
infrastructureType - InfrastructureType! Infrastructure type of the Probe
kubernetesHTTPProperties - KubernetesHTTPProbeRequest HTTP Properties of the specific type of the Probe
linuxHTTPProperties - LinuxHTTPProbeRequest HTTP Properties of the specific type of the Probe
windowsHTTPProperties - WindowsHTTPProbeRequest HTTP Properties for windows of the specific type of the Probe
kubernetesCMDProperties - KubernetesCMDProbeRequest CMD Properties of the specific type of the Probe
linuxCMDProperties - LinuxCMDProbeRequest CMD Properties of the specific type of the Probe
kubernetesDatadogProperties - KubernetesDatadogProbeRequest Datadog Properties of the specific type of the Probe
linuxDatadogProperties - LinuxDatadogProbeRequest Datadog Properties of the specific type of the Probe
k8sProperties - K8SProbeRequest K8S Properties of the specific type of the Probe
kubernetesDynatraceProperties - KubernetesDynatraceProbeRequest Kubernetes Dynatrace Properties of the specific type of the Probe
linuxDynatraceProperties - LinuxDynatraceProbeRequest Linux Dynatrace Properties of the specific type of the Probe
promProperties - PROMProbeRequest PROM Properties of the specific type of the Probe
sloProperties - SLOProbeRequest SLO Properties of the specific type of the Probe
Example
{}

ProbeSortInput

Description

Defines sorting options for probes

Fields
Input Field Description
field - ProbeSortingField! Field in which sorting will be done
ascending - Boolean Bool value indicating whether the sorting will be done in ascending order
Example
{}

ProbeSortingField

Description

Probe Sorting Field

Values
Enum Value Description

TIME

ENABLED

Example
{}

ProbeType

Description

Defines the different types of Probes

Values
Enum Value Description

httpProbe

cmdProbe

promProbe

k8sProbe

sloProbe

datadogProbe

dynatraceProbe

Example
{}

ProbeVerdict

Description

Defines the older different statuses of Probes

Values
Enum Value Description

Passed

Failed

NA

Awaited

Example
{}

Provider

Fields
Field Name Description
name - String!
Example
{"name": "abc123"}

PushWorkflowToChaosHubInput

Fields
Input Field Description
id - String! HubID for the selected ChaosHub
manifest - String Workflow Manifest to be pushed
workflowID - String WorkflowID to fetch the manifest
scenarioName - String! Scenario Name
description - String! Scenario Description
tags - [String!] Tags for the scenario
experiments - [ExperimentInfoInput!] Experiment info
Example
{}

QnARequest

Fields
Input Field Description
questionType - QuestionType
optionsMCQ - [String!]
question - String!
answer - String!
Example
{}

QnAs

Fields
Field Name Description
questionType - QuestionType!
optionsMCQ - [String!]
question - String!
answer - String!
Example
{
  "questionType": "MCQ",
  "optionsMCQ": ["xyz789"],
  "question": "abc123",
  "answer": "xyz789"
}

QuestionType

Values
Enum Value Description

MCQ

Non_MCQ

Example
{}

RecentExecutions

Description

Defines the Recent Executions of experiment referenced by the Probe

Fields
Field Name Description
faultName - String! Fault name
mode - Mode! Probe mode
executionHistory - [ExecutionHistory!]! Execution History
Example
{
  "faultName": "abc123",
  "mode": "SOT",
  "executionHistory": [ExecutionHistory]
}

RecentWorkflowRun

Fields
Field Name Description
workflowRunID - ID! ID of the workflow run which is to be queried
notifyID - ID Notify ID for workflow run
phase - String! Phase of the workflow run
resiliencyScore - Float Resiliency score of the workflow
updatedAt - String! Timestamp when the workflow was last updated
createdAt - String! Timestamp when the workflow was created
createdBy - UserDetails User who created the workflow run
updatedBy - UserDetails User who updated the workflow run
runSequence - Int! runSequence is the sequence number of experiment run
Example
{
  "workflowRunID": 4,
  "notifyID": 4,
  "phase": "abc123",
  "resiliencyScore": 987.65,
  "updatedAt": "xyz789",
  "createdAt": "xyz789",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "runSequence": 123
}

Recurrence

Fields
Field Name Description
type - RecurrenceType!
spec - RecurrenceSpec
Example
{"type": "Yearly", "spec": RecurrenceSpec}

RecurrenceInput

Fields
Input Field Description
type - RecurrenceType!
spec - RecurrenceSpecInput
Example
{}

RecurrenceSpec

Fields
Field Name Description
until - Int
value - Int
Example
{"until": 123, "value": 987}

RecurrenceSpecInput

Fields
Input Field Description
until - Int
value - Int
Example
{}

RecurrenceType

Values
Enum Value Description

Yearly

Monthly

Daily

Weekly

None

Example
{}

RegisterInfraRequest

Description

Defines the details for the new infra being connected

Fields
Input Field Description
name - String! Name of the infra
environmentID - String! Environment ID for the infra
description - String Description of the infra
platformName - String! Infra Platform Name eg. GKE,AWS, Others
infraNamespace - String Namespace where the infra is being installed
serviceAccount - String Name of service account used by infra
infraScope - INFRA_SCOPE! Scope of the infra : ns or infra
infraNsExists - Boolean Bool value indicating whether infra ns used already exists on infra or not
infraSaExists - Boolean Bool value indicating whether service account used already exists on infra or not
installationType - InstallationType! InstallationType connector/manifest
k8sConnectorID - String K8sConnectorID
skipSsl - Boolean Bool value indicating whether infra will skip ssl checks or not
nodeSelector - String Node selectors used by infra
tolerations - [Toleration] Node tolerations used by infra
isSecretEnabled - Boolean Tune secret for infra
tags - [String!] Tags of the infra
runAsUser - Int set the user for security context in pod
runAsGroup - Int set the user group for security context in pod
sccYaml - String Value containing the scc-yaml used in openShift clusters
isAutoUpgradeEnabled - Boolean! Boolean value indicating if chaos infrastructure has auto upgrade enabled or not
Example
{}

RegisterInfraResponse

Description

Response received for registering a new infra

Fields
Field Name Description
token - String! Token used to verify and retrieve the infra manifest
infraID - String! Unique ID for the newly registered infra
name - String! Infra name as sent in request
manifest - String! Infra Manifest
taskID - String taskID sent for the brownfield deployment task
Example
{
  "token": "abc123",
  "infraID": "abc123",
  "name": "abc123",
  "manifest": "abc123",
  "taskID": "abc123"
}

RegisterLinuxInfraRequest

Description

Defines the details for the new infra being connected

Fields
Input Field Description
name - String! Name of the infra
environmentID - String! Environment ID for the infra
description - String Description of the infra
tags - [String!] Tags of the infra
Example
{}

RegisterLinuxInfraResponse

Description

Response received for registering a new infra

Fields
Field Name Description
infraID - String! Unique ID for the newly registered infra
name - String! Infra name as sent in request
accessKey - String! Infra access key
serverURL - String! Linux Infra server URL
version - String! Linux Infra Version
Example
{
  "infraID": "xyz789",
  "name": "abc123",
  "accessKey": "abc123",
  "serverURL": "abc123",
  "version": "xyz789"
}

RegisterWindowsInfraRequest

Description

Defines the details for the new infra being connected

Fields
Input Field Description
name - String! Name of the infra
environmentID - String! Environment ID for the infra
description - String Description of the infra
tags - [String!] Tags of the infra
Example
{}

RegisterWindowsInfraResponse

Description

Response received for registering a new infra

Fields
Field Name Description
infraID - String! Unique ID for the newly registered infra
name - String! Infra name as sent in request
accessKey - String! Infra access key
serverURL - String! Windows Infra server URL
version - String! Windows Infra Version
Example
{
  "infraID": "xyz789",
  "name": "xyz789",
  "accessKey": "xyz789",
  "serverURL": "xyz789",
  "version": "abc123"
}

ResourceDetails

Fields
Field Name Description
name - String!
description - String
tags - [String!]
Example
{
  "name": "abc123",
  "description": "abc123",
  "tags": ["xyz789"]
}

ResourceType

Values
Enum Value Description

GAMEDAY

EXPERIMENT

PROBE

Example
{}

Rule

Fields
Field Name Description
name - String!
tags - [String!]
description - String
isEnabled - Boolean!
ruleId - String!
userGroupIds - [String!]!
timeWindows - [TimeWindow!]!
conditions - [Condition!]!
Example
{
  "name": "abc123",
  "tags": ["abc123"],
  "description": "abc123",
  "isEnabled": false,
  "ruleId": "xyz789",
  "userGroupIds": ["abc123"],
  "timeWindows": [TimeWindow],
  "conditions": [Condition]
}

RuleDetails

Fields
Field Name Description
ruleId - String
ruleName - String
message - String
description - String
userGroupIds - [String]
timeWindow - TimeWindow
conditions - [ConditionDetails]
Example
{
  "ruleId": "xyz789",
  "ruleName": "xyz789",
  "message": "xyz789",
  "description": "abc123",
  "userGroupIds": ["xyz789"],
  "timeWindow": TimeWindow,
  "conditions": [ConditionDetails]
}

RuleFilterInput

Fields
Input Field Description
name - String
description - String
tags - [String]
Example
{}

RuleInput

Fields
Input Field Description
description - String
isEnabled - Boolean!
name - String!
ruleId - String!
userGroupIds - [String!]!
timeWindows - [TimeWindowInput!]!
tags - [String]
conditionIds - [String!]!
Example
{}

RuleResponse

Fields
Field Name Description
createdAt - Int!
createdBy - UserDetails!
updatedAt - Int!
updatedBy - UserDetails!
rule - Rule!
identifiers - Identifiers!
Example
{
  "createdAt": 123,
  "createdBy": UserDetails,
  "updatedAt": 123,
  "updatedBy": UserDetails,
  "rule": Rule,
  "identifiers": Identifiers
}

RunChaosExperimentResponse

Fields
Field Name Description
notifyID - ID!
Example
{"notifyID": 4}

RunPipelineExperimentMetaData

Fields
Input Field Description
name - String!
userName - String!
email - String!
Example
{}

SLOProbe

Description

Defines the SLO probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
evaluationTimeout - String Verbosity contains flag to set the verbosity of probe
stopOnFailure - Boolean Is stop on failure enabled in the Probe
platformEndpoint - String! PlatformEndpoint for the monitoring service endpoint
sloIdentifier - String! SLOIdentifier for fetching the details of the SLO
evaluationWindow - EvaluationWindow EvaluationWindow is the time period for which the metrics will be evaluated
sloSourceMetadata - SLOSourceMetadata! SLOSourceMetadata consists of required metadata details to fetch metric data
comparator - Comparator! Comparator check for the correctness of the probe output
verbosity - String Verbosity for the probe logging
insecureSkipVerify - Boolean If Insecure HTTP verification should be skipped
Example
{
  "probeTimeout": "xyz789",
  "interval": "abc123",
  "retry": 987,
  "attempt": 987,
  "probePollingInterval": "xyz789",
  "initialDelay": "abc123",
  "evaluationTimeout": "xyz789",
  "stopOnFailure": false,
  "platformEndpoint": "xyz789",
  "sloIdentifier": "abc123",
  "evaluationWindow": EvaluationWindow,
  "sloSourceMetadata": SLOSourceMetadata,
  "comparator": Comparator,
  "verbosity": "abc123",
  "insecureSkipVerify": true
}

SLOProbeRequest

Description

Defines the input for SLO probes

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
platformEndpoint - String! PlatformEndpoint for the monitoring service endpoint
sloIdentifier - String! SLOIdentifier for fetching the details of the SLO
evaluationWindow - EvaluationWindowInput EvaluationWindow is the time period for which the metrics will be evaluated
sloSourceMetadata - SLOSourceMetadataInput! SLOSourceMetadata consists of required metadata details to fetch metric data
comparator - ComparatorInput! Comparator check for the correctness of the probe output
evaluationTimeout - String EvaluationTimeout is the timeout window in which the SLO metrics
verbosity - String Verbosity for the probe logging
insecureSkipVerify - Boolean If Insecure HTTP verification should be skipped
Example
{}

SLOSourceMetadata

Description

SLOSourceMetadata consists of required metadata details to fetch metric data

Fields
Field Name Description
apiTokenSecret - String! APITokenSecret for authenticating with the platform service
scope - Identifiers! Scope required for fetching details
Example
{
  "apiTokenSecret": "abc123",
  "scope": Identifiers
}

SLOSourceMetadataInput

Description

Defines the input for SLOSourceMetadata

Fields
Input Field Description
apiTokenSecret - String! APITokenSecret for authenticating with the platform service
scope - IdentifiersRequest! Scope required for fetching details
Example
{}

ScenarioType

Values
Enum Value Description

CRON

NON_CRON

GAMEDAY

ALL

Example
{}

SecurityGovernance

Fields
Field Name Description
name - String
type - String
startedAt - Int
finishedAt - Int
message - String
phase - SecurityGovernancePhase
securityGovernanceNodeData - SecurityGovernanceNodeData
Example
{
  "name": "abc123",
  "type": "abc123",
  "startedAt": 987,
  "finishedAt": 987,
  "message": "abc123",
  "phase": "Passed",
  "securityGovernanceNodeData": SecurityGovernanceNodeData
}

SecurityGovernanceNodeData

Fields
Field Name Description
passedRules - [RuleDetails]
failedRules - [RuleDetails]
skippedRules - [RuleDetails]
Example
{
  "passedRules": [RuleDetails],
  "failedRules": [RuleDetails],
  "skippedRules": [RuleDetails]
}

SecurityGovernancePhase

Values
Enum Value Description

Passed

Failed

Example
{}

Spec

Fields
Field Name Description
displayName - String!
categoryDescription - String!
keywords - [String!]!
maturity - String!
maintainers - [Maintainer!]!
minKubeVersion - String!
provider - Provider!
links - [Link!]!
faults - [FaultList!]!
experiments - [String!]
chaosExpCRDLink - String!
platforms - [String!]!
chaosType - String
Example
{
  "displayName": "abc123",
  "categoryDescription": "xyz789",
  "keywords": ["abc123"],
  "maturity": "abc123",
  "maintainers": [Maintainer],
  "minKubeVersion": "abc123",
  "provider": Provider,
  "links": [Link],
  "faults": [FaultList],
  "experiments": ["abc123"],
  "chaosExpCRDLink": "xyz789",
  "platforms": ["xyz789"],
  "chaosType": "xyz789"
}

StandardResponse

Fields
Field Name Description
message - String!
correlationId - String!
response - JSON!
Example
{
  "message": "abc123",
  "correlationId": "xyz789",
  "response": {}
}

Status

Description

Status defines whether a probe is pass or fail

Fields
Field Name Description
verdict - ProbeVerdict! Verdict defines the verdict of the probe, range: Passed, Failed, N/A
description - String Description defines the description of probe status
Example
{
  "verdict": "Passed",
  "description": "xyz789"
}

StopGameDayRunRequest

Fields
Input Field Description
gameDayRunID - String!
Example
{}

String

Description

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.

Example
{}

SummaryRequest

Fields
Input Field Description
notes - String!
qna - [QnARequest]!
actionItem - [ActionItemRequest]!
Example
{}

SyntheticsTest

Description

Synthetics test parameters

Fields
Field Name Description
testType - DatadogSyntheticsTestType! Type of the test; supports 'api' and 'browser' only
publicId - String! Public id of the test
Example
{"testType": "api", "publicId": "abc123"}

SyntheticsTestRequest

Description

Defines the input for Synthetics test parameters

Fields
Input Field Description
testType - DatadogSyntheticsTestType! Type of the test; supports 'api' and 'browser' only
publicId - String! Public id of the test
Example
{}

TLSConfig

Description

TLSConfig configures the options for TLS connections

Fields
Field Name Description
caFile - String Flag to hold the ca file path
certFile - String Flag to hold the client cert file path
keyFile - String Flag to hold the client key file path
insecureSkipVerify - Boolean Flag to skip the tls certificates checks
Example
{
  "caFile": "xyz789",
  "certFile": "xyz789",
  "keyFile": "xyz789",
  "insecureSkipVerify": false
}

TLSConfigInput

Description

Defines the input for TLSConfig options for TLS connections

Fields
Input Field Description
caFile - String Flag to hold the ca file path
certFile - String Flag to hold the client cert file path
keyFile - String Flag to hold the client key file path
insecureSkipVerify - Boolean Flag to skip the tls certificates checks
Example
{}

TimeWindow

Fields
Field Name Description
duration - String
endTime - Int
startTime - Int!
timeZone - String!
recurrence - Recurrence!
Example
{
  "duration": "xyz789",
  "endTime": 987,
  "startTime": 987,
  "timeZone": "xyz789",
  "recurrence": Recurrence
}

TimeWindowInput

Fields
Input Field Description
duration - String
endTime - Int
startTime - Int!
timeZone - String!
recurrence - RecurrenceInput!
Example
{}

Toleration

Fields
Input Field Description
tolerationSeconds - Int
key - String
operator - String
effect - String
value - String
Example
{}

Type

Values
Enum Value Description

GAMEDAY

GAMEDAY_RUN

Example
{}

UpdateCronExperimentAction

Values
Enum Value Description

Enable

Disable

Update

Example
{}

UpdateCronExperimentStateRequest

Description

Defines input for updating cron experiment state

Fields
Input Field Description
experimentIDs - [String!]! ID of the experiment
action - UpdateCronExperimentAction! Action indicating whether to enable, disable or update the cron experiment
cronSyntax - String Cron syntax to be updated
Example
{}

UpdateCronExperimentStateResponse

Description

Defines the response from UpdateCronExperimentState API

Fields
Field Name Description
successIDs - [String!]! List of successful experiment ID
failedIDs - [String!]! List of failed experiment ID
Example
{
  "successIDs": ["abc123"],
  "failedIDs": ["xyz789"]
}

UpdateExperimentNotesRequest

Fields
Input Field Description
gameDayRunID - String!
experimentID - String
notes - String!
Example
{}

UpdateGameDayExperimentsRequest

Fields
Input Field Description
gameDayID - String!
experiments - [NonCronExperiment!]!
Example
{}

UpdateGameDayRequest

Fields
Input Field Description
gameDayID - String!
name - String
objective - String
description - String
summary - SummaryRequest
isRemoved - Boolean
experiments - [NonCronExperiment!]
Example
{}

UpdateGameDayRunRequest

Fields
Input Field Description
gameDayRunID - String!
completed - Boolean
notes - String
Example
{}

UpdateInfraRequest

Fields
Input Field Description
infraID - String! ID of the infrastructure to be updated
name - String Name of the infra
environmentID - String Environment ID for the infra
description - String Description of the infra
tags - [String!] Tags of the infra
Example
{}

UpdateStatus

Description

UpdateStatus represents if infra needs to be updated

Values
Enum Value Description

AVAILABLE

MANDATORY

NOT_REQUIRED

Example
{}

UpdateSummaryRequest

Fields
Input Field Description
ID - String!
summaryRequest - SummaryRequest!
type - Type!
Example
{}

Upgrade

Fields
Field Name Description
status - UpgradeStatus!
isAutoUpgradeEnabled - Boolean!
Example
{"status": "UPGRADING_INFRA", "isAutoUpgradeEnabled": true}

UpgradeStatus

Description

UpgradeStatus represents the state of the infra upgraded

Values
Enum Value Description

UPGRADING_INFRA

UPGRADE_SKIPPED

UPGRADE_SUCCESSFUL

UPGRADE_FAILED

DETECTING_UPGRADER

UPGRADER_DISABLED

Example
{}

UserDetails

Fields
Field Name Description
userID - String!
username - String!
email - String!
Example
{
  "userID": "xyz789",
  "username": "xyz789",
  "email": "abc123"
}

Weightages

Description

Defines the details of the weightages of each chaos experiment in the workflow

Fields
Field Name Description
experimentName - String! Name of the experiment
weightage - Int! Weightage of the experiment
Example
{
  "experimentName": "xyz789",
  "weightage": 987
}

WeightagesInput

Description

Defines the details of the weightages of each chaos experiment in the workflow

Fields
Input Field Description
experimentName - String! Name of the experiment
weightage - Int! Weightage of the experiment
Example
{}

WindowsHTTPProbe

Description

Defines the Windows HTTP probe properties

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - Method! HTTP method of the Probe
auth - HTTPAuthorization Auth contains the authentication details for the HTTP probe
tlsConfig - TLSConfig TLSConfig contains the tls configuration for the HTTP probe
headers - [String!] Headers contains the request headers
Example
{
  "probeTimeout": "abc123",
  "interval": "abc123",
  "attempt": 123,
  "probePollingInterval": "abc123",
  "initialDelay": "abc123",
  "stopOnFailure": true,
  "url": "abc123",
  "method": Method,
  "auth": HTTPAuthorization,
  "tlsConfig": TLSConfig,
  "headers": ["abc123"]
}

WindowsHTTPProbeRequest

Description

Defines the input for windows HTTP probe properties

Fields
Input Field Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
url - String! URL of the Probe
method - MethodRequest! HTTP method of the Probe
auth - HTTPAuthorizationInput Auth contains the authentication details for the HTTP probe
tlsConfig - TLSConfigInput TLSConfig contains the tls configuration for the prometheus probe
headers - [String!] Headers contains the request headers
Example
{}

WindowsInfra

Description

Defines the details for a infra

Fields
Field Name Description
infraID - ID! ID of the infra
name - String! Name of the infra
description - String Description of the infra
tags - [String!] Tags of the infra
environmentID - String! Environment ID for the infra
isActive - Boolean! Boolean value indicating if chaos infrastructure is active or not
isInfraConfirmed - Boolean! Boolean value indicating if chaos infrastructure is confirmed or not
updatedAt - String! Timestamp when the infra was last updated
createdAt - String! Timestamp when the infra was created
noOfSchedules - Int Number of schedules created in the infra
noOfWorkflows - Int Number of workflows run in the infra
lastWorkflowTimestamp - String Timestamp of the last workflow run in the infra
startTime - String! Timestamp when the infra got connected
version - String! Version of the infra
createdBy - UserDetails User who created the infra
updatedBy - UserDetails User who has updated the infra
lastHeartbeat - String Last Heartbeat status sent by the infra
hostname - String hostname of the infra
Example
{
  "infraID": 4,
  "name": "abc123",
  "description": "abc123",
  "tags": ["abc123"],
  "environmentID": "xyz789",
  "isActive": false,
  "isInfraConfirmed": false,
  "updatedAt": "xyz789",
  "createdAt": "abc123",
  "noOfSchedules": 123,
  "noOfWorkflows": 987,
  "lastWorkflowTimestamp": "abc123",
  "startTime": "xyz789",
  "version": "xyz789",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "lastHeartbeat": "abc123",
  "hostname": "xyz789"
}

WindowsInfraFilterInput

Description

Defines filter options for infras

Fields
Input Field Description
name - String Name of the infra
infraID - String ID of the infra
description - String ID of the infra
isActive - Boolean Status of infra
tags - [String] Tags of an infra
Example
{}

Workflow

Description

Defines the details for a workflow

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
workflowID - String! ID of the workflow
workflowType - String Type of the workflow
workflowManifest - String! Manifest of the workflow
cronSyntax - String! Cron syntax of the workflow schedule
isCronEnabled - Boolean If cron is enabled or disabled
name - String! Name of the workflow
description - String! Description of the workflow
weightages - [Weightages!]! Array containing weightage and name of each chaos experiment in the workflow
isCustomWorkflow - Boolean! Bool value indicating whether the workflow is a custom workflow or not
updatedAt - String! Timestamp when the workflow was last updated
createdAt - String! Timestamp when the workflow was created
infra - Infrastructure Target infra in which the workflow will run
isRemoved - Boolean! Bool value indicating if the workflow has removed
tags - [String!] Tags of the workflow
createdBy - UserDetails User who created the workflow
recentWorkflowRunDetails - [RecentWorkflowRun] Array of object containing details of recent workflow runs
eventsMetadata - [EventMetadata!] Array containing service identifier and environment identifier for SRM change source events
updatedBy - UserDetails Details of the user who updated the workflow
lastExecutedAt - String! Timestamp when the experiment was last executed
Example
{
  "identifiers": Identifiers,
  "workflowID": "xyz789",
  "workflowType": "abc123",
  "workflowManifest": "xyz789",
  "cronSyntax": "abc123",
  "isCronEnabled": false,
  "name": "xyz789",
  "description": "abc123",
  "weightages": [Weightages],
  "isCustomWorkflow": false,
  "updatedAt": "xyz789",
  "createdAt": "abc123",
  "infra": Infrastructure,
  "isRemoved": true,
  "tags": ["xyz789"],
  "createdBy": UserDetails,
  "recentWorkflowRunDetails": [RecentWorkflowRun],
  "eventsMetadata": [EventMetadata],
  "updatedBy": UserDetails,
  "lastExecutedAt": "xyz789"
}

WorkflowFilterInput

Description

Defines filter options for workflows

Fields
Input Field Description
workflowName - String Name of the workflow
infraName - String Name of the infra in which the workflow is running
infraID - String ID of the agent in which the workflow is running
infraActive - Boolean Bool value indicating if Chaos Infrastructure is active
scenarioType - ScenarioType Scenario type of the workflow i.e. CRON or NON_CRON
status - String Status of the latest workflow run
dateRange - DateRange Date range for filtering purpose
infraTypes - [InfrastructureType] Type of infras
tags - [String] Tags based search
isCronEnabled - Boolean Bool value to filter data based on cron enabled state
Example
{}

WorkflowRun

Description

Defines the details of a workflow run

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
workflowRunID - ID! ID of the workflow run which is to be queried
workflowType - String Type of the workflow
workflowID - ID! ID of the workflow
weightages - [Weightages!]! Array containing weightage and name of each chaos experiment in the workflow
updatedAt - String! Timestamp at which workflow run was last updated
createdAt - String! Timestamp at which workflow run was created
cronSyntax - String! Cron syntax of the workflow schedule
infra - Infrastructure! Target infra in which the workflow will run
workflowName - String! Name of the workflow
workflowDescription - String Description of the workflow
workflowTags - [String] Tag of the workflow
workflowManifest - String! Manifest of the workflow run
isCronEnabled - Boolean If cron is enabled or disabled
probe - [ProbeMap!]! Probe object containing reference of probeIDs
phase - WorkflowRunStatus! Phase of the workflow run
resiliencyScore - Float Resiliency score of the workflow
experimentsPassed - Int Number of experiments passed
experimentsFailed - Int Number of experiments failed
experimentsAwaited - Int Number of experiments awaited
experimentsStopped - Int Number of experiments stopped
experimentsNa - Int Number of experiments which are not available
totalExperiments - Int Total number of experiments
executionData - String! Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments
isRemoved - Boolean Bool value indicating if the workflow run has removed
updatedBy - UserDetails User who has updated the workflow
createdBy - UserDetails User who has created the experiment run
notifyID - ID Notify ID of the experiment run
errorResponse - String Error Response is the reason why experiment failed to run
securityGovernance - SecurityGovernance Security Governance details of the workflow run
runSequence - Int! runSequence is the sequence number of experiment run
experimentType - String! experimentType is the type of experiment run
Example
{
  "identifiers": Identifiers,
  "workflowRunID": "4",
  "workflowType": "abc123",
  "workflowID": "4",
  "weightages": [Weightages],
  "updatedAt": "abc123",
  "createdAt": "abc123",
  "cronSyntax": "xyz789",
  "infra": Infrastructure,
  "workflowName": "xyz789",
  "workflowDescription": "abc123",
  "workflowTags": ["xyz789"],
  "workflowManifest": "xyz789",
  "isCronEnabled": true,
  "probe": [ProbeMap],
  "phase": "All",
  "resiliencyScore": 987.65,
  "experimentsPassed": 987,
  "experimentsFailed": 987,
  "experimentsAwaited": 987,
  "experimentsStopped": 987,
  "experimentsNa": 987,
  "totalExperiments": 123,
  "executionData": "abc123",
  "isRemoved": false,
  "updatedBy": UserDetails,
  "createdBy": UserDetails,
  "notifyID": "4",
  "errorResponse": "xyz789",
  "securityGovernance": SecurityGovernance,
  "runSequence": 987,
  "experimentType": "abc123"
}

WorkflowRunFilterInput

Description

Defines input type for workflow run filter

Fields
Input Field Description
runSequence - Int Sequence of the run
workflowName - String Name of the workflow
infraID - String Name of the infra infra
workflowType - ScenarioType Type of the workflow
workflowStatus - WorkflowRunStatus Status of the workflow run
dateRange - DateRange Date range for filtering purpose
workflowRunID - String ID of experiment run
workflowRunStatus - [String] Array of workflow run status
infraTypes - [InfrastructureType] Type of infras
Example
{}

WorkflowRunSortInput

Description

Defines sorting options for workflow runs

Fields
Input Field Description
field - WorkflowSortingField! Field in which sorting will be done
ascending - Boolean Bool value indicating whether the sorting will be done in ascending order
Example
{}

WorkflowRunStatus

Values
Enum Value Description

All

Running

Completed

Completed_With_Error

Completed_With_Probe_Failure

Stopped

Skipped

Error

Timeout

NA

Queued

Blocked

Example
{}

WorkflowSortInput

Description

Defines sorting options for workflow

Fields
Input Field Description
field - WorkflowSortingField! Field in which sorting will be done
ascending - Boolean Bool value indicating whether the sorting will be done in ascending order
Example
{}

WorkflowSortingField

Values
Enum Value Description

LAST_EXECUTED

LAST_MODIFIED

Example
{}

WorkflowType

Values
Enum Value Description

All

GamedayWorkflow

Workflow

CronWorkflow

ChaosEngine

ChaosSchedule

Example
{}

Workload

Fields
Field Name Description
label - String!
namespace - String!
Example
{
  "label": "xyz789",
  "namespace": "xyz789"
}

WorkloadInput

Fields
Input Field Description
label - String!
namespace - String!
Example
{}