# List registries

Lists all the registries.

Endpoint: GET /har/api/v1/spaces/{space_ref}/registries
Version: 1.0
Security: x-api-key

## Path parameters:

  - `space_ref` (string, required)
    Reference to the scope in which the registry exists.

Format depends on the scope:

- Account-level: account_id/+
- Organization-level: account_id/org/+
- Project-level: account_id/org/project/+

The /+ suffix is used internally to route scoped requests.
It must be included exactly as shown in the URL.

## Query parameters:

  - `package_type` (array)
    Registry Package Type

  - `type` (string)
    Registry Type
    Enum: "VIRTUAL", "UPSTREAM"

  - `page` (integer)
    Current page number

  - `size` (integer)
    Number of items per page

  - `sort_order` (string)
    sortOrder

  - `sort_field` (string)
    sortField

  - `search_term` (string)
    search Term.

  - `recursive` (boolean)
    Whether to list registries recursively.

Deprecated. Use the new scope parameter.

* recursive=true  → scope=ancestors
* recursive=false → scope=none

  - `scope` (string)
    Scope of registries to list
 none – current space only (default)    ancestors – current space plus all parent spaces   * descendants – current space plus all child spaces  
If omitted, none is assumed.
    Enum: "ancestors", "descendants", "none"

## Response 200 fields (application/json):

  - `data` (object, required)
    A list of Harness Artifact Registries

  - `data.itemCount` (integer)
    The total number of items
    Example: 1

  - `data.meta` (object, required)
    Metadata about the list response

  - `data.meta.activeCount` (integer, required)
    Count of active (non-deleted) entities
    Example: 95

  - `data.meta.deletedCount` (integer, required)
    Count of soft-deleted entities
    Example: 5

  - `data.pageCount` (integer)
    The total number of pages
    Example: 100

  - `data.pageIndex` (integer)
    The current page

  - `data.pageSize` (integer)
    The number of items per page
    Example: 1

  - `data.registries` (array, required)
    A list of Harness Artifact Registries

  - `data.registries.artifactsCount` (integer)

  - `data.registries.deletedAt` (string)
    Timestamp in milliseconds when the registry was soft-deleted

  - `data.registries.deletedBy` (object)
    Principal who performed the relevant action

  - `data.registries.deletedBy.email` (string, required)

  - `data.registries.deletedBy.name` (string, required)

  - `data.registries.description` (string)

  - `data.registries.downloadsCount` (integer)

  - `data.registries.identifier` (string, required)

  - `data.registries.isPublic` (boolean, required)

  - `data.registries.lastModified` (string)

  - `data.registries.packageType` (string, required)
    refers to package
    Enum: "DOCKER", "MAVEN", "PYTHON", "GENERIC", "HELM", "NUGET", "NPM", "RPM", "CARGO", "COMPOSER", "GO", "HUGGINGFACE", "CONDA", "DART", "SWIFT", "PUPPET", "RAW"

  - `data.registries.path` (string)

  - `data.registries.registrySize` (string)

  - `data.registries.type` (string, required)
    refers to type of registry i.e virtual or upstream
    Enum: "VIRTUAL", "UPSTREAM"

  - `data.registries.url` (string, required)

  - `data.registries.uuid` (string, required)

  - `status` (string, required)
    Request processing status indicator
    Enum: "SUCCESS", "FAILURE", "ERROR"

## Response 400 fields (application/json):

  - `code` (string, required)
    The HTTP error code
    Example: "404"

  - `details` (object)
    Additional context and details about the error.
May include field-specific validation errors or debugging information.
    Example: {"field":"registry_identifier","reason":"Registry does not exist in the specified project","value":"invalid-registry"}

  - `message` (string, required)
    Human-readable error message explaining what went wrong
    Example: "Registry not found"


