Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Settings API
13 actions
13 updates
phrasing
extends
openapi/harness-settings-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 13
$.info
$.paths['/code/api/v1/settings/general'].get
$.paths['/code/api/v1/settings/general'].patch
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].put
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].delete
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/disabled'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].put
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].delete
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].put
$.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].delete
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 Settings API
version: 1.0.0
extends: openapi/harness-settings-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: 12
- target: $.paths['/code/api/v1/settings/general'].get
update:
x-apievangelist-phrasing:
intent: Get general Code repository settings for a scope
effect: read
questions:
- What default branch is configured for new Harness Code repositories in my project?
- Can I see which general settings a project inherits from its org or account?
instructions:
- text: Get the general code settings for account {account}.
slots:
account: query.accountIdentifier
- text: Show inherited general settings for project {project} in org {org}, account {account}.
slots:
project: query.projectIdentifier
org: query.orgIdentifier
account: query.accountIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/code/api/v1/settings/general'].patch
update:
x-apievangelist-phrasing:
intent: Change the default branch for a scope
effect: write
questions:
- How do I change the default branch name used for new repositories?
- Can I set a different default branch per project rather than account-wide?
instructions:
- text: Set the default branch to {branch} for account {account}.
slots:
branch: requestBody.default_branch
account: query.accountIdentifier
- text: Update project {project} in account {account} to use {branch} as default branch.
slots:
project: query.projectIdentifier
account: query.accountIdentifier
branch: requestBody.default_branch
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].get
update:
x-apievangelist-phrasing:
intent: List default pipelines for IaC operations
effect: read
questions:
- Which pipelines run by default for plan and apply operations in my IaCM project?
- Can I see the default pipeline mappings for just one workspace?
instructions:
- text: List default pipeline associations in project {project}, org {org}, account {account}.
slots:
project: path.project
org: path.org
account: header.Harness-Account
- text: Show the default pipelines for workspace {workspace} in {org}/{project}.
slots:
workspace: query.workspace
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].put
update:
x-apievangelist-phrasing:
intent: Set the default pipeline for a provisioner operation
effect: write
questions:
- How do I make a specific pipeline the default for Terraform plan runs in a project?
- Can I override the default pipeline for an operation in only one workspace?
instructions:
- text: Set pipeline {pipeline} as the default for {operation} with {provisioner} in {org}/{project}.
slots:
pipeline: requestBody.pipeline
operation: requestBody.operation
provisioner: requestBody.provisioner
org: path.org
project: path.project
- text: Associate default pipeline {pipeline} with {operation} for workspace {workspace} in {org}/{project}.
slots:
pipeline: requestBody.pipeline
operation: requestBody.operation
workspace: requestBody.workspace
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/default-pipelines'].delete
update:
x-apievangelist-phrasing:
intent: Remove a default pipeline association
effect: destructive
questions:
- How do I stop a pipeline from being the default for a provisioner operation?
- Can I clear a workspace-level default pipeline override?
instructions:
- text: Remove the default pipeline for {operation} with {provisioner} in {org}/{project}.
slots:
operation: requestBody.operation
provisioner: requestBody.provisioner
org: path.org
project: path.project
- text: Unset the {operation} default pipeline on workspace {workspace} in {org}/{project}.
slots:
operation: requestBody.operation
workspace: requestBody.workspace
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/disabled'].get
update:
x-apievangelist-phrasing:
intent: Check if plan and state upload is disabled
effect: read
questions:
- Is my IaCM project set to send Terraform plans and state back to the server?
- Has pushing plan and state data been turned off for this project?
instructions:
- text: Check whether plan and state data are pushed for project {project} in org {org}.
slots:
project: path.project
org: path.org
- text: Tell me if state upload is disabled in {org}/{project}.
slots:
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].get
update:
x-apievangelist-phrasing:
intent: Get project drift detection settings
effect: read
questions:
- Is drift detection turned on for all workspaces in my project, and on what schedule?
- Which pipeline runs project-level drift checks for a provisioner?
instructions:
- text: Get the drift automation status for {provisioner} in {org}/{project}.
slots:
provisioner: query.provisioner
org: path.org
project: path.project
- text: Show the drift check schedule and pipeline for provisioner {provisioner} in project {project}, org {org}.
slots:
provisioner: query.provisioner
project: path.project
org: path.org
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].put
update:
x-apievangelist-phrasing:
intent: Turn on drift detection for a whole project
effect: write
questions:
- How do I enable scheduled drift detection across every workspace in a project?
- Can I choose how often drift checks run, say every 6 hours?
instructions:
- text: Enable drift detection in {org}/{project} using pipeline {pipeline} for {provisioner}.
slots:
org: path.org
project: path.project
pipeline: requestBody.pipeline_id
provisioner: requestBody.provisioner
- text: Run drift checks every {every} {unit} for all workspaces in {org}/{project}.
slots:
every: requestBody.run_every
unit: requestBody.run_every_unit
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/drift-config'].delete
update:
x-apievangelist-phrasing:
intent: Turn off drift detection for a whole project
effect: destructive
questions:
- How do I switch off drift detection for every workspace in a project?
- Will disabling project drift remove the drift triggers from each workspace?
instructions:
- text: Disable drift automation for {provisioner} in {org}/{project}.
slots:
provisioner: query.provisioner
org: path.org
project: path.project
- text: Remove all drift triggers from workspaces in project {project}, org {org}, provisioner {provisioner}.
slots:
project: path.project
org: path.org
provisioner: query.provisioner
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].get
update:
x-apievangelist-phrasing:
intent: Get project ephemeral workspace TTL settings
effect: read
questions:
- Are workspaces in my project set to auto-destroy after a TTL?
- What destroy and delete schedule is saved for ephemeral workspaces?
instructions:
- text: Get the ephemeral workspace config for {provisioner} in {org}/{project}.
slots:
provisioner: query.provisioner
org: path.org
project: path.project
- text: Show the saved TTL and destroy-on date for ephemeral workspaces in project {project}, org {org}, provisioner {provisioner}.
slots:
project: path.project
org: path.org
provisioner: query.provisioner
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].put
update:
x-apievangelist-phrasing:
intent: Make a project's workspaces ephemeral with a TTL
effect: write
questions:
- How do I have every workspace in a project destroy its infrastructure automatically after a few days?
- Can I also delete the workspace itself after the resources are destroyed?
instructions:
- text: Enable ephemeral TTL in {org}/{project} with pipeline {pipeline} for {provisioner}.
slots:
org: path.org
project: path.project
pipeline: requestBody.pipeline_id
provisioner: requestBody.provisioner
- text: Destroy workspace resources {delay} {unit} after creation across {org}/{project}.
slots:
delay: requestBody.destroy_delay_value
unit: requestBody.destroy_delay_unit
org: path.org
project: path.project
method: generated
generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/settings/ephemeral-config'].delete
update:
x-apievangelist-phrasing:
intent: Turn off ephemeral TTL for a project
effect: destructive
questions:
- How do I stop workspaces in my project from being auto-destroyed?
- Can I remove the ephemeral destroy schedules from all workspaces at once?
instructions:
- text: Disable ephemeral TTL for {provisioner} in {org}/{project}.
slots:
provisioner: query.provisioner
org: path.org
project: path.project
- text: Remove auto-destroy schedules from every workspace in project {project}, org {org}, provisioner {provisioner}.
slots:
project: path.project
org: path.org
provisioner: query.provisioner
method: generated
generated: '2026-09-26'