> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/release-orchestration/api-reference/artifact-tracker.md).

# Artifact Tracker

## GET /v1/artifact-tracker/service-mappings

> List service mappings

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings":{"get":{"operationId":"ListArtifactTrackerServiceMappings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"description":"Filter service mappings by the linked settings identifier","in":"query","name":"settingsIdentifier","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerServiceMappingList"}}},"description":"Mappings list"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List service mappings","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTrackerServiceMappingList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactTrackerServiceMapping"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactTrackerServiceMapping":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"createdAt":{"format":"int64","type":"integer"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"identifier":{"type":"string"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["identifier","artifactPath","settingsIdentifier"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## POST /v1/artifact-tracker/service-mappings

> Create a service mapping

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings":{"post":{"operationId":"CreateArtifactTrackerServiceMapping","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateArtifactTrackerServiceMappingRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerServiceMapping"}}},"description":"Mapping created"},"400":{"$ref":"#/components/responses/ErrorResponse"},"409":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Create a service mapping","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"CreateArtifactTrackerServiceMappingRequest":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"description":"Optional override for the linked settings' default git connector. Required only when the linked settings has no defaultGitConnectorRef.","type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"identifier":{"description":"Optional human-readable identifier. Auto-generated from serviceRef, registry, and artifactPath if omitted.","type":"string"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"description":"Identifier of the settings to link. Required.","type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["artifactPath","settingsIdentifier"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"ArtifactTrackerServiceMapping":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"createdAt":{"format":"int64","type":"integer"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"identifier":{"type":"string"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["identifier","artifactPath","settingsIdentifier"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/artifact-tracker/service-mappings/{identifier}

> Get a service mapping by identifier

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings/{identifier}":{"get":{"operationId":"GetArtifactTrackerServiceMapping","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerServiceMapping"}}},"description":"Mapping found"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Get a service mapping by identifier","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTrackerServiceMapping":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"createdAt":{"format":"int64","type":"integer"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"identifier":{"type":"string"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["identifier","artifactPath","settingsIdentifier"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## PUT /v1/artifact-tracker/service-mappings/{identifier}

> Update a service mapping

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings/{identifier}":{"put":{"operationId":"UpdateArtifactTrackerServiceMapping","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateArtifactTrackerServiceMappingRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerServiceMapping"}}},"description":"Mapping updated"},"400":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Update a service mapping","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"UpdateArtifactTrackerServiceMappingRequest":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"description":"Optional override for the linked settings' default git connector. Required only when the linked settings has no defaultGitConnectorRef.","type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"description":"Identifier of the settings to link. Required.","type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["settingsIdentifier"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"ArtifactTrackerServiceMapping":{"properties":{"artifactPath":{"type":"string"},"artifactRegistry":{"type":"string"},"createdAt":{"format":"int64","type":"integer"},"dockerConnectorRefOverride":{"description":"Docker/container registry connector reference.","type":"string"},"gitConnectorRefOverride":{"type":"string"},"gitProviderTypeOverride":{"$ref":"#/components/schemas/GitProviderType"},"identifier":{"type":"string"},"k8sConnectorRefOverride":{"type":"string"},"k8sNamespaceOverride":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"type":"string"},"settingsIdentifier":{"type":"string"},"ticketConnectorRefOverride":{"type":"string"},"ticketRegexOverride":{"type":"string"},"useSemanticVersionOverride":{"description":"Override the linked settings' default semantic-versioning strategy for this mapping.","type":"boolean"}},"required":["identifier","artifactPath","settingsIdentifier"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## DELETE /v1/artifact-tracker/service-mappings/{identifier}

> Delete a service mapping

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings/{identifier}":{"delete":{"operationId":"DeleteArtifactTrackerServiceMapping","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Mapping deleted"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Delete a service mapping","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}},"schemas":{"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}}}}
```

## List artifact tags produced under a given service mapping

> Returns a paginated list of artifact tags (strings) linked to the given service mapping, ordered newest first. Empty list if no artifacts have been ingested for this mapping yet.<br>

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-mappings/{identifier}/tags":{"get":{"description":"Returns a paginated list of artifact tags (strings) linked to the given service mapping, ordered newest first. Empty list if no artifacts have been ingested for this mapping yet.\n","operationId":"ListArtifactTrackerTagsByServiceMapping","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"description":"Service mapping identifier","in":"path","name":"identifier","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTagList"}}},"description":"Tags list"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List artifact tags produced under a given service mapping","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTagList":{"description":"Paginated list of distinct artifact tags for a service mapping, ordered newest first.","properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactTag"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactTag":{"description":"A distinct artifact tag with context from the newest artifact row\nproduced under that tag. commit_sha / repo_name / branch may be empty\nif the ingest event didn't carry git info.\n","properties":{"artifactPath":{"type":"string"},"branch":{"type":"string"},"commitSha":{"type":"string"},"registry":{"type":"string"},"repoName":{"type":"string"},"tag":{"type":"string"}},"required":["tag","registry","artifactPath"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## List distinct service refs from service mappings under the current scope

> Returns a paginated list of \`{id, serviceRef}\` pairs — one per service mapping under the requested scope. Consumers pick a \`serviceRef\` from the list and use the corresponding \`id\` to fetch tags via \`/v1/artifact-tracker/service-mappings/{identifier}/tags\`.<br>

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/service-refs":{"get":{"description":"Returns a paginated list of `{id, serviceRef}` pairs — one per service mapping under the requested scope. Consumers pick a `serviceRef` from the list and use the corresponding `id` to fetch tags via `/v1/artifact-tracker/service-mappings/{identifier}/tags`.\n","operationId":"ListArtifactTrackerServiceRefs","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerServiceRefList"}}},"description":"Service refs list"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List distinct service refs from service mappings under the current scope","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTrackerServiceRefList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactTrackerServiceRef"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactTrackerServiceRef":{"description":"A service ref entry from a service mapping, keyed by mapping id.","properties":{"id":{"description":"Service mapping UUID. Use this to fetch tags via `/service-mappings/{identifier}/tags` (identifier resolved separately) or as an opaque key.","type":"string"},"identifier":{"description":"Service mapping identifier (user-facing name).","type":"string"},"serviceOrgIdentifier":{"description":"Organization of the referenced CD service. Empty means the service lives in the same scope as this mapping.","type":"string"},"serviceProjectIdentifier":{"description":"Project of the referenced CD service. Requires serviceOrgIdentifier. Empty means the service is not project-scoped.","type":"string"},"serviceRef":{"description":"The service ref stored on the service mapping.","type":"string"}},"required":["id","serviceRef"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/artifact-tracker/settings

> List artifact tracker settings for scope

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/settings":{"get":{"operationId":"ListArtifactTrackerSettings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerSettingsList"}}},"description":"Settings list"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List artifact tracker settings for scope","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTrackerSettingsList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactTrackerSettings"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactTrackerSettings":{"properties":{"createdAt":{"format":"int64","type":"integer"},"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"identifier":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["identifier","name"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## POST /v1/artifact-tracker/settings

> Create artifact tracker settings

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/settings":{"post":{"operationId":"CreateArtifactTrackerSettings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateArtifactTrackerSettingsRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerSettings"}}},"description":"Settings created"},"400":{"$ref":"#/components/responses/ErrorResponse"},"409":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Create artifact tracker settings","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"CreateArtifactTrackerSettingsRequest":{"properties":{"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"identifier":{"type":"string"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["identifier","name"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"ArtifactTrackerSettings":{"properties":{"createdAt":{"format":"int64","type":"integer"},"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"identifier":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["identifier","name"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/artifact-tracker/settings/{identifier}

> Get artifact tracker settings by identifier

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/settings/{identifier}":{"get":{"operationId":"GetArtifactTrackerSettings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerSettings"}}},"description":"Settings found"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Get artifact tracker settings by identifier","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactTrackerSettings":{"properties":{"createdAt":{"format":"int64","type":"integer"},"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"identifier":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["identifier","name"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## PUT /v1/artifact-tracker/settings/{identifier}

> Create or update artifact tracker settings

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/settings/{identifier}":{"put":{"operationId":"UpsertArtifactTrackerSettings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertArtifactTrackerSettingsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactTrackerSettings"}}},"description":"Settings saved"},"400":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Create or update artifact tracker settings","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"UpsertArtifactTrackerSettingsRequest":{"properties":{"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["name"],"type":"object"},"GitProviderType":{"description":"Which git provider the changeset pipeline clones from. HARNESS_CODE clones a Harness Code repository and needs no connector. THIRD_PARTY clones through the configured git connector. Defaults to THIRD_PARTY when unset.","enum":["THIRD_PARTY","HARNESS_CODE"],"type":"string"},"ArtifactTrackerSettings":{"properties":{"createdAt":{"format":"int64","type":"integer"},"defaultDockerConnectorRef":{"description":"Docker/container registry connector reference.","type":"string"},"defaultGitConnectorRef":{"type":"string"},"defaultGitProviderType":{"$ref":"#/components/schemas/GitProviderType"},"defaultK8sConnectorRef":{"type":"string"},"defaultK8sNamespace":{"type":"string"},"defaultTicketConnectorRef":{"type":"string"},"defaultTicketRegex":{"type":"string"},"defaultUseSemanticVersion":{"description":"Enable semantic-version-aware previous-artifact resolution by default for mappings linked to this settings.","type":"boolean"},"identifier":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"name":{"description":"Human-readable name for the settings.","type":"string"}},"required":["identifier","name"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## DELETE /v1/artifact-tracker/settings/{identifier}

> Delete artifact tracker settings

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifact-tracker/settings/{identifier}":{"delete":{"operationId":"DeleteArtifactTrackerSettings","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Settings deleted"},"400":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Delete artifact tracker settings","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}},"schemas":{"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}}}}
```

## GET /v1/artifacts

> List artifacts for a scope

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifacts":{"get":{"operationId":"ListArtifacts","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"description":"Page number (starts at 0)","in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"description":"How many results to return per page","in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"description":"Show only artifacts from this registry","in":"query","name":"registry","schema":{"type":"string"}},{"description":"Show only artifacts with this path or image name","in":"query","name":"artifactPath","schema":{"type":"string"}},{"description":"Show only artifacts with this tag or version","in":"query","name":"tag","schema":{"type":"string"}},{"description":"Show only artifacts linked to this service","in":"query","name":"service","schema":{"type":"string"}},{"description":"Show only artifacts built from this commit","in":"query","name":"commitSha","schema":{"type":"string"}},{"in":"query","name":"serviceMappingId","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactVersionList"}}},"description":"Artifact list"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List artifacts for a scope","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactVersionList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactVersion"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactVersion":{"properties":{"artifactPath":{"type":"string"},"buildPipeline":{"$ref":"#/components/schemas/ArtifactBuildPipeline"},"changesets":{"items":{"$ref":"#/components/schemas/ChangesetRef"},"type":"array"},"createdAt":{"format":"int64","type":"integer"},"id":{"type":"string"},"registry":{"type":"string"},"releases":{"items":{"$ref":"#/components/schemas/ReleaseRef"},"type":"array"},"serviceRef":{"type":"string"},"tag":{"type":"string"}},"required":["id","registry","artifactPath","tag"],"type":"object"},"ArtifactBuildPipeline":{"properties":{"branch":{"description":"Branch the artifact was built from","type":"string"},"buildPlanExecutionId":{"description":"Execution ID of the pipeline run that produced this artifact","type":"string"},"commitSha":{"description":"Git commit SHA that produced this artifact","type":"string"},"orgId":{"description":"Org the pipeline belongs to","type":"string"},"pipelineIdentifier":{"description":"Identifier of the pipeline that built this artifact","type":"string"},"projectId":{"description":"Project the pipeline belongs to","type":"string"},"repoName":{"description":"Source repository URL or name","type":"string"}},"required":["commitSha","repoName","branch","pipelineIdentifier","orgId","projectId","buildPlanExecutionId"],"type":"object"},"ChangesetRef":{"properties":{"fromArtifactTag":{"type":"string"},"id":{"description":"Changeset slug_id","type":"string"},"toArtifactTag":{"type":"string"}},"required":["id"],"type":"object"},"ReleaseRef":{"properties":{"id":{"description":"Release slug_id","type":"string"},"identifier":{"type":"string"},"name":{"type":"string"},"orgIdentifier":{"type":"string"},"projectIdentifier":{"type":"string"},"status":{"type":"string"}},"required":["id"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/artifacts/facets

> Distinct filter options (facets) for a scope's artifacts

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifacts/facets":{"get":{"operationId":"GetArtifactFacets","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"description":"Filter options by the artifact registry","in":"query","name":"registry","schema":{"type":"string"}},{"description":"Filter options by the artifact path","in":"query","name":"artifactPath","schema":{"type":"string"}},{"description":"Filter options by the artifact tag","in":"query","name":"tag","schema":{"type":"string"}},{"description":"Filter options by the artifact service","in":"query","name":"service","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactFacets"}}},"description":"Filter facets for the scope's artifacts"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Distinct filter options (facets) for a scope's artifacts","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactFacets":{"properties":{"artifactPaths":{"items":{"type":"string"},"type":"array"},"registries":{"items":{"type":"string"},"type":"array"},"services":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/artifacts/latest-per-service

> List service mappings (with artifacts) each enriched with its latest artifact

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/artifacts/latest-per-service":{"get":{"operationId":"ListArtifactsByService","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"in":"query","name":"serviceRef","schema":{"type":"string"}},{"in":"query","name":"artifactRegistry","schema":{"type":"string"}},{"in":"query","name":"artifactPath","schema":{"type":"string"}},{"in":"query","name":"settingsIdentifier","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactServiceGroupList"}}},"description":"Service-grouped artifact list"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List service mappings (with artifacts) each enriched with its latest artifact","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ArtifactServiceGroupList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ArtifactServiceItem"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ArtifactServiceItem":{"description":"A service mapping together with its latest ingested artifact.","properties":{"artifactPath":{"description":"Artifact path tracked by this mapping","type":"string"},"artifactRegistry":{"description":"Registry tracked by this mapping","type":"string"},"latestArtifact":{"$ref":"#/components/schemas/ArtifactVersion"},"serviceMappingId":{"description":"Identifier of the service mapping","type":"string"},"serviceRef":{"description":"Bound service reference; absent when the mapping is not yet bound to a service","type":"string"}},"required":["serviceMappingId","artifactPath","artifactRegistry"],"type":"object"},"ArtifactVersion":{"properties":{"artifactPath":{"type":"string"},"buildPipeline":{"$ref":"#/components/schemas/ArtifactBuildPipeline"},"changesets":{"items":{"$ref":"#/components/schemas/ChangesetRef"},"type":"array"},"createdAt":{"format":"int64","type":"integer"},"id":{"type":"string"},"registry":{"type":"string"},"releases":{"items":{"$ref":"#/components/schemas/ReleaseRef"},"type":"array"},"serviceRef":{"type":"string"},"tag":{"type":"string"}},"required":["id","registry","artifactPath","tag"],"type":"object"},"ArtifactBuildPipeline":{"properties":{"branch":{"description":"Branch the artifact was built from","type":"string"},"buildPlanExecutionId":{"description":"Execution ID of the pipeline run that produced this artifact","type":"string"},"commitSha":{"description":"Git commit SHA that produced this artifact","type":"string"},"orgId":{"description":"Org the pipeline belongs to","type":"string"},"pipelineIdentifier":{"description":"Identifier of the pipeline that built this artifact","type":"string"},"projectId":{"description":"Project the pipeline belongs to","type":"string"},"repoName":{"description":"Source repository URL or name","type":"string"}},"required":["commitSha","repoName","branch","pipelineIdentifier","orgId","projectId","buildPlanExecutionId"],"type":"object"},"ChangesetRef":{"properties":{"fromArtifactTag":{"type":"string"},"id":{"description":"Changeset slug_id","type":"string"},"toArtifactTag":{"type":"string"}},"required":["id"],"type":"object"},"ReleaseRef":{"properties":{"id":{"description":"Release slug_id","type":"string"},"identifier":{"type":"string"},"name":{"type":"string"},"orgIdentifier":{"type":"string"},"projectIdentifier":{"type":"string"},"status":{"type":"string"}},"required":["id"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/changesets

> List changesets

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/changesets":{"get":{"operationId":"ListChangesets","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"releaseId","schema":{"type":"string"}},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"in":"query","name":"artifactPath","schema":{"type":"string"}},{"in":"query","name":"artifactRegistry","schema":{"type":"string"}},{"in":"query","name":"sha","schema":{"type":"string"}},{"in":"query","name":"ticketKey","schema":{"type":"string"}},{"in":"query","name":"service","schema":{"type":"string"}},{"in":"query","name":"tag","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangesetList"}}},"description":"Changeset list"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List changesets","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ChangesetList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/Changeset"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"Changeset":{"properties":{"artifactPath":{"type":"string"},"commitCount":{"type":"integer"},"createdAt":{"format":"int64","type":"integer"},"errorMessage":{"type":"string"},"fromArtifactTag":{"type":"string"},"id":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"pipelineExecutionId":{"type":"string"},"registry":{"type":"string"},"serviceRef":{"type":"string"},"status":{"enum":["PENDING","IN_PROGRESS","COMPLETED","FAILED"],"type":"string"},"toArtifactTag":{"type":"string"}},"required":["id","artifactPath","fromArtifactTag","toArtifactTag","status"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/changesets/facets

> Distinct filter options (facets) for changesets

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/changesets/facets":{"get":{"operationId":"GetChangesetFacets","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"query","name":"releaseId","schema":{"type":"string"}},{"in":"query","name":"service","schema":{"type":"string"}},{"in":"query","name":"tag","schema":{"type":"string"}},{"in":"query","name":"artifactPath","schema":{"type":"string"}},{"in":"query","name":"artifactRegistry","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangesetFacets"}}},"description":"Filter facets for changesets"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Distinct filter options (facets) for changesets","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ChangesetFacets":{"properties":{"artifactPaths":{"items":{"type":"string"},"type":"array"},"registries":{"items":{"type":"string"},"type":"array"},"services":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## PATCH /v1/changesets/{changesetId}

> Edit a changeset's from/to tags

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/changesets/{changesetId}":{"patch":{"operationId":"UpdateChangesetTags","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"changesetId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChangesetTagsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Changeset"}}},"description":"Updated changeset"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"409":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Edit a changeset's from/to tags","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"UpdateChangesetTagsRequest":{"properties":{"fromArtifactTag":{"type":"string"},"toArtifactTag":{"type":"string"}},"type":"object"},"Changeset":{"properties":{"artifactPath":{"type":"string"},"commitCount":{"type":"integer"},"createdAt":{"format":"int64","type":"integer"},"errorMessage":{"type":"string"},"fromArtifactTag":{"type":"string"},"id":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"pipelineExecutionId":{"type":"string"},"registry":{"type":"string"},"serviceRef":{"type":"string"},"status":{"enum":["PENDING","IN_PROGRESS","COMPLETED","FAILED"],"type":"string"},"toArtifactTag":{"type":"string"}},"required":["id","artifactPath","fromArtifactTag","toArtifactTag","status"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## GET /v1/changesets/{changesetId}/commits

> List commits (with tickets) for a changeset

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/changesets/{changesetId}/commits":{"get":{"operationId":"ListChangesetCommits","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"changesetId","required":true,"schema":{"type":"string"}},{"description":"When set, the changeset is read through the release's link instead of the caller's exact org/project scope, so a changeset recorded at a parent scope (account/org service mapping) is visible from the release that references it.","in":"query","name":"releaseId","schema":{"type":"string"}},{"in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"in":"query","name":"size","schema":{"default":20,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangesetCommitList"}}},"description":"Changeset commit list"},"400":{"$ref":"#/components/responses/ErrorResponse"},"403":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"List commits (with tickets) for a changeset","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"ChangesetCommitList":{"properties":{"content":{"items":{"$ref":"#/components/schemas/ChangesetCommit"},"type":"array"},"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalElements":{"type":"integer"},"totalPages":{"type":"integer"}},"type":"object"},"ChangesetCommit":{"properties":{"authorDate":{"format":"int64","type":"integer"},"authorEmail":{"type":"string"},"authorName":{"type":"string"},"committerDate":{"format":"int64","type":"integer"},"committerEmail":{"type":"string"},"committerName":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"parentShas":{"items":{"type":"string"},"type":"array"},"repoName":{"type":"string"},"sha":{"type":"string"},"tickets":{"items":{"$ref":"#/components/schemas/ChangesetCommitTicket"},"type":"array"},"url":{"type":"string"}},"required":["id","sha","message"],"type":"object"},"ChangesetCommitTicket":{"properties":{"key":{"type":"string"},"source":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["key"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```

## POST /v1/changesets/{changesetId}/retry

> Retry a changeset's pipeline

```json
{"openapi":"3.0.0","info":{"title":"rms","version":"1.0"},"tags":[],"servers":[{"url":"/api"}],"paths":{"/v1/changesets/{changesetId}/retry":{"post":{"operationId":"RetryChangeset","parameters":[{"$ref":"#/components/parameters/AccountParam"},{"$ref":"#/components/parameters/OrgParam"},{"$ref":"#/components/parameters/ProjectParam"},{"in":"path","name":"changesetId","required":true,"schema":{"type":"string"}},{"description":"When set, the changeset is read through the release's link instead of the caller's exact org/project scope, so a changeset recorded at a parent scope (account/org service mapping) is visible from the release that references it.","in":"query","name":"releaseId","schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Changeset"}}},"description":"Retry accepted; pipeline queued"},"403":{"$ref":"#/components/responses/ErrorResponse"},"404":{"$ref":"#/components/responses/ErrorResponse"},"409":{"$ref":"#/components/responses/ErrorResponse"},"500":{"$ref":"#/components/responses/ErrorResponse"}},"summary":"Retry a changeset's pipeline","tags":["Artifact Tracker"]}}},"components":{"parameters":{"AccountParam":{"description":"Account Identifier","in":"header","name":"Harness-Account","required":true,"schema":{"type":"string"}},"OrgParam":{"description":"Organisation Identifier","in":"query","name":"orgIdentifier","schema":{"type":"string"}},"ProjectParam":{"description":"Project Identifier","in":"query","name":"projectIdentifier","schema":{"type":"string"}}},"schemas":{"Changeset":{"properties":{"artifactPath":{"type":"string"},"commitCount":{"type":"integer"},"createdAt":{"format":"int64","type":"integer"},"errorMessage":{"type":"string"},"fromArtifactTag":{"type":"string"},"id":{"type":"string"},"lastUpdatedAt":{"format":"int64","type":"integer"},"pipelineExecutionId":{"type":"string"},"registry":{"type":"string"},"serviceRef":{"type":"string"},"status":{"enum":["PENDING","IN_PROGRESS","COMPLETED","FAILED"],"type":"string"},"toArtifactTag":{"type":"string"}},"required":["id","artifactPath","fromArtifactTag","toArtifactTag","status"],"type":"object"},"Error":{"description":"Error Response","properties":{"code":{"description":"canonical error code name","enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","INTERNAL_SERVER_ERROR"],"type":"string"},"explanation":{"description":"additional context about why the error occurred","type":"string"},"governanceMetadata":{"$ref":"#/components/schemas/GovernanceMetadata"},"message":{"description":"error message detail","type":"string"},"probable_fixes":{"description":"suggested actions to resolve the error","items":{"type":"string"},"type":"array"}},"required":["message"],"title":"Error Response","type":"object"},"GovernanceMetadata":{"properties":{"accountId":{"type":"string"},"action":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"details":{"items":{"$ref":"#/components/schemas/PolicySetMetadata"},"type":"array"},"entity":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string"},"type":{"type":"string"}},"type":"object"},"PolicySetMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"deny":{"type":"boolean"},"description":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyMetadata":{"items":{"$ref":"#/components/schemas/PolicyMetadata"},"type":"array"},"policySetId":{"type":"string"},"policySetName":{"type":"string"},"projectId":{"type":"string"},"status":{"type":"string"}},"type":"object"},"PolicyMetadata":{"properties":{"accountId":{"type":"string"},"created":{"type":"string"},"denyMessages":{"items":{"type":"string"},"type":"array"},"error":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"},"projectId":{"type":"string"},"severity":{"type":"string"},"status":{"type":"string"},"updated":{"type":"string"}},"type":"object"}},"responses":{"ErrorResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error Response body"}}}}
```
