openapi: 3.2.0 info: title: Harness Docker Artifacts 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: APIs to get details of docker artifacts name: Docker Artifacts paths: /har/api/v1/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/details: get: description: Get Docker Artifact Details operationId: GetDockerArtifactDetails parameters: - $ref: '#/components/parameters/registryRefPathParam' - $ref: '#/components/parameters/artifactPathParam' - $ref: '#/components/parameters/versionPathParam' - $ref: '#/components/parameters/digestParam' - $ref: '#/components/parameters/versionTypeParam' responses: '200': $ref: '#/components/responses/DockerArtifactDetailResponse' '400': $ref: '#/components/responses/RegistryBadRequest' '401': $ref: '#/components/responses/RegistryUnauthenticated' '403': $ref: '#/components/responses/RegistryUnauthorized' '404': $ref: '#/components/responses/RegistryNotFound' '500': $ref: '#/components/responses/RegistryInternalServerError' summary: Describe Docker Artifact Detail tags: - Docker Artifacts /har/api/v1/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/integrationdetails: get: description: Get Docker Artifact Integration Details operationId: GetDockerArtifactIntegrationDetails parameters: - $ref: '#/components/parameters/registryRefPathParam' - $ref: '#/components/parameters/artifactPathParam' - $ref: '#/components/parameters/versionPathParam' - $ref: '#/components/parameters/digestParam' - $ref: '#/components/parameters/versionTypeParam' responses: '200': $ref: '#/components/responses/DockerArtifactDetailIntegrationResponse' '400': $ref: '#/components/responses/RegistryBadRequest' '401': $ref: '#/components/responses/RegistryUnauthenticated' '403': $ref: '#/components/responses/RegistryUnauthorized' '404': $ref: '#/components/responses/RegistryNotFound' '500': $ref: '#/components/responses/RegistryInternalServerError' summary: Describe Docker Artifact Integration Detail tags: - Docker Artifacts /har/api/v1/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/layers: get: description: Get Docker Artifact Layers operationId: GetDockerArtifactLayers parameters: - $ref: '#/components/parameters/registryRefPathParam' - $ref: '#/components/parameters/artifactPathParam' - $ref: '#/components/parameters/versionPathParam' - $ref: '#/components/parameters/digestParam' responses: '200': $ref: '#/components/responses/DockerLayersResponse' '400': $ref: '#/components/responses/RegistryBadRequest' '401': $ref: '#/components/responses/RegistryUnauthenticated' '403': $ref: '#/components/responses/RegistryUnauthorized' '404': $ref: '#/components/responses/RegistryNotFound' '500': $ref: '#/components/responses/RegistryInternalServerError' summary: Describe Docker Artifact Layers tags: - Docker Artifacts /har/api/v1/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/manifest: get: description: Get Docker Artifact Manifest operationId: GetDockerArtifactManifest parameters: - $ref: '#/components/parameters/registryRefPathParam' - $ref: '#/components/parameters/artifactPathParam' - $ref: '#/components/parameters/versionPathParam' - $ref: '#/components/parameters/digestParam' responses: '200': $ref: '#/components/responses/DockerArtifactManifestResponse' '400': $ref: '#/components/responses/RegistryBadRequest' '401': $ref: '#/components/responses/RegistryUnauthenticated' '403': $ref: '#/components/responses/RegistryUnauthorized' '404': $ref: '#/components/responses/RegistryNotFound' '500': $ref: '#/components/responses/RegistryInternalServerError' summary: Describe Docker Artifact Manifest tags: - Docker Artifacts /har/api/v1/registry/{registry_ref}/artifact/{artifact}/version/{version}/docker/manifests: get: description: Get Docker Artifact Manifests operationId: GetDockerArtifactManifests parameters: - $ref: '#/components/parameters/registryRefPathParam' - $ref: '#/components/parameters/artifactPathParam' - $ref: '#/components/parameters/versionPathParam' - $ref: '#/components/parameters/versionTypeParam' responses: '200': $ref: '#/components/responses/DockerManifestsResponse' '400': $ref: '#/components/responses/RegistryBadRequest' '401': $ref: '#/components/responses/RegistryUnauthenticated' '403': $ref: '#/components/responses/RegistryUnauthorized' '404': $ref: '#/components/responses/RegistryNotFound' '500': $ref: '#/components/responses/RegistryInternalServerError' summary: Describe Docker Artifact Manifests tags: - Docker Artifacts components: responses: DockerLayersResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/DockerLayersSummary' status: $ref: '#/components/schemas/RegistryStatus' required: - status - data type: object description: response to get artifact layers RegistryUnauthorized: content: application/json: schema: $ref: '#/components/schemas/RegistryError' description: Access denied due to insufficient permissions RegistryUnauthenticated: content: application/json: schema: $ref: '#/components/schemas/RegistryError' description: Authentication failed or missing credentials DockerArtifactManifestResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/DockerArtifactManifest' status: $ref: '#/components/schemas/RegistryStatus' required: - status - data type: object description: response to get docker artifact manifest RegistryBadRequest: content: application/json: schema: $ref: '#/components/schemas/RegistryError' description: The request was invalid or malformed RegistryNotFound: content: application/json: schema: $ref: '#/components/schemas/RegistryError' description: The requested resource was not found RegistryInternalServerError: content: application/json: schema: $ref: '#/components/schemas/RegistryError' description: An unexpected server error occurred DockerArtifactDetailResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/DockerArtifactDetail' status: $ref: '#/components/schemas/RegistryStatus' required: - status - data type: object description: response to get docker artifact detail DockerManifestsResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/DockerManifests' status: $ref: '#/components/schemas/RegistryStatus' required: - status - data type: object description: response to get artifact layers DockerArtifactDetailIntegrationResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/DockerArtifactIntegrationDetail' status: $ref: '#/components/schemas/RegistryStatus' required: - status - data type: object description: response to get docker artifact integration detail schemas: ArtifactEntityMetadata: additionalProperties: true description: Artifact Entity Metadata type: object DockerLayerEntry: description: Harness Artifact Layers properties: command: type: string size: type: string required: - command type: object PackageType: description: refers to package enum: - DOCKER - MAVEN - PYTHON - GENERIC - HELM - NUGET - NPM - RPM - CARGO - COMPOSER - GO - HUGGINGFACE - CONDA - DART - SWIFT - PUPPET - RUBY - CRAN - RAW - HELM_HTTP - DEBIAN - CONAN - TERRAFORM type: string DockerManifestDetails: description: Harness Artifact Layers properties: createdAt: type: string digest: type: string downloadsCount: format: int64 type: integer isQuarantined: type: boolean osArch: type: string quarantineReason: type: string size: type: string stoDetails: $ref: '#/components/schemas/STODetails' stoExecutionId: type: string stoPipelineId: type: string required: - digest - layers - osArch type: object DockerArtifactDetail: description: Docker Artifact Detail properties: createdAt: type: string downloadsCount: format: int64 type: integer imageName: type: string isQuarantined: type: boolean metadata: $ref: '#/components/schemas/ArtifactEntityMetadata' modifiedAt: type: string packageType: $ref: '#/components/schemas/PackageType' pullCommand: type: string pullCommandByDigest: type: string pushedBy: $ref: '#/components/schemas/RegistryUserInfo' quarantineReason: type: string registryPath: type: string size: type: string url: type: string version: type: string required: - imageName - version - registryPath - url - packageType type: object SLSADetails: properties: provenanceId: type: string status: type: string type: object DockerArtifactManifest: description: Docker Artifact Manifest properties: manifest: type: string required: - manifest type: object RegistryStatus: description: Request processing status indicator enum: - SUCCESS - FAILURE - ERROR type: string RegistryError: description: Standard error response with code, message and optional details properties: code: description: The HTTP error code example: '404' type: string details: description: 'Additional context and details about the error. May include field-specific validation errors or debugging information. ' example: field: registry_identifier reason: Registry does not exist in the specified project value: invalid-registry type: object message: description: Human-readable error message explaining what went wrong example: Registry not found type: string required: - code - message type: object SBOMDetails: properties: allowListViolations: type: integer artifactId: type: string artifactSourceId: type: string avgScore: type: string componentsCount: type: integer denyListViolations: type: integer maxScore: type: string orchestrationId: type: string orgId: type: string projectId: type: string type: object DeploymentDetails: properties: nonProdDeployment: type: integer prodDeployment: type: integer totalDeployment: type: integer required: - prodDeployment - nonProdDeployment - totalDeployment type: object RegistryUserInfo: 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 DockerLayersSummary: description: Harness Layers Summary properties: digest: type: string layers: items: $ref: '#/components/schemas/DockerLayerEntry' type: array osArch: type: string required: - digest type: object RegistryBuildDetails: properties: orgIdentifier: type: string pipelineDisplayName: type: string pipelineExecutionId: type: string pipelineIdentifier: type: string projectIdentifier: type: string stageExecutionId: type: string stepExecutionId: type: string type: object DockerArtifactIntegrationDetail: description: Docker Artifact Detail properties: buildDetails: $ref: '#/components/schemas/RegistryBuildDetails' deploymentsDetails: $ref: '#/components/schemas/DeploymentDetails' sbomDetails: $ref: '#/components/schemas/SBOMDetails' slsaDetails: $ref: '#/components/schemas/SLSADetails' stoDetails: $ref: '#/components/schemas/STODetails' type: object STODetails: properties: critical: type: integer executionId: type: string high: type: integer ignored: type: integer info: type: integer lastScanned: type: string low: type: integer medium: type: integer pipelineId: type: string total: type: integer type: object DockerManifests: description: Harness Manifests properties: imageName: type: string manifests: items: $ref: '#/components/schemas/DockerManifestDetails' type: array version: type: string required: - imageName - version type: object parameters: versionPathParam: description: Name of Artifact Version. in: path name: version required: true schema: type: string versionTypeParam: description: Version Type. in: query name: version_type schema: enum: - DIGEST - TAG type: string artifactPathParam: description: "Name of the artifact.\n\nThe value depends on whether the name contains a slash (`/`):\n\n- If the artifact name **contains `/`**, append a trailing `/+` at the end.\n - Example: `mygroup/myartifact/+`\n- If the artifact name **does not contain `/`**, use the plain name.\n - Example: `myartifact`\n\nThis is used internally to distinguish between namespaced and flat artifact names.\n" examples: flat: summary: Flat artifact name value: myartifact namespaced: summary: Namespaced artifact value: mygroup/myartifact/+ in: path name: artifact required: true schema: type: string digestParam: description: Digest. in: query name: digest required: true schema: type: string registryRefPathParam: description: 'Reference to the scope in which the registry exists. Format depends on the scope: - **Account-level**: `account_id/registry_name/+` - **Organization-level**: `account_id/org_id/registry_name/+` - **Project-level**: `account_id/org_id/project_id/registry_name/+` The `/+` suffix is used internally to route scoped requests. It must be included **exactly as shown** in the URL. ' examples: accountLevel: description: Only account ID, scoped at account level summary: Account-level registry value: acc123/registry123/+ orgLevel: description: Account and org ID, scoped at org level summary: Organization-level registry value: acc123/org456/registry123/+ projectLevel: description: Account, org, and project ID, scoped at project level summary: Project-level registry value: acc123/org456/proj789/registry123/+ in: path name: registry_ref required: true 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