Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Policies API

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

$.info
$.paths['/pm/api/v1/policies'].get
$.paths['/pm/api/v1/policies'].post
$.paths['/pm/api/v1/policies/move-policy/{identifier}'].post
$.paths['/pm/api/v1/policies/{identifier}'].get
$.paths['/pm/api/v1/policies/{identifier}'].delete
$.paths['/pm/api/v1/policies/{identifier}'].patch
$.paths['/pm/api/v1/policies/{identifier}/policysets'].get

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 Policies API
  version: 1.0.0
extends: openapi/harness-policies-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: 7
- target: $.paths['/pm/api/v1/policies'].get
  update:
    x-apievangelist-phrasing:
      intent: List OPA policies
      effect: read
      questions:
      - Which governance policies are defined in my Harness project?
      - Can I list policies without their Rego and with a count of policy sets each belongs to?
      instructions:
      - text: List policies in project {project} of org {org}.
        slots:
          project: query.projectIdentifier
          org: query.orgIdentifier
      - text: Search policies for {term} in account {account}.
        slots:
          term: query.searchTerm
          account: query.accountIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an OPA policy
      effect: write
      questions:
      - How do I write a new Rego policy in Harness?
      - Can I create a policy that's stored in a Git repository instead of inline?
      instructions:
      - text: 'Create policy {name} with identifier {identifier} and this Rego: {rego}'
        slots:
          name: requestBody.name
          identifier: requestBody.identifier
          rego: requestBody.rego
      - text: Create policy {name} ({identifier}) stored at {git_path} in repo {git_repo}.
        slots:
          name: requestBody.name
          identifier: requestBody.identifier
          git_path: requestBody.git_path
          git_repo: requestBody.git_repo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies/move-policy/{identifier}'].post
  update:
    x-apievangelist-phrasing:
      intent: Move an inline policy to Git
      effect: write
      questions:
      - Can I move a policy I wrote inline into a Git repository?
      - What commit message and path are needed to convert a policy to remote storage?
      instructions:
      - text: Move inline policy {identifier} to {git_path} in repo {git_repo} on branch {branch}, commit message {message}.
        slots:
          identifier: path.identifier
          git_path: requestBody.git_path
          git_repo: requestBody.git_repo
          branch: requestBody.git_branch
          message: requestBody.git_commit_msg
      - text: 'Convert policy {identifier} to remote Git storage in {git_repo} at {git_path} on {branch}: {message}'
        slots:
          identifier: path.identifier
          git_repo: requestBody.git_repo
          git_path: requestBody.git_path
          branch: requestBody.git_branch
          message: requestBody.git_commit_msg
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one policy by identifier
      effect: read
      questions:
      - What Rego does a specific policy contain?
      - Can I read a Git-backed policy from a particular branch?
      instructions:
      - text: Get policy {identifier}.
        slots:
          identifier: path.identifier
      - text: Show policy {identifier} as it exists on Git branch {branch}.
        slots:
          identifier: path.identifier
          branch: query.git_branch
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies/{identifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a policy
      effect: destructive
      questions:
      - Why can't I delete a policy that policy sets still reference?
      - Can I force-delete a policy even when it's used in policy sets?
      instructions:
      - text: Delete policy {identifier}.
        slots:
          identifier: path.identifier
      - text: Force delete policy {identifier} even if policy sets reference it.
        slots:
          identifier: path.identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies/{identifier}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a policy's name or Rego
      effect: write
      questions:
      - How do I change the Rego of an existing policy?
      - Can I rename a policy and commit the change to Git at the same time?
      instructions:
      - text: 'Replace the Rego of policy {identifier} with: {rego}'
        slots:
          identifier: path.identifier
          rego: requestBody.rego
      - text: Rename policy {identifier} to {name} with commit message {message}.
        slots:
          identifier: path.identifier
          name: requestBody.name
          message: query.git_commit_msg
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pm/api/v1/policies/{identifier}/policysets'].get
  update:
    x-apievangelist-phrasing:
      intent: List policy sets that use a policy
      effect: read
      questions:
      - Which policy sets reference a given policy?
      - What would be affected if I changed or removed this policy?
      instructions:
      - text: List the policy sets that reference policy {identifier}.
        slots:
          identifier: path.identifier
      - text: Search policy sets using policy {identifier} for {term}.
        slots:
          identifier: path.identifier
          term: query.searchTerm
      method: generated
      generated: '2026-09-26'