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.
View Overlay File View on GitHub Overlay Specification

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

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