Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Argo Projects API

7 actions 7 updates phrasing extends openapi/harness-argoprojects-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 7

$.info
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects'].get
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects'].post
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}'].get
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}'].delete
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}/events'].get
$.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{request.project.metadata.name}'].put

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 Argo Projects API
  version: 1.0.0
extends: openapi/harness-argoprojects-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: 6
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects'].get
  update:
    x-apievangelist-phrasing:
      intent: List ArgoCD AppProjects on an agent
      effect: read
      questions:
      - Which ArgoCD AppProjects are mapped to my GitOps agent?
      - Can I filter an agent's AppProjects by name?
      instructions:
      - text: List ArgoCD AppProjects on agent {agent}.
        slots:
          agent: path.agentIdentifier
      - text: Find AppProjects named {name} on agent {agent}.
        slots:
          name: query.query.name
          agent: path.agentIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an ArgoCD AppProject in the cluster
      effect: write
      questions:
      - How do I create an ArgoCD AppProject through Harness?
      - Will creating an AppProject also set up the Harness mapping automatically?
      instructions:
      - text: Create AppProject {project} on agent {agent}.
        slots:
          project: requestBody.project
          agent: path.agentIdentifier
      - text: Create an AppProject on agent {agent} and map it to Harness project {harness_project}.
        slots:
          agent: path.agentIdentifier
          harness_project: query.mapToHarnessProject.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an ArgoCD AppProject by name
      effect: read
      questions:
      - Can I read the spec of one ArgoCD AppProject by its name?
      - Does an AppProject have to be mapped to Harness before I can view it?
      instructions:
      - text: Get AppProject {argo_project} on agent {agent}.
        slots:
          argo_project: path.query.name
          agent: path.agentIdentifier
      - text: Show the spec of AppProject {argo_project}.
        slots:
          argo_project: path.query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an ArgoCD AppProject from the cluster
      effect: destructive
      questions:
      - Can I delete an ArgoCD AppProject from the cluster?
      - Does deleting an AppProject also remove its Harness mapping?
      instructions:
      - text: Delete AppProject {argo_project} on agent {agent}.
        slots:
          argo_project: path.query.name
          agent: path.agentIdentifier
      - text: Remove AppProject {argo_project} from the cluster but keep the mapping.
        slots:
          argo_project: path.query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{query.name}/events'].get
  update:
    x-apievangelist-phrasing:
      intent: List Kubernetes events for an AppProject
      effect: read
      questions:
      - What Kubernetes events has an ArgoCD AppProject produced?
      - Can I troubleshoot an AppProject by looking at its cluster events?
      instructions:
      - text: List Kubernetes events for AppProject {argo_project} on agent {agent}.
        slots:
          argo_project: path.query.name
          agent: path.agentIdentifier
      - text: Show recent events of AppProject {argo_project}.
        slots:
          argo_project: path.query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gitops/api/v2/agents/{agentIdentifier}/argoprojects/{request.project.metadata.name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an ArgoCD AppProject spec
      effect: write
      questions:
      - How do I change the spec of an existing ArgoCD AppProject?
      - Can I update an AppProject that isn't mapped to a Harness project?
      instructions:
      - text: Update AppProject {argo_project} on agent {agent} with spec {project}.
        slots:
          argo_project: path.request.project.metadata.name
          agent: path.agentIdentifier
          project: requestBody.project
      - text: 'Apply this new spec to AppProject {argo_project}: {project}.'
        slots:
          argo_project: path.request.project.metadata.name
          project: requestBody.project
      method: generated
      generated: '2026-09-26'