Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Agents API
26 actions
26 updates
phrasing
extends
openapi/harness-agents-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.
What the actions change
x-apievangelist-phrasing
Targets 26 · first 16 shown; the file carries all of them
$.info
$.paths['/gitops/api/v1/agents'].get
$.paths['/gitops/api/v1/agents'].post
$.paths['/gitops/api/v1/agents/ns'].get
$.paths['/gitops/api/v1/agents/search'].post
$.paths['/gitops/api/v1/agents/tags'].get
$.paths['/gitops/api/v1/agents/versions'].get
$.paths['/gitops/api/v1/agents/{agent.identifier}'].put
$.paths['/gitops/api/v1/agents/{agentIdentifier}/deploy.yaml'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/deployment-spec/helm'].post
$.paths['/gitops/api/v1/agents/{agentIdentifier}/deployment-spec/yaml'].post
$.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-chart'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-overrides'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-overrides'].post
$.paths['/gitops/api/v1/agents/{agentIdentifier}/operator/yaml'].get
$.paths['/gitops/api/v1/agents/{agentIdentifier}/operator/yaml'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Harness Agents API
version: 1.0.0
extends: openapi/harness-agents-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: 25
- target: $.paths['/gitops/api/v1/agents'].get
update:
x-apievangelist-phrasing:
intent: List GitOps agents
effect: read
questions:
- Which GitOps agents are registered in my Harness project?
- Can I list only the GitOps agents that are disconnected or unhealthy?
- How do I page through all my GitOps agents sorted by name?
instructions:
- text: List the GitOps agents in project {project}.
slots:
project: query.projectIdentifier
- text: Show GitOps agents whose health status is {health}.
slots:
health: query.healthStatus
- text: List all my GitOps agents.
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents'].post
update:
x-apievangelist-phrasing:
intent: Register a new GitOps agent
effect: write
questions:
- How do I register a new GitOps agent in Harness?
- Can I create a GitOps agent scoped to a single project rather than the whole account?
instructions:
- text: Create a GitOps agent named {name} with identifier {identifier}.
slots:
name: requestBody.name
identifier: requestBody.identifier
- text: Register a new GitOps agent {name} in project {project} of org {org}.
slots:
name: requestBody.name
project: requestBody.projectIdentifier
org: requestBody.orgIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/ns'].get
update:
x-apievangelist-phrasing:
intent: List namespaces GitOps agents run in
effect: read
questions:
- Which Kubernetes namespaces are my GitOps agents installed in?
- What namespaces are in use by agents in this project?
instructions:
- text: List the namespaces used by GitOps agents in project {project}.
slots:
project: query.projectIdentifier
- text: Show every namespace my GitOps agents are deployed into.
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/search'].post
update:
x-apievangelist-phrasing:
intent: Search GitOps agents with filters
effect: read
questions:
- Can I search GitOps agents by a search term and filter by mapped projects?
- Is there a way to run a filtered search over agents with a request body instead of query params?
instructions:
- text: Search GitOps agents matching {term}.
slots:
term: requestBody.searchTerm
- text: Search for GitOps agents of type {type} that are {connected}.
slots:
type: requestBody.type
connected: requestBody.connectedStatus
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/tags'].get
update:
x-apievangelist-phrasing:
intent: List tags used on GitOps agents
effect: read
questions:
- What tags have been applied to my GitOps agents?
- Which agent tags exist in this org so I can filter by them?
instructions:
- text: List the tags on GitOps agents in org {org}.
slots:
org: query.orgIdentifier
- text: Show all distinct GitOps agent tags.
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/versions'].get
update:
x-apievangelist-phrasing:
intent: List versions of GitOps agents
effect: read
questions:
- Which versions are my GitOps agents running?
- Are my agents on different versions across this project?
instructions:
- text: List the versions of GitOps agents in project {project}.
slots:
project: query.projectIdentifier
- text: Show which GitOps agent versions are in use.
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agent.identifier}'].put
update:
x-apievangelist-phrasing:
intent: Update a GitOps agent's details
effect: write
questions:
- Can I change the tags or metadata on an existing GitOps agent?
- How do I rename or update the description of a GitOps agent?
instructions:
- text: Update GitOps agent {agent} to have the description {description}.
slots:
agent: path.agent.identifier
description: requestBody.description
- text: Change the tags on GitOps agent {agent} to {tags}.
slots:
agent: path.agent.identifier
tags: requestBody.tags
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/deploy.yaml'].get
update:
x-apievangelist-phrasing:
intent: Download an agent's install manifest YAML
effect: read
questions:
- Where do I get the Kubernetes YAML manifest to install a GitOps agent?
- Can I fetch the agent install YAML for a specific namespace and skip the CRDs?
instructions:
- text: Get the deployment YAML for GitOps agent {agent} in namespace {namespace}.
slots:
agent: path.agentIdentifier
namespace: query.namespace
- text: Download the install manifest for agent {agent} without CRDs.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/deployment-spec/helm'].post
update:
x-apievangelist-phrasing:
intent: Generate an agent Helm chart from settings
effect: read
questions:
- Can I generate the GitOps agent Helm chart by posting proxy and Argo CD settings in the body?
- What do I send to build a Helm chart for an agent with a custom CA and proxy?
instructions:
- text: Generate the Helm chart for agent {agent} using proxy settings {proxy}.
slots:
agent: path.agentIdentifier
proxy: requestBody.proxy
- text: Build a Helm chart for GitOps agent {agent} targeting namespace {namespace} via a POST request.
slots:
agent: path.agentIdentifier
namespace: requestBody.namespace
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/deployment-spec/yaml'].post
update:
x-apievangelist-phrasing:
intent: Generate agent install YAML from posted settings
effect: read
questions:
- Can I post my proxy and private key settings to get a GitOps agent install YAML back?
- Is there a POST version of the agent manifest generator that takes Argo CD settings?
instructions:
- text: Generate install YAML for agent {agent} with Argo CD settings {argocd} in the request body.
slots:
agent: path.agentIdentifier
argocd: requestBody.argocdSettings
- text: Post deployment settings for agent {agent} and return the plain YAML manifest for namespace {namespace}.
slots:
agent: path.agentIdentifier
namespace: requestBody.namespace
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-chart'].get
update:
x-apievangelist-phrasing:
intent: Download the Helm chart for an agent
effect: read
questions:
- How do I download the Helm chart to install a GitOps agent?
- Can I get the agent's Helm chart for a disaster recovery node?
instructions:
- text: Download the Helm chart for GitOps agent {agent}.
slots:
agent: path.agentIdentifier
- text: Get the Helm chart for agent {agent} for disaster recovery node {dr}.
slots:
agent: path.agentIdentifier
dr: query.disasterRecoveryIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-overrides'].get
update:
x-apievangelist-phrasing:
intent: Get Helm values overrides for an agent
effect: read
questions:
- Where can I get the Helm values overrides file for my GitOps agent?
- What overrides should I pass to helm install for this agent?
instructions:
- text: Get the Helm overrides for GitOps agent {agent}.
slots:
agent: path.agentIdentifier
- text: Fetch the values overrides for agent {agent} in namespace {namespace}.
slots:
agent: path.agentIdentifier
namespace: query.namespace
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/helm-overrides'].post
update:
x-apievangelist-phrasing:
intent: Generate Helm overrides from posted settings
effect: read
questions:
- Can I post proxy and CA settings to generate Helm overrides for an agent install?
- Is there a way to build agent Helm values overrides from a request body?
instructions:
- text: Generate Helm overrides for agent {agent} posting the CA data {ca}.
slots:
agent: path.agentIdentifier
ca: requestBody.caData
- text: Build the Helm values overrides for GitOps agent {agent} with a POST body.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/operator/yaml'].get
update:
x-apievangelist-phrasing:
intent: Get the operator YAML for an agent
effect: read
questions:
- How do I get the operator YAML to deploy a GitOps agent with an operator?
- Can I download the agent's operator manifest for a given namespace?
instructions:
- text: Get the operator YAML for GitOps agent {agent}.
slots:
agent: path.agentIdentifier
- text: Download the operator manifest for agent {agent} in namespace {namespace}.
slots:
agent: path.agentIdentifier
namespace: query.namespace
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/operator/yaml'].post
update:
x-apievangelist-phrasing:
intent: Generate operator YAML from posted settings
effect: read
questions:
- Can I post my settings to generate an operator-based install YAML for an agent?
- Is there a POST form of the operator manifest generator that accepts a private key?
instructions:
- text: Generate the operator YAML for agent {agent} by posting private key {key}.
slots:
agent: path.agentIdentifier
key: requestBody.privateKey
- text: Post operator settings for GitOps agent {agent} and return its operator manifest.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/primaryNode'].patch
update:
x-apievangelist-phrasing:
intent: Set an agent's primary disaster recovery node
effect: write
questions:
- How do I fail over a GitOps agent to its disaster recovery node?
- Can I disable sync windows when switching the primary DR node?
instructions:
- text: Make disaster recovery node {dr} the primary node for agent {agent}.
slots:
dr: requestBody.disasterRecoveryIdentifier
agent: path.agentIdentifier
- text: Switch agent {agent} to its DR node and disable sync windows.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/sync-allowed'].get
update:
x-apievangelist-phrasing:
intent: Check whether an agent is allowed to sync
effect: read
questions:
- Is syncing currently allowed for this GitOps agent?
- Can I check if deny sync windows are blocking an agent?
instructions:
- text: Check whether GitOps agent {agent} is allowed to sync.
slots:
agent: path.agentIdentifier
- text: Show the sync-allowed status of agent {agent}.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/sync-allowed'].put
update:
x-apievangelist-phrasing:
intent: Allow or block syncs for an agent
effect: write
questions:
- How do I pause all syncs for a GitOps agent?
- Can I block application syncs by adding deny sync windows to an agent's app projects?
instructions:
- text: Set sync allowed to {allowed} for GitOps agent {agent}.
slots:
allowed: requestBody.syncAllowed
agent: path.agentIdentifier
- text: Block syncs on agent {agent} by creating deny sync windows.
slots:
agent: path.agentIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}'].get
update:
x-apievangelist-phrasing:
intent: Get a GitOps agent's details
effect: read
questions:
- What are the details and health of a specific GitOps agent?
- Can I look up one agent by its identifier and include its credentials?
instructions:
- text: Get GitOps agent {identifier}.
slots:
identifier: path.identifier
- text: Show details for agent {identifier} in project {project}.
slots:
identifier: path.identifier
project: query.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a GitOps agent
effect: destructive
questions:
- How do I remove a GitOps agent I no longer use?
- Can I delete an agent that belongs to a specific project?
instructions:
- text: Delete GitOps agent {identifier}.
slots:
identifier: path.identifier
- text: Remove agent {identifier} from project {project}.
slots:
identifier: path.identifier
project: query.projectIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}/credentials'].post
update:
x-apievangelist-phrasing:
intent: Regenerate a GitOps agent's credentials
effect: write
questions:
- How do I rotate the credentials a GitOps agent uses to connect?
- Can I issue fresh credentials for an agent whose secret leaked?
instructions:
- text: Regenerate credentials for GitOps agent {identifier}.
slots:
identifier: path.identifier
- text: Issue new connection credentials for agent {identifier}.
slots:
identifier: path.identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}/scale'].post
update:
x-apievangelist-phrasing:
intent: Scale a hosted GitOps agent
effect: write
questions:
- How do I change the number of replicas for a Harness-hosted GitOps agent?
- Can I scale up a hosted agent to handle more applications?
instructions:
- text: Scale hosted agent {identifier} to {replicas} replicas.
slots:
identifier: path.identifier
replicas: requestBody.replicas
- text: Scale up hosted GitOps agent {identifier}.
slots:
identifier: path.identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}/secret-resolution/enabled'].get
update:
x-apievangelist-phrasing:
intent: Check if secret resolution is enabled for an agent
effect: read
questions:
- Is Harness secret resolution turned on for this GitOps agent?
- Can an agent resolve Harness secrets in its manifests?
instructions:
- text: Check whether secret resolution is enabled on agent {identifier}.
slots:
identifier: path.identifier
- text: Tell me if GitOps agent {identifier} can resolve Harness secrets.
slots:
identifier: path.identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v1/agents/{identifier}/unique'].get
update:
x-apievangelist-phrasing:
intent: Check an agent identifier for uniqueness
effect: read
questions:
- Is this GitOps agent identifier already taken?
- Can I verify an agent identifier is unique before creating it?
instructions:
- text: Check if agent identifier {identifier} is unique.
slots:
identifier: path.identifier
- text: Verify no other GitOps agent already uses {identifier}.
slots:
identifier: path.identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/versions/agents/upgrade-available'].get
update:
x-apievangelist-phrasing:
intent: Check for a newer GitOps agent version
effect: read
questions:
- Is there a newer GitOps agent version I should upgrade to?
- What agent upgrade is available for the version I'm running?
instructions:
- text: Check whether an upgrade is available for agent version {version}.
slots:
version: query.existingVersion
- text: See if a new GitOps agent release is out.
method: generated
generated: '2026-09-26'