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