Registry V3 Packages
V3 packages endpoints
Lists Packages
Unique identifier for the Harness account.
Unique identifier for the organization within the account.
Example: default or engineering_org
Unique identifier for the project within the organization.
Example: my_project or frontend_services
Unique id for the registry. Note: This parameter should have one id if package query param is provided
["12345678-1234-1234-1234-123456789012","aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"]Filter by metadata using key:value format
refers to package kind which is being used in huggingface packages for model, dataset and terraform packages for module, provider
modelRegistry Package Type
excludePossible values: The page number for pagination (0-indexed).
Used to navigate through large result sets. Combined with size parameter
to control which subset of results to return.
Example: page=0 returns the first page, page=1 returns the second page
0The number of items to return per page.
Controls the page size for paginated results.
Example: size=50 returns up to 50 items per page
20The sort for the results.
Accepted pattern: sort_field:sort_order where sort_field is the field name
and sort_order is either asc or desc.
Examples: name:asc, modifiedAt:desc
Search term for filtering results.
Example: search_term=prod might match keys like "production", "prod-env", etc.
When true, include the meta object (e.g. active/deleted counts)
in the response.
falseresponse for list package
Pagination metadata.
pageselects which page of results to return (0 = first page).sizecontrols how many items are returned per page.hasMoreis true if more results exist after this page.
True if more results exist after this page.
trueThe current page (0-indexed)
0Number of items per page
20Error response.
GET /api/v3/packages?account_identifier=text HTTP/1.1
Accept: */*
{
"hasMore": true,
"page": 0,
"size": 20,
"items": [
{
"deletedAt": 1736360000456,
"deletedBy": {
"display_name": "text",
"email": "text",
"type": "text",
"uid": "text"
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"isPublic": true,
"isQuarantined": true,
"latestVersion": "text",
"latestVersionArtifactKey": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"modifiedAt": 1736360000123,
"modifiedBy": {
"display_name": "text",
"email": "text",
"type": "text",
"uid": "text"
},
"name": "text",
"orgIdentifier": "text",
"packageKind": "model",
"packageType": "DOCKER",
"projectIdentifier": "text",
"quarantineReason": "text",
"registryId": "123e4567-e89b-12d3-a456-426614174000",
"registryName": "text"
}
],
"meta": {
"activeCount": 95,
"deletedCount": 5
}
}Retrieves all metadata for a package.
Unique identifier for the Harness account.
Response containing all metadata entries for the requested entity
Error response.
GET /api/v3/packages/{id}/metadata?account_identifier=text HTTP/1.1
Accept: */*
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"key": "environment",
"type": "MANUAL",
"value": "production"
}
]
}Creates or overwrites metadata for a package.
Unique identifier for the Harness account.
Request payload containing metadata key-value pairs to add or update.
Response containing all metadata entries for the requested entity
Error response.
POST /api/v3/packages/{id}/metadata?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 90
{
"metadata": [
{
"key": "environment",
"value": "production"
},
{
"key": "team",
"value": "backend"
}
]
}{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"key": "environment",
"type": "MANUAL",
"value": "production"
}
]
}Replaces all metadata for a package.
Unique identifier for the Harness account.
Request payload containing metadata key-value pairs to add or update.
Response containing all metadata entries for the requested entity
Error response.
PUT /api/v3/packages/{id}/metadata?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 90
{
"metadata": [
{
"key": "environment",
"value": "production"
},
{
"key": "team",
"value": "backend"
}
]
}{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"key": "environment",
"type": "MANUAL",
"value": "production"
}
]
}Trigger an asynchronous rebuild of the package index for the given package. The rebuild runs in the background; this endpoint returns immediately once the request is accepted. Package index rebuild is package-type specific — registries whose package type does not maintain a rebuildable per-package index return 405.
Unique identifier for the Harness account.
Request to rebuild the package index for a single package
UUID of the package to rebuild the index for
Package index rebuild request accepted for processing
No content
Package index rebuild is not supported for this registry's package type.
Error response.
POST /api/v3/packages/rebuild-index?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"packageId": "text"
}No content
Get statistics (artifactsCount, size, downloadCount) for a list of packages by their UUIDs.
Unique identifier for the Harness account.
Unique identifier for the organization within the account.
Example: default or engineering_org
Unique identifier for the project within the organization.
Example: my_project or frontend_services
Request input for fetching package statistics
List of package UUIDs to fetch statistics for
Response containing statistics for the requested packages
Response body containing package statistics
Error response.
POST /api/v3/packages/stats?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 55
{
"packageIds": [
"123e4567-e89b-12d3-a456-426614174000"
]
}{
"items": [
{
"artifactsCount": 1,
"downloadCount": 1,
"id": "123e4567-e89b-12d3-a456-426614174000",
"size": "text"
}
]
}Last updated
Was this helpful?