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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/harness-registry-v3-packages-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.