Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Releases API

13 actions 13 updates phrasing extends openapi/harness-releases-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['/rmg/api/release/adhoc'].post
$.paths['/rmg/api/release/summary'].post
$.paths['/rmg/api/release/{releaseId}'].get
$.paths['/rmg/api/release/{releaseId}'].put
$.paths['/rmg/api/release/{releaseId}/activities'].get
$.paths['/rmg/api/release/calendar/{releaseId}/activities'].get
$.paths['/rmg/api/release/{releaseId}/approvals'].get
$.paths['/rmg/api/release/{releaseId}/environmentDashboard'].get
$.paths['/rmg/api/release/{releaseId}/environments'].get
$.paths['/rmg/api/release/{releaseId}/action'].post
$.paths['/rmg/api/release/{releaseId}/subprocess/trigger'].post
$.paths['/rmg/api/release/{releaseId}/tasks'].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 Releases API
  version: 1.0.0
extends: openapi/harness-releases-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['/rmg/api/release/adhoc'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an ad hoc release
      effect: write
      questions:
      - Can I schedule a one-off release outside the normal release group cadence?
      - What do I need to create an ad hoc release tied to an orchestration process?
      instructions:
      - text: Create ad hoc release {name} version {version} with identifier {identifier} using process {process}, from {start} to {end}.
        slots:
          name: requestBody.name
          version: requestBody.version
          identifier: requestBody.identifier
          process: requestBody.processIdentifier
          start: requestBody.expectedStartTs
          end: requestBody.expectedEndTs
      - text: Set up a one-off release {name} ({version}) on process {process}.
        slots:
          name: requestBody.name
          version: requestBody.version
          process: requestBody.processIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/summary'].post
  update:
    x-apievangelist-phrasing:
      intent: Summarize releases over time ranges
      effect: read
      questions:
      - Which releases are scheduled in the next few weeks?
      - Can I filter release summaries by release group or search term?
      instructions:
      - text: Summarize releases in time ranges {ranges}.
        slots:
          ranges: requestBody.timeRanges
      - text: List releases in release groups {groups} matching {search}.
        slots:
          groups: query.releaseGroupIds
          search: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a release's details
      effect: read
      questions:
      - What are the details of a specific release?
      - Can I look up a release by its ID?
      instructions:
      - text: Get release {release}.
        slots:
          release: path.releaseId
      - text: Show me the information for release {release}.
        slots:
          release: path.releaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a release's schedule and definition
      effect: write
      questions:
      - How do I reschedule a release to a new start time and duration?
      - Can I change the YAML or process linked to an existing release?
      instructions:
      - text: Update release {release} to start at {start} for {duration} with YAML {yaml}.
        slots:
          release: path.releaseId
          start: requestBody.startTs
          duration: requestBody.duration
          yaml: requestBody.yaml
      - text: Relink release {release} to process {process}.
        slots:
          release: path.releaseId
          process: requestBody.processIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/activities'].get
  update:
    x-apievangelist-phrasing:
      intent: List a release's activities in a time window
      effect: read
      questions:
      - What activities are part of a release between two dates?
      - Can I filter a release's activities by status?
      instructions:
      - text: List activities for release {release} from {start} to {end}.
        slots:
          release: path.releaseId
          start: query.startTs
          end: query.endTs
      - text: Show release {release} activities with status {status} between {start} and {end}.
        slots:
          release: path.releaseId
          status: query.status
          start: query.startTs
          end: query.endTs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/calendar/{releaseId}/activities'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a release's activities for a calendar day view
      effect: read
      questions:
      - What does a release's calendar look like day by day?
      - Can I see release activities grouped for a single day?
      instructions:
      - text: Show the day-wise calendar of activities for release {release} from {start} to {end}.
        slots:
          release: path.releaseId
          start: query.startTs
          end: query.endTs
      - text: Get calendar day view activities of release {release} for {start} to {end}, {limit} per page.
        slots:
          release: path.releaseId
          start: query.startTs
          end: query.endTs
          limit: query.limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/approvals'].get
  update:
    x-apievangelist-phrasing:
      intent: List approval activity for a release
      effect: read
      questions:
      - Which approvals are still pending on a release?
      - Who approved what during a release?
      instructions:
      - text: Show approvals for release {release}.
        slots:
          release: path.releaseId
      - text: List approvals on release {release} with status {status}.
        slots:
          release: path.releaseId
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/environmentDashboard'].get
  update:
    x-apievangelist-phrasing:
      intent: View the environment dashboard for a release
      effect: read
      questions:
      - What is deployed to each environment in a release?
      - Can I narrow a release's environment dashboard to certain infrastructures?
      instructions:
      - text: Show the environment dashboard for release {release}.
        slots:
          release: path.releaseId
      - text: Get the release {release} dashboard for environments {environments}.
        slots:
          release: path.releaseId
          environments: query.environmentIdentifiers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/environments'].get
  update:
    x-apievangelist-phrasing:
      intent: List the environments in a release
      effect: read
      questions:
      - Which environments does a release touch?
      - Can I search the environments of a release by name?
      instructions:
      - text: List environments for release {release}.
        slots:
          release: path.releaseId
      - text: Find environments in release {release} matching {search}.
        slots:
          release: path.releaseId
          search: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/action'].post
  update:
    x-apievangelist-phrasing:
      intent: Run an action such as abort on a release
      effect: destructive
      questions:
      - How do I abort a release that is in progress?
      - Can I record a reason when I take an action on a release?
      instructions:
      - text: Abort release {release} with message {message}.
        slots:
          release: path.releaseId
          message: requestBody.message
      - text: Execute action {action} on release {release} noting {message}.
        slots:
          action: requestBody.action
          release: path.releaseId
          message: requestBody.message
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/subprocess/trigger'].post
  update:
    x-apievangelist-phrasing:
      intent: Trigger a subprocess release from a task
      effect: write
      questions:
      - Can a task in one release kick off a subprocess release?
      - What does triggering a subprocess from a release task require?
      instructions:
      - text: Trigger a subprocess from task {task} in release {release} with {subprocess}.
        slots:
          task: query.task_id
          release: path.releaseId
          subprocess: requestBody.subprocessInfo
      - text: Start subprocess {subprocess} for release {release} task {task}.
        slots:
          subprocess: requestBody.subprocessInfo
          release: path.releaseId
          task: query.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/rmg/api/release/{releaseId}/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List the manual tasks of a release
      effect: read
      questions:
      - What manual tasks are left in a release?
      - Can I filter a release's manual activity tasks by status?
      instructions:
      - text: List manual tasks for release {release}.
        slots:
          release: path.releaseId
      - text: Show release {release} tasks with status {status}.
        slots:
          release: path.releaseId
          status: query.status
      method: generated
      generated: '2026-09-26'