Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Clusters API

18 actions 18 updates phrasing extends openapi/harness-clusters-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Harness's API. It is a proposal applied on top of the contract, not a document Harness publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 18 · first 16 shown; the file carries all of them

$.info
$.paths['/ng/api/gitops/clusters/{identifier}'].get
$.paths['/ng/api/gitops/clusters/{identifier}'].delete
$.paths['/ng/api/gitops/clusters'].get
$.paths['/ng/api/gitops/clusters'].post
$.paths['/ng/api/gitops/clusters/batch'].post
$.paths['/ng/api/gitops/clusters/batchunlink'].post
$.paths['/gitops/api/v1/agents/{agentIdentifier}/cluster_byname'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/cluster_byurl'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters'].post
$.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].put
$.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].delete
$.paths['/gitops/api/v1/agents/{agentIdentifier}/gpgkeys'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/hosted/cluster'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Harness Clusters API
  version: 1.0.0
extends: openapi/harness-clusters-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 17
- target: $.paths['/ng/api/gitops/clusters/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a GitOps cluster linked to an environment
      effect: read
      questions:
      - Which cluster is linked to a given Harness environment under a specific identifier?
      - Can I see an environment-linked cluster link even if it was deleted?
      instructions:
      - text: Get the cluster link {identifier} on environment {environment}.
        slots:
          identifier: path.identifier
          environment: query.environmentIdentifier
      - text: Show environment {environment}'s linked cluster {identifier} in account {account}.
        slots:
          environment: query.environmentIdentifier
          identifier: path.identifier
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/gitops/clusters/{identifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink a cluster from an environment
      effect: destructive
      questions:
      - How do I detach one GitOps cluster from a Harness environment?
      - Does unlinking a cluster from an environment delete the cluster itself?
      instructions:
      - text: Unlink cluster {identifier} from environment {environment}.
        slots:
          identifier: path.identifier
          environment: query.environmentIdentifier
      - text: Detach cluster {identifier} from environment {environment} in account {account}.
        slots:
          identifier: path.identifier
          environment: query.environmentIdentifier
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/gitops/clusters'].get
  update:
    x-apievangelist-phrasing:
      intent: List clusters linked to an environment
      effect: read
      questions:
      - Which GitOps clusters are linked to my staging environment?
      - Can I search the clusters attached to an environment by name?
      instructions:
      - text: List clusters linked to environment {environment}.
        slots:
          environment: query.environmentIdentifier
      - text: Search clusters linked to environment {environment} for {searchTerm}.
        slots:
          environment: query.environmentIdentifier
          searchTerm: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/gitops/clusters'].post
  update:
    x-apievangelist-phrasing:
      intent: Link one GitOps cluster to an environment
      effect: write
      questions:
      - How do I attach a single GitOps cluster to a Harness environment?
      - Can I link a cluster managed by a particular GitOps agent to an environment?
      instructions:
      - text: Link cluster {identifier} to environment {envRef}.
        slots:
          identifier: requestBody.identifier
          envRef: requestBody.envRef
      - text: Attach cluster {identifier} from agent {agent} to environment {envRef}.
        slots:
          identifier: requestBody.identifier
          agent: requestBody.agentIdentifier
          envRef: requestBody.envRef
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/gitops/clusters/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Link several clusters to an environment at once
      effect: write
      questions:
      - Can I link many GitOps clusters to one environment in a single call?
      - Is there a way to link every available cluster to an environment at once?
      instructions:
      - text: Link clusters {clusters} to environment {envRef} in one batch.
        slots:
          clusters: requestBody.clusters
          envRef: requestBody.envRef
      - text: Link all available clusters to environment {envRef}.
        slots:
          envRef: requestBody.envRef
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/gitops/clusters/batchunlink'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink several clusters from an environment
      effect: destructive
      questions:
      - How do I detach many clusters from an environment at once?
      - Can I unlink every cluster from an environment in one request?
      instructions:
      - text: Unlink clusters {clusters} from environment {envRef} in one batch.
        slots:
          clusters: requestBody.clusters
          envRef: requestBody.envRef
      - text: Unlink all clusters from environment {envRef}.
        slots:
          envRef: requestBody.envRef
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/cluster_byname'].get
  update:
    x-apievangelist-phrasing:
      intent: Find an agent's cluster by name
      effect: read
      questions:
      - Can I look up a cluster a GitOps agent manages using its cluster name?
      - What is registered on my GitOps agent under a particular cluster name?
      instructions:
      - text: Find the cluster named {name} on GitOps agent {agent}.
        slots:
          name: query.name
          agent: path.agentIdentifier
      - text: Look up agent {agent}'s cluster by name {name} in project {project}.
        slots:
          agent: path.agentIdentifier
          name: query.name
          project: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/cluster_byurl'].get
  update:
    x-apievangelist-phrasing:
      intent: Find an agent's cluster by server URL
      effect: read
      questions:
      - Which cluster on my GitOps agent points at a given Kubernetes API server URL?
      - Can I resolve a cluster from its server address instead of its identifier?
      instructions:
      - text: Find the cluster with server URL {server} on GitOps agent {agent}.
        slots:
          server: query.server
          agent: path.agentIdentifier
      - text: Look up agent {agent}'s cluster at {server}.
        slots:
          agent: path.agentIdentifier
          server: query.server
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters'].get
  update:
    x-apievangelist-phrasing:
      intent: List clusters managed by a GitOps agent
      effect: read
      questions:
      - Which clusters does a specific GitOps agent manage?
      - Can I narrow an agent's cluster list to one Argo project?
      instructions:
      - text: List clusters managed by GitOps agent {agent}.
        slots:
          agent: path.agentIdentifier
      - text: List agent {agent}'s clusters in Argo project {argoProject}.
        slots:
          agent: path.agentIdentifier
          argoProject: query.query.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a cluster on a GitOps agent
      effect: write
      questions:
      - How do I add a new Kubernetes cluster to a Harness GitOps agent?
      - Can I upsert a cluster on an agent if it already exists?
      instructions:
      - text: Create cluster {identifier} on GitOps agent {agent} with config {cluster}.
        slots:
          identifier: query.identifier
          agent: path.agentIdentifier
          cluster: requestBody.cluster
      - text: Add cluster {cluster} on agent {agent}, overwriting it if it exists (upsert {upsert}).
        slots:
          cluster: requestBody.cluster
          agent: path.agentIdentifier
          upsert: requestBody.upsert
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a GitOps agent cluster by identifier
      effect: read
      questions:
      - What is the configuration of a cluster registered on my GitOps agent?
      - Can I fetch a single agent cluster by its Harness identifier?
      instructions:
      - text: Get cluster {identifier} on GitOps agent {agent}.
        slots:
          identifier: path.identifier
          agent: path.agentIdentifier
      - text: Show agent {agent}'s cluster {identifier} in project {project}.
        slots:
          agent: path.agentIdentifier
          identifier: path.identifier
          project: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a cluster on a GitOps agent
      effect: write
      questions:
      - How do I change the configuration of a cluster registered on a GitOps agent?
      - Can I force an update to an agent cluster or only touch specific fields?
      instructions:
      - text: Update cluster {identifier} on agent {agent} with {cluster}.
        slots:
          identifier: path.identifier
          agent: path.agentIdentifier
          cluster: requestBody.cluster
      - text: Change only fields {updatedFields} on agent {agent}'s cluster {identifier}.
        slots:
          updatedFields: requestBody.updatedFields
          agent: path.agentIdentifier
          identifier: path.identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/clusters/{identifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a cluster from a GitOps agent
      effect: destructive
      questions:
      - How do I remove a cluster from a GitOps agent entirely?
      - Can I force-delete an agent cluster that is still in use?
      instructions:
      - text: Delete cluster {identifier} from GitOps agent {agent}.
        slots:
          identifier: path.identifier
          agent: path.agentIdentifier
      - text: Delete agent {agent}'s cluster {identifier} with force delete set to {forceDelete}.
        slots:
          agent: path.agentIdentifier
          identifier: path.identifier
          forceDelete: query.forceDelete
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/gpgkeys'].get
  update:
    x-apievangelist-phrasing:
      intent: List GPG keys on a GitOps agent
      effect: read
      questions:
      - Which GPG keys are configured on my GitOps agent for verifying commits?
      - Can I check whether a specific GPG key ID is present on an agent?
      instructions:
      - text: List the GPG keys on GitOps agent {agent}.
        slots:
          agent: path.agentIdentifier
      - text: Check agent {agent} for GPG key {keyID}.
        slots:
          agent: path.agentIdentifier
          keyID: query.query.keyID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/hosted/cluster'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a Harness-hosted cluster for an agent
      effect: write
      questions:
      - Can Harness host a cluster for my GitOps agent instead of me bringing one?
      - How do I spin up a Harness-hosted cluster for a GitOps agent?
      instructions:
      - text: Create a Harness-hosted cluster for GitOps agent {agent}.
        slots:
          agent: path.agentIdentifier
      - text: Provision a hosted cluster on agent {agent}.
        slots:
          agent: path.agentIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/clusters'].post
  update:
    x-apievangelist-phrasing:
      intent: Search GitOps clusters across agents
      effect: read
      questions:
      - Which GitOps clusters exist across all agents in my project?
      - Can I search clusters and include child org and project scopes?
      instructions:
      - text: Search all GitOps clusters in project {project} for {searchTerm}.
        slots:
          project: requestBody.projectIdentifier
          searchTerm: requestBody.searchTerm
      - text: List GitOps clusters across every agent in account {account}, sorted by {sortBy}.
        slots:
          account: requestBody.accountIdentifier
          sortBy: requestBody.sortBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/clusters/exists'].get
  update:
    x-apievangelist-phrasing:
      intent: Check whether a GitOps cluster exists
      effect: read
      questions:
      - Is a cluster with this server URL already registered in GitOps?
      - Can I check for an existing cluster before adding it to an agent?
      instructions:
      - text: Check whether a cluster with server {server} exists.
        slots:
          server: query.server
      - text: Check if agent {agent} already has a cluster at {server}.
        slots:
          agent: query.agentIdentifier
          server: query.server
      method: generated
      generated: '2026-09-26'