Harness · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Harness Registry V2 API
16 actions
16 updates
phrasing
extends
openapi/harness-registry-v2-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 16
$.info
$.paths['/har/api/v2/artifacts'].get
$.paths['/har/api/v2/copy'].post
$.paths['/har/api/v2/files/{file_name}'].get
$.paths['/har/api/v2/files/bulk-download'].post
$.paths['/har/api/v2/files/bulk-download/{download_id}'].get
$.paths['/har/api/v2/files/search'].get
$.paths['/har/api/v2/metadata'].get
$.paths['/har/api/v2/metadata'].put
$.paths['/har/api/v2/metadata'].post
$.paths['/har/api/v2/metadata'].delete
$.paths['/har/api/v2/metadata/keys'].get
$.paths['/har/api/v2/metadata/values'].get
$.paths['/har/api/v2/oci/tags'].post
$.paths['/har/api/v2/packages'].get
$.paths['/har/api/v2/registries'].get
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 V2 API
version: 1.0.0
extends: openapi/harness-registry-v2-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: 15
- target: $.paths['/har/api/v2/artifacts'].get
update:
x-apievangelist-phrasing:
intent: List artifact versions in the registry
effect: read
questions:
- Which versions of a package are stored in my artifact registry?
- Can I filter artifact versions by package type or include deleted ones?
instructions:
- text: List all versions of package {package} in registry {registry_identifier}.
slots:
package: query.package
registry_identifier: query.registry_identifier
- text: Show artifact versions in account {account_identifier} matching {search_term}.
slots:
account_identifier: query.account_identifier
search_term: query.search_term
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/copy'].post
update:
x-apievangelist-phrasing:
intent: Copy an artifact between registries
effect: write
questions:
- How do I promote an artifact from one registry to another?
- Can I copy a single version of an artifact into a registry in a different project?
instructions:
- text: Copy artifact {src_artifact} version {src_version} from registry {src_registry_identifier} to {target_registry_identifier}.
slots:
src_artifact: query.src_artifact
src_version: query.src_version
src_registry_identifier: query.src_registry_identifier
target_registry_identifier: query.target_registry_identifier
- text: Promote everything in registry {src_registry_identifier} into registry {target_registry_identifier} in project {target_project_identifier}.
slots:
src_registry_identifier: query.src_registry_identifier
target_registry_identifier: query.target_registry_identifier
target_project_identifier: query.target_project_identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/files/{file_name}'].get
update:
x-apievangelist-phrasing:
intent: Download a registry file by its path
effect: read
questions:
- How do I download a single file from my artifact registry by its path?
- Can I fetch a named file out of a registry without pulling the whole package?
instructions:
- text: Download file {file_name} at path {path} from registry {registry_identifier}.
slots:
file_name: path.file_name
path: query.path
registry_identifier: query.registry_identifier
- text: Fetch {file_name} from registry {registry_identifier} using path {path}.
slots:
file_name: path.file_name
registry_identifier: query.registry_identifier
path: query.path
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/files/bulk-download'].post
update:
x-apievangelist-phrasing:
intent: Start a bulk download of registry packages
effect: write
questions:
- Can I download several packages or versions from a registry in one archive?
- What's the way to request a bulk download with a custom output file name?
instructions:
- text: Create a bulk download request for registry {registryId}.
slots:
registryId: requestBody.registryId
- text: Start a bulk download of packages {packages} from registry {registryId} into file {outputFileName}.
slots:
packages: requestBody.packages
registryId: requestBody.registryId
outputFileName: requestBody.outputFileName
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/files/bulk-download/{download_id}'].get
update:
x-apievangelist-phrasing:
intent: Check the status of a bulk download request
effect: read
questions:
- Is my registry bulk download finished yet?
- How can I track the progress of a bulk download I already requested?
instructions:
- text: Check the status of bulk download {download_id}.
slots:
download_id: path.download_id
- text: Tell me whether bulk download request {download_id} is ready.
slots:
download_id: path.download_id
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/files/search'].get
update:
x-apievangelist-phrasing:
intent: Search files in a registry
effect: read
questions:
- How do I find files in a registry by a search query?
- Can I page through file search results inside one registry?
instructions:
- text: Search registry {registry_identifier} for files matching {query}.
slots:
registry_identifier: query.registry_identifier
query: query.query
- text: Find files named like {query} in registry {registry_identifier}, {size} per page.
slots:
query: query.query
registry_identifier: query.registry_identifier
size: query.size
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata'].get
update:
x-apievangelist-phrasing:
intent: Get metadata for a package, version or registry
effect: read
questions:
- What metadata key-value pairs are attached to a package version in my registry?
- Can I read registry-level metadata as well as package metadata?
instructions:
- text: Get the metadata for package {package} version {version} in registry {registry_identifier}.
slots:
package: query.package
version: query.version
registry_identifier: query.registry_identifier
- text: Show registry-level metadata for {registry_identifier}.
slots:
registry_identifier: query.registry_identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata'].put
update:
x-apievangelist-phrasing:
intent: Replace all metadata on a registry entity
effect: write
questions:
- How do I overwrite a package's metadata so only the new key-value pairs remain?
- Can I wipe existing registry metadata and save a fresh set in one call?
instructions:
- text: Replace all metadata on package {package} in registry {registryIdentifier} with {metadata}.
slots:
package: requestBody.package
registryIdentifier: requestBody.registryIdentifier
metadata: requestBody.metadata
- text: Save {metadata} as the only metadata for version {version} of {package} in {registryIdentifier}, removing the old keys.
slots:
metadata: requestBody.metadata
version: requestBody.version
package: requestBody.package
registryIdentifier: requestBody.registryIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata'].post
update:
x-apievangelist-phrasing:
intent: Add or overwrite metadata keys on a registry entity
effect: write
questions:
- Can I add a metadata tag to a package without losing its other metadata?
- What's the way to upsert just a few metadata keys on an artifact version?
instructions:
- text: Add metadata {metadata} to package {package} in registry {registryIdentifier}, keeping existing keys.
slots:
metadata: requestBody.metadata
package: requestBody.package
registryIdentifier: requestBody.registryIdentifier
- text: Upsert metadata {metadata} on version {version} of {package} in {registryIdentifier}.
slots:
metadata: requestBody.metadata
version: requestBody.version
package: requestBody.package
registryIdentifier: requestBody.registryIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata'].delete
update:
x-apievangelist-phrasing:
intent: Delete metadata keys from a registry entity
effect: destructive
questions:
- How do I remove specific metadata keys from a package in my registry?
- Can I delete metadata from an artifact version rather than the whole package?
instructions:
- text: Delete metadata {metadata} from package {package} in registry {registryIdentifier}.
slots:
metadata: requestBody.metadata
package: requestBody.package
registryIdentifier: requestBody.registryIdentifier
- text: Strip the metadata keys {metadata} off version {version} in {registryIdentifier}.
slots:
metadata: requestBody.metadata
version: requestBody.version
registryIdentifier: requestBody.registryIdentifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata/keys'].get
update:
x-apievangelist-phrasing:
intent: List available metadata keys
effect: read
questions:
- Which metadata keys are in use across my artifact registries?
- Can I search the list of metadata key names?
instructions:
- text: List all metadata keys for account {account_identifier}.
slots:
account_identifier: query.account_identifier
- text: Find metadata key names containing {search_term} in project {project_identifier}.
slots:
search_term: query.search_term
project_identifier: query.project_identifier
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/metadata/values'].get
update:
x-apievangelist-phrasing:
intent: List possible values for a metadata key
effect: read
questions:
- What values have been used for a given metadata key?
- Can I search the values recorded under one metadata key?
instructions:
- text: List the values of metadata key {key}.
slots:
key: query.key
- text: Show values of key {key} that match {search_term}.
slots:
key: query.key
search_term: query.search_term
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/oci/tags'].post
update:
x-apievangelist-phrasing:
intent: Add tags to an OCI artifact
effect: write
questions:
- How do I add extra tags to a container image version in my registry?
- Can I tag an existing OCI artifact version with several new tags at once?
instructions:
- text: Add tags {tags} to {package} version {version} in registry {registry_identifier}.
slots:
tags: requestBody.tags
package: requestBody.package
version: requestBody.version
registry_identifier: query.registry_identifier
- text: Tag OCI image {package} at {version} as {tags}.
slots:
package: requestBody.package
version: requestBody.version
tags: requestBody.tags
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/packages'].get
update:
x-apievangelist-phrasing:
intent: List images and packages in the registry
effect: read
questions:
- What images and packages are stored in my artifact registries?
- Can I list packages of one package type, including deleted ones?
instructions:
- text: List packages in registry {registry_identifier}.
slots:
registry_identifier: query.registry_identifier
- text: Show images of package type {package_type} matching {search_term}.
slots:
package_type: query.package_type
search_term: query.search_term
method: generated
generated: '2026-09-26'
- target: $.paths['/har/api/v2/registries'].get
update:
x-apievangelist-phrasing:
intent: List artifact registries
effect: read
questions:
- Which artifact registries exist in my account or project?
- Can I include registries from parent or child spaces when listing, or filter by registry type?
instructions:
- text: List the registries in project {project_identifier}.
slots:
project_identifier: query.project_identifier
- text: Show registries of type {type} holding {package_type} packages.
slots:
type: query.type
package_type: query.package_type
method: generated
generated: '2026-09-26'