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.
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
# 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'