# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Applications API version: 1.0.0 extends: openapi/harness-applications-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: 35 - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications'].get update: x-apievangelist-phrasing: intent: List GitOps applications managed by an agent effect: read questions: - Which GitOps applications does a particular Harness GitOps agent manage? - Can I narrow an agent's application list to ones from a specific Git repo? - What apps are deployed through my GitOps agent right now? instructions: - text: List all applications managed by GitOps agent {agent}. slots: agent: path.agentIdentifier - text: Show the applications on agent {agent} that come from repo {repo}. slots: agent: path.agentIdentifier repo: query.query.repo method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications'].post update: x-apievangelist-phrasing: intent: Create a GitOps application on an agent effect: write questions: - How do I register a new Argo-style application with my GitOps agent? - Can I create an application that upserts if it already exists? - Is it possible to skip repo validation when adding a new GitOps app? instructions: - text: Create a new GitOps application on agent {agent} in cluster {cluster}. slots: agent: path.agentIdentifier cluster: query.clusterIdentifier - text: Add an application to agent {agent} sourced from repository {repo}, upserting if it exists. slots: agent: path.agentIdentifier repo: query.repoIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/parent/{query.name}'].get update: x-apievangelist-phrasing: intent: Find the parent app of a GitOps application effect: read questions: - Which app-of-apps or ApplicationSet owns this child GitOps application? - Can I look up the parent application from a child app's name? instructions: - text: Find the parent application of child app {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier - text: Tell me which app of apps manages {app} under GitOps agent {agent}. slots: app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.applicationName}/managed-resources'].get update: x-apievangelist-phrasing: intent: List resources managed by a GitOps application effect: read questions: - What Kubernetes resources does my GitOps application manage? - Can I filter an application's managed resources by kind or namespace? instructions: - text: List the managed resources of application {app} on agent {agent}. slots: app: path.query.applicationName agent: path.agentIdentifier - text: Show managed resources of kind {kind} for app {app} on agent {agent}. slots: kind: query.query.kind app: path.query.applicationName agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.applicationName}/resource-tree'].get update: x-apievangelist-phrasing: intent: Get the resource tree of a GitOps application effect: read questions: - How are the resources in my GitOps application nested, from Deployment down to pods? - What does the full resource hierarchy of an application look like right now? instructions: - text: Get the resource tree snapshot for application {app} on agent {agent}. slots: app: path.query.applicationName agent: path.agentIdentifier - text: Show me the one-time hierarchy of resources owned by {app} via agent {agent}. slots: app: path.query.applicationName agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}'].get update: x-apievangelist-phrasing: intent: Get a GitOps application by name effect: read questions: - What is the current sync and health status of a specific GitOps application? - Can I force a refresh when fetching one application's details? instructions: - text: Get the details of GitOps application {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier - text: Fetch application {app} from agent {agent} with a {refresh} refresh. slots: app: path.query.name agent: path.agentIdentifier refresh: query.query.refresh method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/events'].get update: x-apievangelist-phrasing: intent: List Kubernetes events for a GitOps application effect: read questions: - What Kubernetes events has my GitOps application's resources emitted recently? - Can I see events for just one resource inside an application? instructions: - text: List the Kubernetes events for application {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier - text: Show events for resource {resource} in application {app} on agent {agent}. slots: resource: query.query.resourceName app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/logs'].get update: x-apievangelist-phrasing: intent: Stream logs across an application's pods effect: read questions: - How can I tail logs from all the pods in a GitOps application without naming a pod? - Can I stream application logs only from the last few minutes? instructions: - text: Stream logs for application {app} on agent {agent}, picking the pod by query. slots: app: path.query.name agent: path.agentIdentifier - text: Follow live logs for container {container} across application {app} on agent {agent}. slots: container: query.query.container app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/logs/batch'].get update: x-apievangelist-phrasing: intent: Fetch application pod logs in batches effect: read questions: - Can I pull an application's pod logs in chunks of up to 1000 lines instead of one at a time? - What's the batched way to read logs for a GitOps app when I don't know the pod name? instructions: - text: Fetch batched logs for application {app} on agent {agent}, up to 1000 entries per batch. slots: app: path.query.name agent: path.agentIdentifier - text: Get the last {lines} log lines in batches for application {app} on agent {agent}. slots: lines: query.query.tailLines app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/manifests'].get update: x-apievangelist-phrasing: intent: Get the rendered manifests of an application effect: read questions: - What Kubernetes manifests does my GitOps application render to? - Can I see an application's manifests at a specific Git revision? instructions: - text: Get the manifests for application {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier - text: Render manifests of {app} on agent {agent} at revision {revision}. slots: app: path.query.name agent: path.agentIdentifier revision: query.query.revision method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/pods/{query.podName}/logs'].get update: x-apievangelist-phrasing: intent: Stream logs from a named pod in an application effect: read questions: - How do I stream logs from one specific pod belonging to my GitOps app? - Can I see the previous container's logs for a pod that restarted? instructions: - text: Stream logs from pod {pod} in application {app} on agent {agent}. slots: pod: path.query.podName app: path.query.name agent: path.agentIdentifier - text: Follow logs of pod {pod} in {app} (agent {agent}) since {seconds} seconds ago. slots: pod: path.query.podName app: path.query.name agent: path.agentIdentifier seconds: query.query.sinceSeconds method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/pods/{query.podName}/logs/batch'].get update: x-apievangelist-phrasing: intent: Fetch a named pod's logs in batches effect: read questions: - Can I read a single pod's logs in 1000-entry batches rather than a live stream? - Is there a batched log read for a specific pod in a GitOps application? instructions: - text: Fetch batched logs from pod {pod} of application {app} on agent {agent}. slots: pod: path.query.podName app: path.query.name agent: path.agentIdentifier - text: Pull pod {pod} logs in batches for {app} on agent {agent}, filtered by {filter}. slots: pod: path.query.podName app: path.query.name agent: path.agentIdentifier filter: query.query.filter method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/revisions/{query.revision}/metadata'].get update: x-apievangelist-phrasing: intent: Get commit metadata for an application revision effect: read questions: - Who authored the commit my GitOps application is synced to, and what was the message? - Can I see the metadata behind a specific revision of an application? instructions: - text: Get the revision metadata for {revision} of application {app} on agent {agent}. slots: revision: path.query.revision app: path.query.name agent: path.agentIdentifier - text: Show the author and message for commit {revision} in app {app} via agent {agent}. slots: revision: path.query.revision app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{query.name}/syncwindows'].get update: x-apievangelist-phrasing: intent: Get the sync windows of an application effect: read questions: - When is my GitOps application allowed to sync, according to its sync windows? - Are there any sync windows currently blocking deployments for this app? instructions: - text: Show the sync windows for application {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier - text: Check whether sync windows block application {app} on agent {agent}. slots: app: path.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.application.metadata.name}'].put update: x-apievangelist-phrasing: intent: Replace a GitOps application definition effect: write questions: - How do I update an existing GitOps application's full definition? - Can I change which cluster or repo an application points to after creating it? instructions: - text: Update GitOps application {app} on agent {agent} with the new definition. slots: app: path.request.application.metadata.name agent: path.agentIdentifier - text: Repoint application {app} on agent {agent} to repository {repo}. slots: app: path.request.application.metadata.name agent: path.agentIdentifier repo: query.repoIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}'].delete update: x-apievangelist-phrasing: intent: Delete a GitOps application effect: destructive questions: - How do I remove a GitOps application from my agent? - Can I delete an application without cascading to its Kubernetes resources? instructions: - text: Delete GitOps application {app} from agent {agent}. slots: app: path.request.name agent: path.agentIdentifier - text: Remove application {app} on agent {agent} with cascade set to {cascade}. slots: app: path.request.name agent: path.agentIdentifier cascade: query.request.cascade method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}'].patch update: x-apievangelist-phrasing: intent: Apply a patch to a GitOps application effect: write questions: - Can I patch just a few fields of a GitOps application instead of replacing it? - What's the way to send a JSON or merge patch to an application? instructions: - text: Patch GitOps application {app} on agent {agent} with my changes. slots: app: path.request.name agent: path.agentIdentifier - text: Apply patch request {patch} to application {app} on agent {agent}. slots: patch: requestBody.request app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/operation'].delete update: x-apievangelist-phrasing: intent: Stop an application's running operation effect: destructive questions: - How do I cancel a sync that's stuck in progress on a GitOps application? - Can I terminate whatever operation an application is currently running? instructions: - text: Terminate the running operation on application {app} on agent {agent}. slots: app: path.request.name agent: path.agentIdentifier - text: Cancel the in-progress sync for {app} under agent {agent}. slots: app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/resource'].get update: x-apievangelist-phrasing: intent: Get one resource inside a GitOps application effect: read questions: - How do I see the live state of a single Kubernetes resource in my GitOps app? - Can I fetch one Deployment's live manifest from an application? instructions: - text: Get resource {resource} of kind {kind} in application {app} on agent {agent}. slots: resource: query.request.resourceName kind: query.request.kind app: path.request.name agent: path.agentIdentifier - text: Show the live {resource} in namespace {namespace} for app {app} on agent {agent}. slots: resource: query.request.resourceName namespace: query.request.namespace app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/resource'].post update: x-apievangelist-phrasing: intent: Patch a single resource in an application effect: write questions: - Can I patch one Kubernetes resource inside a GitOps app, like bumping replicas? - Which patch types are supported when editing an application's resource? instructions: - text: Patch resource {resource} in application {app} on agent {agent} with {patch}. slots: resource: requestBody.resourceName app: path.request.name agent: path.agentIdentifier patch: requestBody.patch - text: Apply a {patch_type} patch to {resource} of kind {kind} in app {app} on agent {agent}. slots: patch_type: requestBody.patchType resource: requestBody.resourceName kind: requestBody.kind app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/resource'].delete update: x-apievangelist-phrasing: intent: Delete a single resource from an application effect: destructive questions: - How do I delete one pod or Deployment that belongs to a GitOps application? - Can I force-delete or orphan a resource inside an application? instructions: - text: Delete resource {resource} of kind {kind} from application {app} on agent {agent}. slots: resource: query.request.resourceName kind: query.request.kind app: path.request.name agent: path.agentIdentifier - text: Force delete {resource} in namespace {namespace} within app {app} on agent {agent}. slots: resource: query.request.resourceName namespace: query.request.namespace app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/resource/actions'].get update: x-apievangelist-phrasing: intent: List actions available on an application resource effect: read questions: - What custom actions, like restart, can I run on a resource in my GitOps app? - Which resource actions are available for a given Deployment in an application? instructions: - text: List the available actions for resource {resource} in application {app} on agent {agent}. slots: resource: query.request.resourceName app: path.request.name agent: path.agentIdentifier - text: Show what actions I can run on {kind} {resource} in app {app} (agent {agent}). slots: kind: query.request.kind resource: query.request.resourceName app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/resource/actions'].post update: x-apievangelist-phrasing: intent: Run an action on an application resource effect: write questions: - How do I trigger a restart action on a Deployment in my GitOps application? - Can I run a named resource action against one resource in an app? instructions: - text: Run action {action} on resource {resource} in application {app} on agent {agent}. slots: action: requestBody.action resource: requestBody.resourceName app: path.request.name agent: path.agentIdentifier - text: Restart {kind} {resource} in app {app} via agent {agent} using action {action}. slots: kind: requestBody.kind resource: requestBody.resourceName app: path.request.name agent: path.agentIdentifier action: requestBody.action method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/rollback'].post update: x-apievangelist-phrasing: intent: Roll back a GitOps application to a prior deploy effect: write questions: - How do I roll a GitOps application back to an earlier deployment? - Can I dry-run a rollback before actually doing it? instructions: - text: Roll back application {app} on agent {agent} to history entry {history_id}. slots: app: path.request.name agent: path.agentIdentifier history_id: requestBody.id - text: Do a dry-run rollback of {app} on agent {agent} with pruning enabled. slots: app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/spec'].put update: x-apievangelist-phrasing: intent: Update only the spec of a GitOps application effect: write questions: - Can I change just an application's spec, such as its source or destination, without touching metadata? - How do I edit the sync policy in a GitOps application's spec? instructions: - text: Update the spec of application {app} on agent {agent} to {spec}. slots: app: path.request.name agent: path.agentIdentifier spec: requestBody.spec - text: Validate and replace only the spec section for {app} on agent {agent}. slots: app: path.request.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/sync'].post update: x-apievangelist-phrasing: intent: Sync a GitOps application to its target state effect: write questions: - How do I deploy the latest Git changes by syncing one GitOps application? - Can I sync an application to a specific revision with prune turned on? - Is there a dry-run option when syncing a single app? instructions: - text: Sync application {app} on agent {agent}. slots: app: path.request.name agent: path.agentIdentifier - text: Sync {app} on agent {agent} to revision {revision} and prune removed resources. slots: app: path.request.name agent: path.agentIdentifier revision: requestBody.revision method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/stream/applications'].get update: x-apievangelist-phrasing: intent: Watch a stream of application change events effect: read questions: - Can I subscribe to live change events for the applications on a GitOps agent? - How do I get notified as applications on an agent change state? instructions: - text: Watch application change events on agent {agent}. slots: agent: path.agentIdentifier - text: Stream change events for application {app} on agent {agent}. slots: app: query.query.name agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/agents/{agentIdentifier}/stream/applications/{query.applicationName}/resource-tree'].get update: x-apievangelist-phrasing: intent: Stream live updates to an application's resource tree effect: read questions: - Can I keep a live stream open of an application's resource tree as it changes? - Is there a streaming version of the resource hierarchy for a GitOps app? instructions: - text: Stream resource tree updates for application {app} on agent {agent}. slots: app: path.query.applicationName agent: path.agentIdentifier - text: Keep watching the resource tree of {app} via agent {agent} as it changes. slots: app: path.query.applicationName agent: path.agentIdentifier method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/attributes'].get update: x-apievangelist-phrasing: intent: List attributes for GitOps applications effect: read questions: - What attributes are recorded for my GitOps applications? - Can I get attributes for a specific set of application identifiers? instructions: - text: List attributes for applications {apps} in project {project}. slots: apps: query.applicationIdentifiers project: query.projectIdentifier - text: Show application attributes across my project. method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/bulk/refresh'].post update: x-apievangelist-phrasing: intent: Refresh many GitOps applications at once effect: write questions: - How do I refresh the status of several GitOps applications in one call? - Can I do a hard refresh on a batch of apps to bypass the manifest cache? instructions: - text: Refresh applications {targets} in bulk. slots: targets: requestBody.applicationTargets - text: Run a {refresh} refresh across applications {targets}. slots: refresh: requestBody.refresh targets: requestBody.applicationTargets method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/bulk/sync'].post update: x-apievangelist-phrasing: intent: Sync many GitOps applications at once effect: write questions: - Can I kick off a sync for a whole batch of GitOps applications together? - Is a dry run supported when syncing multiple apps in bulk? instructions: - text: Bulk sync applications {targets} to their target state. slots: targets: requestBody.applicationTargets - text: Dry-run a bulk sync of {targets} with prune enabled. slots: targets: requestBody.applicationTargets method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/ns'].post update: x-apievangelist-phrasing: intent: Search namespaces used by GitOps applications effect: read questions: - Which Kubernetes namespaces are my GitOps applications deployed into? - Can I search application namespaces by a partial name? instructions: - text: List the namespaces of GitOps applications matching {term}. slots: term: requestBody.searchTerm - text: Show application namespaces in project {project}, {size} per page. slots: project: requestBody.projectIdentifier size: requestBody.pageSize method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/sets'].get update: x-apievangelist-phrasing: intent: List legacy ApplicationSets in a project effect: read questions: - What legacy ApplicationSets exist in my Harness project? - Can I search legacy application sets by name? instructions: - text: List legacy ApplicationSets in project {project}. slots: project: query.projectIdentifier - text: Find legacy application sets whose name matches {term}. slots: term: query.searchTerm method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/sync'].post update: x-apievangelist-phrasing: intent: List sync history and status for applications effect: read questions: - When did my GitOps applications last sync, and did those syncs succeed? - Can I filter sync records by operation phase or date range? - Which syncs failed for a given service and environment? instructions: - text: List sync status records for application {app}. slots: app: requestBody.applicationName - text: Show application syncs in phase {phase} between {start} and {end}. slots: phase: requestBody.operationPhase start: requestBody.startTime end: requestBody.endTime method: generated generated: '2026-09-26' - target: $.paths['/gitops/api/v1/applications/{name}/exists'].get update: x-apievangelist-phrasing: intent: Check whether an application name is taken effect: read questions: - Is there already a GitOps application with this name? - Can two applications share a name if they live in different app namespaces? instructions: - text: Check if an application named {name} exists. slots: name: path.name - text: Check whether {name} is already used in app namespace {namespace} on agent {agent}. slots: name: path.name namespace: query.appNamespace agent: query.agentIdentifier method: generated generated: '2026-09-26'