openapi: 3.2.0 info: title: Harness Registry V3 - Packages API version: '1.0' description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0. contact: name: API Support email: contact@harness.io url: https://harness.io/ x-logo: url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook altText: Harness termsOfService: https://harness.io/terms-of-use/ servers: - url: https://app.harness.io description: Harness host URL - url: https://{vanity} description: Vanity URL variables: vanity: default: app.harness.io security: - x-api-key: [] tags: - description: V3 packages endpoints name: Registry V3 - Packages paths: /har/api/v3/packages: get: description: Lists Packages operationId: ListPackagesV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/OrgIdentifierV3' - $ref: '#/components/parameters/ProjectIdentifierV3' - $ref: '#/components/parameters/RegistryIdListOptionalParamV3' - $ref: '#/components/parameters/MetadataFilterListParamV3' - $ref: '#/components/parameters/PackageKindQueryParamV3' - $ref: '#/components/parameters/PackageTypeListParamV3' - $ref: '#/components/parameters/DeleteFilterParamV3' - $ref: '#/components/parameters/PageNumberV3' - $ref: '#/components/parameters/PageSizeV3' - $ref: '#/components/parameters/SortV3' - $ref: '#/components/parameters/SearchTermV3' - $ref: '#/components/parameters/IncludeMetaParamV3' responses: '200': $ref: '#/components/responses/ListPackageResponseV3' default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: List Packages tags: - Registry V3 - Packages x-internal: false /har/api/v3/packages/{id}: delete: description: Delete a package/image operationId: DeletePackageV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/IdPathParamV3' - $ref: '#/components/parameters/ForceParamV3' responses: '200': description: Deleted successfully default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Delete a Package tags: - Registry V3 - Packages x-internal: true /har/api/v3/packages/{id}/metadata: get: description: Retrieves all metadata for a package. operationId: GetPackageMetadataV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/IdPathParamV3' responses: '200': $ref: '#/components/responses/MetadataResponseV3' default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Get Package Metadata tags: - Registry V3 - Packages x-internal: false post: description: Creates or overwrites metadata for a package. operationId: UpsertPackageMetadataV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/IdPathParamV3' requestBody: $ref: '#/components/requestBodies/MetadataRequestV3' responses: '200': $ref: '#/components/responses/MetadataResponseV3' default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Upsert Package Metadata tags: - Registry V3 - Packages x-internal: false put: description: Replaces all metadata for a package. operationId: SavePackageMetadataV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/IdPathParamV3' requestBody: $ref: '#/components/requestBodies/MetadataRequestV3' responses: '200': $ref: '#/components/responses/MetadataResponseV3' default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Replace Package Metadata tags: - Registry V3 - Packages x-internal: false /har/api/v3/packages/{id}/restore: post: description: Restore a previously soft-deleted package/image by ID operationId: RestorePackageV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/IdPathParamV3' responses: '200': description: Restored successfully default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Restore a Soft-Deleted Package tags: - Registry V3 - Packages x-internal: true /har/api/v3/packages/stats: post: description: Get statistics (artifactsCount, size, downloadCount) for a list of packages by their UUIDs. operationId: GetPackagesStatsV3 parameters: - $ref: '#/components/parameters/AccountIdentifierV3' - $ref: '#/components/parameters/OrgIdentifierV3' - $ref: '#/components/parameters/ProjectIdentifierV3' requestBody: $ref: '#/components/requestBodies/PackagesStatsRequestV3' responses: '200': $ref: '#/components/responses/PackagesStatsResponseV3' default: content: application/json: schema: $ref: '#/components/schemas/ErrorV3' description: Error response. summary: Get statistics for multiple packages tags: - Registry V3 - Packages x-internal: false components: requestBodies: MetadataRequestV3: content: application/json: schema: $ref: '#/components/schemas/MetadataInputV3' description: Request body containing metadata key-value pairs to add or update PackagesStatsRequestV3: content: application/json: schema: $ref: '#/components/schemas/PackagesStatsRequestInputV3' description: Request body containing list of package UUIDs to fetch stats for required: true schemas: MetadataV3: description: Metadata entry properties: id: description: Unique identifier for this metadata entry format: uuid type: string key: description: The metadata key name example: environment type: string type: $ref: '#/components/schemas/MetadataTypeV3' value: description: The metadata value example: production type: string required: - id - key - value - type type: object UserInfoV3: description: Structured user information for a principal properties: display_name: description: Human-readable display name type: string email: description: Email address type: string type: description: Principal type (user, service, service_account) type: string uid: description: Principal unique identifier (username) type: string type: object PackageV3: description: Package Metadata properties: deletedAt: $ref: '#/components/schemas/DeletedAtMsV3' deletedBy: $ref: '#/components/schemas/UserInfoV3' id: format: uuid type: string isPublic: type: boolean isQuarantined: type: boolean latestVersion: type: string latestVersionArtifactKey: additionalProperties: true type: object modifiedAt: $ref: '#/components/schemas/ModifiedAtMsV3' modifiedBy: $ref: '#/components/schemas/UserInfoV3' name: type: string orgIdentifier: $ref: '#/components/schemas/orgIdentifier' packageKind: $ref: '#/components/schemas/PackageKindV3' packageType: $ref: '#/components/schemas/PackageTypeV3' projectIdentifier: $ref: '#/components/schemas/projectIdentifier' quarantineReason: type: string registryId: format: uuid type: string registryName: type: string required: - id - name - packageType - registryId - registryName - isPublic - latestVersion type: object PageInfoV3: description: 'Pagination metadata. - `page` selects which page of results to return (0 = first page). - `size` controls how many items are returned per page. - `hasMore` is true if more results exist after this page. ' properties: hasMore: description: True if more results exist after this page. example: true type: boolean page: description: The current page (0-indexed) example: 0 format: int64 type: integer size: description: Number of items per page example: 20 format: int64 type: integer required: - page - size - hasMore type: object MetadataItemInputV3: description: Metadata key-value pair for create/update operations properties: key: description: The metadata key name (case-sensitive) example: environment maxLength: 128 minLength: 1 type: string value: description: The metadata value example: production maxLength: 256 minLength: 1 type: string required: - key - value type: object PackageKindV3: description: refers to package kind which is being used in huggingface packages for model, dataset and terraform packages for module, provider example: model type: string PackagesStatsRequestInputV3: description: Request input for fetching package statistics properties: packageIds: description: List of package UUIDs to fetch statistics for items: format: uuid type: string maxItems: 100 type: array required: - packageIds type: object DeletedAtMsV3: description: Unix timestamp in milliseconds when the resource was soft-deleted example: 1736360000456 format: int64 type: - integer - 'null' PackagesStatsResponseBodyV3: description: Response body containing package statistics properties: items: description: List of package statistics items: $ref: '#/components/schemas/PackageStatsV3' type: array required: - items type: object MetaV3: description: Metadata about the list response properties: activeCount: description: Count of active (non-deleted) entities example: 95 format: int64 type: integer deletedCount: description: Count of soft-deleted entities example: 5 format: int64 type: integer required: - activeCount - deletedCount type: object PackageTypeV3: description: 'Package type. Known values include: DOCKER, MAVEN, PYTHON, GENERIC, HELM, HELM_HTTP, NUGET, NPM, RPM, CARGO, COMPOSER, GO, HUGGINGFACE, CONDA, DART, SWIFT, PUPPET, RUBY, RAW, DEBIAN, CONAN, TERRAFORM. This field is extensible; clients must handle unknown values. ' example: DOCKER type: string x-extensible-enum: - DOCKER - MAVEN - PYTHON - GENERIC - HELM - HELM_HTTP - NUGET - NPM - RPM - CARGO - COMPOSER - GO - HUGGINGFACE - CONDA - DART - SWIFT - PUPPET - RUBY - RAW - DEBIAN - CONAN - TERRAFORM - CRAN ErrorV3: description: An error response properties: error: $ref: '#/components/schemas/ApiErrorsV3' required: - error type: object MetadataInputV3: description: 'Request payload containing metadata key-value pairs to add or update. ' example: metadata: - key: environment value: production - key: team value: backend properties: metadata: description: Array of metadata key-value pairs items: $ref: '#/components/schemas/MetadataItemInputV3' maxItems: 50 minItems: 1 type: array required: - metadata type: object MetadataTypeV3: description: Indicates if metadata was manually added (MANUAL) or system-generated (AUTO) enum: - MANUAL - AUTO type: string ListPackagesResponseBodyV3: allOf: - $ref: '#/components/schemas/PageInfoV3' - properties: items: items: $ref: '#/components/schemas/PackageV3' type: array meta: $ref: '#/components/schemas/MetaV3' required: - items type: object ModifiedAtMsV3: description: Unix timestamp in milliseconds when the resource was last modified example: 1736360000123 format: int64 type: - integer - 'null' projectIdentifier: type: string PackageStatsV3: description: Statistics for a single package properties: artifactsCount: description: Total number of artifacts/versions in the package format: int64 type: integer downloadCount: description: Total download count for the package format: int64 type: integer id: description: Package UUID format: uuid type: string size: description: Total size of the package (human-readable format) type: string required: - id type: object orgIdentifier: type: string ApiErrorsV3: properties: code: description: For some errors that could be handled programmatically, a short string indicating the [error code](https://docs.stripe.com/error-codes) reported. maxLength: 5000 type: string message: description: A human-readable message providing more details about the error. These messages can be shown to users. maxLength: 40000 type: string param: description: If the error is parameter-specific, the parameter related to the error. For example, we can use this to display a message near the correct form field. maxLength: 5000 type: string type: description: The type of error returned. enum: - INVALID_REQUEST_ERROR - AUTHENTICATION_ERROR - PERMISSION_ERROR - API_ERROR type: string required: - type title: APIErrors type: object responses: ListPackageResponseV3: content: application/json: schema: $ref: '#/components/schemas/ListPackagesResponseBodyV3' description: response for list package MetadataResponseV3: content: application/json: schema: properties: data: description: Array of metadata entries items: $ref: '#/components/schemas/MetadataV3' type: array required: - data type: object description: Response containing all metadata entries for the requested entity PackagesStatsResponseV3: content: application/json: schema: $ref: '#/components/schemas/PackagesStatsResponseBodyV3' description: Response containing statistics for the requested packages parameters: DeleteFilterParamV3: in: query name: deleted schema: default: exclude enum: - exclude - include - only type: string IdPathParamV3: in: path name: id required: true schema: type: string PackageTypeListParamV3: description: Registry Package Type in: query name: package_types schema: items: type: string type: array ForceParamV3: in: query name: force schema: default: false type: boolean MetadataFilterListParamV3: description: Filter by metadata using key:value format in: query name: metadata schema: items: type: string type: array SortV3: description: 'The sort for the results. Accepted pattern: `sort_field:sort_order` where sort_field is the field name and sort_order is either `asc` or `desc`. Examples: `name:asc`, `modifiedAt:desc` ' in: query name: sort schema: type: string PackageKindQueryParamV3: description: refers to package kind which is being used in huggingface packages for model, dataset and terraform packages for module, provider in: query name: package_kind schema: example: model type: string AccountIdentifierV3: description: 'Unique identifier for the Harness account. ' in: query name: account_identifier required: true schema: type: string SearchTermV3: description: 'Search term for filtering results. Example: `search_term=prod` might match keys like "production", "prod-env", etc. ' in: query name: search_term schema: type: string ProjectIdentifierV3: description: 'Unique identifier for the project within the organization. Example: `my_project` or `frontend_services` ' in: query name: project_identifier schema: type: string IncludeMetaParamV3: description: 'When `true`, include the `meta` object (e.g. active/deleted counts) in the response. ' in: query name: include_meta schema: default: false type: boolean PageNumberV3: description: 'The page number for pagination (0-indexed). Used to navigate through large result sets. Combined with `size` parameter to control which subset of results to return. Example: `page=0` returns the first page, `page=1` returns the second page ' in: query name: page schema: default: 0 format: int64 type: integer PageSizeV3: description: "The number of items to return per page.\n\nControls the page size for paginated results. \n\nExample: `size=50` returns up to 50 items per page\n" in: query name: size schema: default: 20 format: int64 maximum: 100 minimum: 1 type: integer RegistryIdListOptionalParamV3: description: 'Unique id for the registry. Note: This parameter should have one id if package query param is provided ' example: - 12345678-1234-1234-1234-123456789012 - aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee in: query name: registry_ids schema: items: format: uuid type: string type: array OrgIdentifierV3: description: 'Unique identifier for the organization within the account. Example: `default` or `engineering_org` ' in: query name: org_identifier schema: type: string securitySchemes: x-api-key: name: x-api-key type: apiKey in: header description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint. externalDocs: description: Find out more about Swagger url: http://swagger.io x-stoplight: id: oc91t4vrfnjyi x-tagGroups: - name: Organizations tags: - Organization - name: Projects tags: - Org Project - Project - name: Secrets tags: - Account Secret - Org Secret - Project Secret - Secrets - name: Connectors tags: - Account Connector - Org Connector - Project Connector - Connectors - GoogleSecretManagerConnector - name: Roles tags: - Account Roles - Organization Roles - Project Roles - Roles - name: Resource Groups tags: - Account Resource Groups - Organization Resource Groups - Project Resource Groups - Filter Resource Groups - Harness Resource Group - Zendesk - name: Role Assignments tags: - Account Role Assignments - Org Role Assignments - Project Role Assignments - Role Assignments - name: Platform tags: - Access Control List - Account Banner - Account Banner - Account Licensed Modules - Account License Type - Account Webhooks - AccountSetting - Accounts - Analyze Account Access Policy - Analyze Organization Access Policy - Analyze Project Access Policy - ApiKey - Audit - AuditFilters - Authentication Settings - Canny - Devops Essentials License Data By Account - EULA - Filter - Harness Resource Type - Invite - IP Allowlist - Nextgen Ldap - Notification Channels - Notification Rules - OIDC - Oidc-Access-Token - Oidc-ID-Token - Org Webhooks - Permissions - Project Webhooks - Secret Managers - Service Account - Setting - SMTP - Source Code Manager - Token - User - User Group - Variables - name: Delegate tags: - Agent mTLS Endpoint Management - Delegate Download Resource - Delegate Group Tags Resource - Delegate Setup Resource - Delegate Token Resource - name: Pipelines tags: - Pipelines - Input Sets - Approvals - Pipeline Execution - Pipeline Dashboard - Pipeline Input Set - Pipeline - Pipeline Execution Details - Pipeline Execute - Pipeline Refresh - Pipeline data retention - Triggers - TriggersEvents - Webhook Triggers - Webhook Event Handler - DryRunPipeline - name: Artifact Registry tags: - Registries - Artifacts - Docker Artifacts - Helm Artifacts - quarantine - Webhooks - Spaces - Replication - Registry V3 - Registries - Registry V3 - Packages - Registry V3 - Versions - Registry V3 - Files - Registry V3 - Metadata - Registry V3 - Firewall - Registry V3 - Transfer - name: Database DevOps tags: - Database Schema - Database Instance - Deployed State - Execution Config - Migration State - name: CD tags: - K8s Release Service Mapping - CustomDeployment - Environments - EnvironmentGroup - Infrastructures - Usage - File Store - Service Dashboard - ServiceOverrides - Rollback - tas - name: Deployment Freeze tags: - Freeze CRUD - Freeze Evaluation - Freeze Schema - name: Services tags: - Account Services - Org Services - Project Services - Services - name: Rancher Infrastructures tags: - Account Rancher Infrastructure - Org Rancher Infrastructure - Project Rancher Infrastructure - name: Templates tags: - Account Template - Org Template - Project Template - Templates - Global Templates - name: GitOps tags: - Agents - Application - Applications - Certificates - Clusters - Dashboard Aggregates - Dashboards - GnuPGP Keys - GPG Keys - Hosts - Project mappings - Projects - Reconciler - Repositories - Repository Certificates - Repository credentials - ValidateHost - name: GitX tags: - GitX Webhooks - Org Gitx Webhooks - Project Gitx Webhooks - name: CACM tags: - Anomalies Ignorelist Rule - Anomalies - BI Dashboards - Budgets - Budget Groups - Cost Categories - Cloud Accounts - K8S Connectors Metadata - Notification Settings v2 - Overview - Data Job Status - Recommendation cost settings - Unit Metric - Anomaly Comments - Cloud and AI cost anomaly details - Cloud and AI cost anomalies v2 - Cost Details - Currency Preferences - External Data Provider - AiEngine - CACM governance cost settings - Governance Enforcement Recommendation APIs - Governance Alert - Governance Overview - Governance Recommendation APIs - RuleEnforcement - Rule Executions - Rule - Rule Sets - Perspectives Folders - Perspective Reports - Perspectives - Cost Category Jira Project Mapping - Recommendations Details - Recommendations - Recommendation Jira - Recommendation Preferences - Recommendation Presets - Recommendation Servicenow - Recommendation Tags - Recommendation Ignore List - AutoStopping Rules - AutoStopping Rules V2 - AutoStopping Load Balancers - AutoStopping Fixed Schedules - AutoStopping Alerts - Commitment Orchestrator Events APIs - name: Feature Flags tags: - API Keys - Feature Flags - Targets - Target Groups - Environment Perspectives - Anomalies - Proxy - Tags - name: SRM tags: - Monitored Services - SLOs dashboard - NG SLOs - SLOs - Downtime - Srm Notification - name: Internal Developer Portal - IDP tags: - Entities - Teams - CatalogCustomProperties - Scores - DataSource - KubernetesDataPoints - AggregationRules - AppConfig - PluginInfo - LayoutProxy - Kinds - LayoutsV3 - LayoutsV4 - name: Environment Management - IDP tags: - Environment - Infrastructure - Instance - name: Custom Dashboards tags: - aida - dashboards - downloads - embed - folders - name: Policy Management tags: - dashboard - examples - policies - evaluate - evaluations - policysets - system - name: Code tags: - repository - status_checks - pullreq - upload - webhook - resource - rules - labels - name: IaCM tags: - usage - approvals - costs - executions - module-registry - workspaces - settings - tf-standard-backend - variables - name: STO tags: - Exemptions - Issues - Scans - Products - Test Targets - Target Variants - name: SEI tags: - Collection categories - Collections - Contributors - DORA - name: Git Sync (deprecated) tags: - Git Branches - Git Full Sync - Git Sync Settings - Git Sync - Git Sync Errors - name: Error Models tags: - Error Response - Governance Metadata - name: Supply Chain Security tags: - integration - PipelineInfraConfig - SBOM - Integration Step Config - Delete Step Config - Delete Repositories - Pipeline Store Config - Evidence Vault [Beta] - name: Release Management tags: - Release Groups - Releases - Orchestration Processes - Orchestration Activities - Orchestration Executions - Conflicts - Freeze - Reports - Uploads - name: Resilience Testing tags: - Actions - Action Templates - Chaos Components - Chaos Hubs - ChaosGuard Conditions - ChaosGuard Rules - DR Tests - Experiments - Experiment Templates - Faults - Fault Templates - Chaos Infrastructure - Health - Network Maps - Onboarding - Probes - Probe Templates - Chaos Recommendations - Risks