Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Registry V3 - Packages API

8 actions 8 updates phrasing extends openapi/harness-registry-v3-packages-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 8

$.info
$.paths['/har/api/v3/packages'].get
$.paths['/har/api/v3/packages/{id}'].delete
$.paths['/har/api/v3/packages/{id}/metadata'].get
$.paths['/har/api/v3/packages/{id}/metadata'].put
$.paths['/har/api/v3/packages/{id}/metadata'].post
$.paths['/har/api/v3/packages/{id}/restore'].post
$.paths['/har/api/v3/packages/stats'].post

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 Registry V3 - Packages API
  version: 1.0.0
extends: openapi/harness-registry-v3-packages-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: 7
- target: $.paths['/har/api/v3/packages'].get
  update:
    x-apievangelist-phrasing:
      intent: List packages in the artifact registry
      effect: read
      questions:
      - Which packages and images are stored across my Harness artifact registries?
      - Can I list only soft-deleted packages so I can decide what to restore?
      - Is it possible to filter packages by package type or by registry?
      instructions:
      - text: List the packages in account {account}.
        slots:
          account: query.account_identifier
      - text: Search packages named {term} in registries {registries}.
        slots:
          term: query.search_term
          registries: query.registry_ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a package or image
      effect: destructive
      questions:
      - How do I delete a package or container image from the registry?
      - Can I force-delete a package instead of soft-deleting it?
      instructions:
      - text: Delete package {id} in account {account}.
        slots:
          id: path.id
          account: query.account_identifier
      - text: Force-delete package {id} permanently, force={force}.
        slots:
          id: path.id
          force: query.force
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/{id}/metadata'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a package's metadata
      effect: read
      questions:
      - What custom metadata key-value pairs are attached to a package?
      - Can I read all metadata on one package by its ID?
      instructions:
      - text: Show all metadata on package {id}.
        slots:
          id: path.id
      - text: Get package {id}'s metadata in account {account}.
        slots:
          id: path.id
          account: query.account_identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/{id}/metadata'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace all metadata on a package
      effect: write
      questions:
      - How do I wipe a package's metadata and replace it with a new set in one call?
      - Will replacing package metadata drop keys I don't include?
      instructions:
      - text: Replace all metadata on package {id} with {metadata}.
        slots:
          id: path.id
          metadata: requestBody.metadata
      - text: Overwrite the full metadata set of package {id} so it contains only {metadata}.
        slots:
          id: path.id
          metadata: requestBody.metadata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/{id}/metadata'].post
  update:
    x-apievangelist-phrasing:
      intent: Add or update metadata keys on a package
      effect: write
      questions:
      - Can I add one metadata key to a package without touching the others?
      - How do I tag a package with an owner or team in its metadata?
      instructions:
      - text: Upsert metadata {metadata} on package {id}.
        slots:
          metadata: requestBody.metadata
          id: path.id
      - text: 'Add or overwrite these keys on package {id}: {metadata}.'
        slots:
          id: path.id
          metadata: requestBody.metadata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/{id}/restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a soft-deleted package
      effect: write
      questions:
      - I deleted a package by mistake — can I get it back?
      - How do I restore a soft-deleted image in the registry?
      instructions:
      - text: Restore the soft-deleted package {id}.
        slots:
          id: path.id
      - text: Undelete package {id} in account {account}.
        slots:
          id: path.id
          account: query.account_identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/har/api/v3/packages/stats'].post
  update:
    x-apievangelist-phrasing:
      intent: Get size and download stats for packages
      effect: read
      questions:
      - How many downloads and how much storage do a set of packages account for?
      - Can I get artifact counts for several packages at once?
      instructions:
      - text: Get artifact count, size and downloads for packages {ids}.
        slots:
          ids: requestBody.packageIds
      - text: Show usage statistics for packages {ids} in account {account}.
        slots:
          ids: requestBody.packageIds
          account: query.account_identifier
      method: generated
      generated: '2026-09-26'