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.
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
# 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.
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.