Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Triggers API

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

$.info
$.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers'].post
$.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].get
$.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].put
$.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].delete
$.paths['/pipeline/api/triggers'].get
$.paths['/pipeline/api/triggers'].post
$.paths['/pipeline/api/triggers/v2'].post
$.paths['/pipeline/api/triggers/{triggerIdentifier}'].get
$.paths['/pipeline/api/triggers/{triggerIdentifier}'].put
$.paths['/pipeline/api/triggers/{triggerIdentifier}'].delete
$.paths['/pipeline/api/triggers/catalog'].get
$.paths['/pipeline/api/triggers/{triggerIdentifier}/details'].get
$.paths['/pipeline/api/triggers/{triggerIdentifier}/eventHistory'].get
$.paths['/pipeline/api/triggers/{triggerIdentifier}/v2'].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 Triggers API
  version: 1.0.0
extends: openapi/harness-triggers-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: 14
- target: $.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a pipeline trigger (v1 API)
      effect: write
      questions:
      - How do I add a trigger to a pipeline using the v1 org/project API?
      - Can a new trigger run only selected stages or use input sets?
      instructions:
      - text: Using the v1 API, create trigger {name} with identifier {identifier} on pipeline {pipeline} in project {project} of org {org}.
        slots:
          name: requestBody.name
          identifier: requestBody.identifier
          pipeline: path.pipeline
          project: path.project
          org: path.org
      - text: Add a v1 trigger {name} on pipeline {pipeline} that runs only stages {stages_to_execute}.
        slots:
          name: requestBody.name
          pipeline: path.pipeline
          stages_to_execute: requestBody.stages_to_execute
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a pipeline trigger (v1 API)
      effect: read
      questions:
      - How do I read a trigger's definition through the v1 org/project path?
      - What does the v1 API return for a single pipeline trigger?
      instructions:
      - text: Using the v1 API, get trigger {trigger} on pipeline {pipeline} in project {project} of org {org}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
          project: path.project
          org: path.org
      - text: Show me v1 trigger {trigger} for pipeline {pipeline}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a pipeline trigger (v1 API)
      effect: write
      questions:
      - How do I edit a trigger through the v1 org/project API?
      - Can I disable a trigger by updating it through the v1 endpoint?
      instructions:
      - text: Using the v1 API, update trigger {trigger} on pipeline {pipeline} in project {project} of org {org}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
          project: path.project
          org: path.org
      - text: Set v1 trigger {trigger} on pipeline {pipeline} to enabled={enabled}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
          enabled: requestBody.enabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/orgs/{org}/projects/{project}/pipelines/{pipeline}/triggers/{trigger}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a pipeline trigger (v1 API)
      effect: destructive
      questions:
      - How do I remove a trigger using the v1 org/project path?
      - Can I delete a pipeline trigger with the v1 API?
      instructions:
      - text: Using the v1 API, delete trigger {trigger} from pipeline {pipeline} in project {project} of org {org}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
          project: path.project
          org: path.org
      - text: Remove v1 trigger {trigger} from pipeline {pipeline}.
        slots:
          trigger: path.trigger
          pipeline: path.pipeline
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers'].get
  update:
    x-apievangelist-phrasing:
      intent: List triggers for a target pipeline
      effect: read
      questions:
      - What triggers are set up on a pipeline, with paging and search?
      - Can I filter a pipeline's triggers by type, name or tag?
      instructions:
      - text: List triggers for pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Search triggers on pipeline {targetIdentifier} matching {searchTerm}.
        slots:
          targetIdentifier: query.targetIdentifier
          searchTerm: query.searchTerm
      - text: List {triggerTypes} triggers on pipeline {targetIdentifier}.
        slots:
          triggerTypes: requestBody.triggerTypes
          targetIdentifier: query.targetIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a trigger with the pipeline service endpoint
      effect: write
      questions:
      - How do I create a trigger for a target pipeline with the classic pipeline service API?
      - Is there a way to create a trigger even if its YAML has validation errors?
      instructions:
      - text: Create a trigger with the classic endpoint for pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Create a classic trigger on pipeline {targetIdentifier} with ignoreError set to {ignoreError}.
        slots:
          targetIdentifier: query.targetIdentifier
          ignoreError: query.ignoreError
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/v2'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a trigger with an executor identity (v2)
      effect: write
      questions:
      - Can I create a trigger that runs as a specific executor identity?
      - How do I send trigger YAML together with executor info when creating it?
      instructions:
      - text: Create a v2 trigger from YAML {yaml} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          yaml: requestBody.yaml
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Create a trigger on pipeline {targetIdentifier} that executes as {executorInfo}.
        slots:
          targetIdentifier: query.targetIdentifier
          executorInfo: requestBody.executorInfo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a trigger via the pipeline service
      effect: read
      questions:
      - How do I fetch a trigger by identifier from the classic pipeline service API?
      - What is stored in a trigger's record for a given target pipeline?
      instructions:
      - text: Get trigger {triggerIdentifier} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Fetch the classic trigger record {triggerIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a trigger via the pipeline service
      effect: write
      questions:
      - How do I update a trigger through the classic pipeline service endpoint?
      - Can I guard a trigger update with an If-Match version check?
      instructions:
      - text: Update classic trigger {triggerIdentifier} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Update trigger {triggerIdentifier} only if its version matches {If-Match}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          If-Match: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a trigger via the pipeline service
      effect: destructive
      questions:
      - How do I delete a trigger with the classic pipeline service API?
      - Can I delete a trigger only when it matches a known version?
      instructions:
      - text: Delete classic trigger {triggerIdentifier} from pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Delete trigger {triggerIdentifier} if its version is {If-Match}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          If-Match: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/catalog'].get
  update:
    x-apievangelist-phrasing:
      intent: List the trigger types available in an account
      effect: read
      questions:
      - What kinds of triggers can I use in my Harness account?
      - Is there a catalog of supported trigger types, like webhook, artifact or cron?
      instructions:
      - text: Show the trigger catalog for account {accountIdentifier}.
        slots:
          accountIdentifier: query.accountIdentifier
      - text: List the trigger types my account supports.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}/details'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a trigger's details and status
      effect: read
      questions:
      - How can I see the details and last activity of a trigger beyond its YAML?
      - Where do I find the webhook details for a specific trigger?
      instructions:
      - text: Get details for trigger {triggerIdentifier} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Show the full trigger details for {triggerIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}/eventHistory'].get
  update:
    x-apievangelist-phrasing:
      intent: Show the event history of a trigger
      effect: read
      questions:
      - Why didn't my trigger fire? Can I see the events it received?
      - Can I search and page through a trigger's past events?
      instructions:
      - text: Show the event history for trigger {triggerIdentifier} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
      - text: Search trigger {triggerIdentifier}'s event history for {searchTerm}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          searchTerm: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pipeline/api/triggers/{triggerIdentifier}/v2'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a trigger with an executor identity (v2)
      effect: write
      questions:
      - How do I change which executor identity an existing trigger runs as?
      - Can I update trigger YAML and executor info together in one call?
      instructions:
      - text: Update trigger {triggerIdentifier} on pipeline {targetIdentifier} in project {projectIdentifier} of org {orgIdentifier} with v2 YAML {yaml}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          targetIdentifier: query.targetIdentifier
          projectIdentifier: query.projectIdentifier
          orgIdentifier: query.orgIdentifier
          yaml: requestBody.yaml
      - text: Make existing trigger {triggerIdentifier} execute as {executorInfo}.
        slots:
          triggerIdentifier: path.triggerIdentifier
          executorInfo: requestBody.executorInfo
      method: generated
      generated: '2026-09-26'