Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Entities API

18 actions 18 updates phrasing extends openapi/harness-entities-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 18 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/entities'].get
$.paths['/v1/entities'].post
$.paths['/v1/entities/bulk-field-update'].post
$.paths['/v1/entities/bulk-field-update/{operation-id}'].get
$.paths['/v1/entities/by-refs'].post
$.paths['/v1/entities/import'].post
$.paths['/v1/entities/groups'].get
$.paths['/v1/entities/move/{scope}/{kind}/{identifier}'].post
$.paths['/v1/entities/git-metadata/{scope}/{kind}/{identifier}'].put
$.paths['/v1/entities/convert/{option}'].post
$.paths['/v1/entities/{scope}/{kind}/{identifier}'].get
$.paths['/v1/entities/{scope}/{kind}/{identifier}'].put
$.paths['/v1/entities/{scope}/{kind}/{identifier}'].delete
$.paths['/v1/entities/kinds'].get
$.paths['/v1/entities/filters'].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 Entities API
  version: 1.0.0
extends: openapi/harness-entities-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: 17
- target: $.paths['/v1/entities'].get
  update:
    x-apievangelist-phrasing:
      intent: List catalog entities with filters
      effect: read
      questions:
      - Which catalog entities do I own across my projects?
      - Can I filter the software catalog by kind, lifecycle or tags?
      - How do I page through every service in the IDP catalog?
      instructions:
      - text: List catalog entities of kind {kind} owned by {owner}.
        slots:
          kind: query.kind
          owner: query.owner
      - text: Show my favorite catalog entities with lifecycle {lifecycle}.
        slots:
          lifecycle: query.lifecycle
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a catalog entity from YAML
      effect: write
      questions:
      - How do I register a new service in the catalog from its YAML definition?
      - Can I dry-run an entity creation to validate the YAML first?
      instructions:
      - text: 'Create a catalog entity from this YAML: {yaml}.'
        slots:
          yaml: requestBody.yaml
      - text: Dry-run creating an entity in project {project} with YAML {yaml}.
        slots:
          project: query.projectIdentifier
          yaml: requestBody.yaml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/bulk-field-update'].post
  update:
    x-apievangelist-phrasing:
      intent: Bulk-update one field across catalog entities
      effect: write
      questions:
      - Can I change the owner on many catalog entities at once?
      - Is there a way to update a single field on every entity matching a filter?
      instructions:
      - text: Bulk-update entities {entity_refs} with field change {properties}.
        slots:
          entity_refs: requestBody.entityRefs
          properties: requestBody.properties
      - text: Submit a bulk field update of {properties} for all entities matching filter {filter}.
        slots:
          properties: requestBody.properties
          filter: requestBody.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/bulk-field-update/{operation-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a bulk field update's status
      effect: read
      questions:
      - Has my bulk owner change on the catalog finished yet?
      - Where can I see the result of a bulk field update I submitted?
      instructions:
      - text: Get the status of bulk field update operation {operation_id}.
        slots:
          operation_id: path.operation-id
      - text: Check whether bulk update {operation_id} succeeded.
        slots:
          operation_id: path.operation-id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/by-refs'].post
  update:
    x-apievangelist-phrasing:
      intent: Fetch catalog entities by their refs
      effect: read
      questions:
      - Can I look up several catalog entities at once from a list of entity references?
      - What's the way to fetch specific entities by ref while still applying filters?
      instructions:
      - text: Fetch catalog entities matching refs {entity_refs}.
        slots:
          entity_refs: requestBody.entity_refs
      - text: Look up entities {entity_refs} and keep only those tagged {tags}.
        slots:
          entity_refs: requestBody.entity_refs
          tags: query.tags
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/import'].post
  update:
    x-apievangelist-phrasing:
      intent: Import a catalog entity from Git
      effect: write
      questions:
      - Can I import an existing entity YAML file from a Git repo into the catalog?
      - Does importing an entity work with a Harness Code repository?
      instructions:
      - text: Import the entity at {file_path} in repo {repo} on branch {branch}.
        slots:
          file_path: requestBody.file_path
          repo: requestBody.repo_name
          branch: requestBody.branch_name
      - text: Import a catalog entity from Git using connector {connector}.
        slots:
          connector: requestBody.connector_ref
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: View catalog entities grouped by scope
      effect: read
      questions:
      - Can I see catalog entities organized by account, organization and project?
      - Which entities sit ungrouped at each level of my hierarchy?
      instructions:
      - text: Show catalog entities grouped by scope, filtered to kind {kind}.
        slots:
          kind: query.kind
      - text: Group my owned entities by organization and project.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/move/{scope}/{kind}/{identifier}'].post
  update:
    x-apievangelist-phrasing:
      intent: Move an inline catalog entity to Git
      effect: write
      questions:
      - How do I move an inline catalog entity so it's stored in Git?
      - Can I convert an entity from inline storage to remote?
      instructions:
      - text: Move {kind} entity {identifier} in scope {scope} to remote using Git details {git_details}.
        slots:
          kind: path.kind
          identifier: path.identifier
          scope: path.scope
          git_details: requestBody.git_details
      - text: Move entity {identifier} from inline to remote with move type {move_type}.
        slots:
          identifier: path.identifier
          move_type: requestBody.entity_move_operation_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/git-metadata/{scope}/{kind}/{identifier}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update Git metadata for a remote entity
      effect: write
      questions:
      - Can I point a remote catalog entity at a different repo or file path?
      - How do I change the branch recorded for an entity stored in Git?
      instructions:
      - text: Update Git metadata of {kind} entity {identifier} in scope {scope} to repo {repo}.
        slots:
          kind: path.kind
          identifier: path.identifier
          scope: path.scope
          repo: requestBody.repo_name
      - text: Change the Git file path of remote entity {identifier} to {file_path}.
        slots:
          identifier: path.identifier
          file_path: requestBody.file_path
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/convert/{option}'].post
  update:
    x-apievangelist-phrasing:
      intent: Convert entity YAML between Backstage and Harness
      effect: read
      questions:
      - Can I turn a Backstage catalog-info YAML into Harness entity format?
      - Is there a converter for entity definitions going the other way, Harness to Backstage?
      instructions:
      - text: 'Convert this entity YAML using option {option}: {yaml}.'
        slots:
          option: path.option
          yaml: requestBody.yaml
      - text: Convert my Backstage YAML {yaml} to Harness format with option {option}.
        slots:
          option: path.option
          yaml: requestBody.yaml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/{scope}/{kind}/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a catalog entity's full details
      effect: read
      questions:
      - What do the full YAML and relationships of one catalog entity look like?
      - Can I read an entity's definition from a specific Git branch?
      instructions:
      - text: Get the details of {kind} entity {identifier} in scope {scope}.
        slots:
          kind: path.kind
          identifier: path.identifier
          scope: path.scope
      - text: Show entity {identifier} as stored on branch {branch}.
        slots:
          identifier: path.identifier
          branch: query.branch_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/{scope}/{kind}/{identifier}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a catalog entity's definition
      effect: write
      questions:
      - How do I overwrite an existing catalog entity with new YAML?
      - Will updating an entity create it if it doesn't exist yet?
      instructions:
      - text: Update {kind} entity {identifier} in scope {scope} with YAML {yaml}.
        slots:
          kind: path.kind
          identifier: path.identifier
          scope: path.scope
          yaml: requestBody.yaml
      - text: Replace the definition of entity {identifier} with {yaml}.
        slots:
          identifier: path.identifier
          yaml: requestBody.yaml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/{scope}/{kind}/{identifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a catalog entity
      effect: destructive
      questions:
      - Can I permanently remove a service from the software catalog?
      - What happens to references when a catalog entity is deleted?
      instructions:
      - text: Delete {kind} entity {identifier} in scope {scope}.
        slots:
          kind: path.kind
          identifier: path.identifier
          scope: path.scope
      - text: Permanently remove catalog entity {identifier}.
        slots:
          identifier: path.identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/kinds'].get
  update:
    x-apievangelist-phrasing:
      intent: List supported entity kinds with counts
      effect: read
      questions:
      - Which entity kinds does the catalog support, and how many of each exist?
      - Can I get display names and descriptions for all entity kinds?
      instructions:
      - text: List entity kinds and their counts for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Show the entity kinds available in project {project}.
        slots:
          project: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/filters'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the available entity filter options
      effect: read
      questions:
      - What filter values can I use when browsing the catalog?
      - Which owners and lifecycles show up as filters for a given kind?
      instructions:
      - text: Get catalog filter options for account {account}.
        slots:
          account: query.accountIdentifier
      - text: Show the available filter values for entity kind {kind}.
        slots:
          kind: query.kind
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/filters'].post
  update:
    x-apievangelist-phrasing:
      intent: Get filter options for a set of entity refs
      effect: read
      questions:
      - Can I get filter options limited to a specific list of entity references?
      - Which filter values apply only to the entities I pass in?
      instructions:
      - text: Get filter options for entities {entity_refs} in account {account}.
        slots:
          entity_refs: requestBody.entity_refs
          account: query.accountIdentifier
      - text: Compute filter values scoped to refs {entity_refs}.
        slots:
          entity_refs: requestBody.entity_refs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/entities/json-schema'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the JSON Schema for entity definitions
      effect: read
      questions:
      - Is there a JSON Schema I can use to validate entity YAML before submitting it?
      - Can I get validation rules for just one entity kind?
      instructions:
      - text: Get the entity JSON Schema for kind {kind}.
        slots:
          kind: query.kind
      - text: Fetch the JSON Schema for validating catalog entity definitions.
      method: generated
      generated: '2026-09-26'