Harness Spaces API

The Spaces API from Harness — 8 operation(s) for spaces.

Operations 14

GET /har/api/v1/spaces/{space_ref}/artifact/stats Get artifact stats #
GET /har/api/v1/spaces/{space_ref}/artifacts List artifacts #
GET /har/api/v1/spaces/{space_ref}/details Get storage details for given space #
GET /har/api/v1/spaces/{space_ref}/labels Registrylist space labels #
POST /har/api/v1/spaces/{space_ref}/labels Registrydefine space label #
PUT /har/api/v1/spaces/{space_ref}/labels Registrysave space label #
DELETE /har/api/v1/spaces/{space_ref}/labels/{key} Registrydelete space label #
GET /har/api/v1/spaces/{space_ref}/labels/{key} Find space label #
PATCH /har/api/v1/spaces/{space_ref}/labels/{key} Registryupdate space label #
GET /har/api/v1/spaces/{space_ref}/labels/{key}/values Registrylist space label values #
POST /har/api/v1/spaces/{space_ref}/labels/{key}/values Registrydefine space label value #
DELETE /har/api/v1/spaces/{space_ref}/labels/{key}/values/{value} Registrydelete space label value #
PATCH /har/api/v1/spaces/{space_ref}/labels/{key}/values/{value} Registryupdate space label value #
GET /har/api/v1/spaces/{space_ref}/registries List registries #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harness-spaces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harness-spaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Spaces API
  version: '1.0'
  description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0.
  contact:
    name: API Support
    email: contact@harness.io
    url: https://harness.io/
  x-logo:
    url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook
    altText: Harness
  termsOfService: https://harness.io/terms-of-use/
servers:
- url: https://app.harness.io
  description: Harness host URL
- url: https://{vanity}
  description: Vanity URL
  variables:
    vanity:
      default: app.harness.io
security:
- x-api-key: []
tags:
- name: Spaces
paths:
  /har/api/v1/spaces/{space_ref}/artifact/stats:
    get:
      operationId: GetArtifactStatsForSpace
      parameters:
      - $ref: '#/components/parameters/spaceRefPathParam'
      - $ref: '#/components/parameters/fromDateParam'
      - $ref: '#/components/parameters/toDateParam'
      responses:
        '200':
          $ref: '#/components/responses/ArtifactStatsResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Get artifact stats
      tags:
      - Spaces
  /har/api/v1/spaces/{space_ref}/artifacts:
    get:
      description: Lists all the artifacts
      operationId: GetAllArtifacts
      parameters:
      - $ref: '#/components/parameters/spaceRefPathParam'
      - $ref: '#/components/parameters/RegistryIdentifierParam'
      - $ref: '#/components/parameters/RegistrypageNumber'
      - $ref: '#/components/parameters/RegistrypageSize'
      - $ref: '#/components/parameters/RegistrysortOrder'
      - $ref: '#/components/parameters/sortField'
      - $ref: '#/components/parameters/searchTerm'
      - $ref: '#/components/parameters/latestVersion'
      - $ref: '#/components/parameters/deployedArtifact'
      - $ref: '#/components/parameters/packageTypeParam'
      responses:
        '200':
          $ref: '#/components/responses/ListArtifactResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: List artifacts
      tags:
      - Spaces
  /har/api/v1/spaces/{space_ref}/details:
    get:
      operationId: GetStorageDetails
      parameters:
      - $ref: '#/components/parameters/spaceRefPathParam'
      responses:
        '200':
          $ref: '#/components/responses/StorageDetailsResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Get storage details for given space
      tags:
      - Spaces
  /har/api/v1/spaces/{space_ref}/labels:
    get:
      operationId: RegistrylistSpaceLabels
      parameters:
      - description: The page to return.
        in: query
        name: page
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: The maximum number of results to return.
        in: query
        name: limit
        schema:
          default: 30
          maximum: 100
          minimum: 1
          type: integer
      - description: The result should inherit entities from parent spaces.
        in: query
        name: inherited
        schema:
          default: false
          type: boolean
      - description: The substring which is used to filter the labels by their key.
        in: query
        name: query
        schema:
          type: string
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RegistryTypesLabel'
                type: array
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrylist space labels
      x-summary-source: derived
    post:
      operationId: RegistrydefineSpaceLabel
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                color:
                  $ref: '#/components/schemas/EnumLabelColor'
                description:
                  type: string
                key:
                  type: string
                type:
                  $ref: '#/components/schemas/EnumLabelType'
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryTypesLabel'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrydefine space label
      x-summary-source: derived
    put:
      operationId: RegistrysaveSpaceLabel
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                label:
                  $ref: '#/components/schemas/TypesSaveLabelInput'
                values:
                  items:
                    $ref: '#/components/schemas/TypesSaveLabelValueInput'
                  type: array
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryTypesLabelWithValues'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrysave space label
      x-summary-source: derived
  /har/api/v1/spaces/{space_ref}/labels/{key}:
    delete:
      operationId: RegistrydeleteSpaceLabel
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrydelete space label
      x-summary-source: derived
    get:
      operationId: findSpaceLabel
      parameters:
      - description: The result should include label values.
        in: query
        name: include_values
        schema:
          default: false
          type: boolean
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryTypesLabelWithValues'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Find space label
      x-summary-source: derived
    patch:
      operationId: RegistryupdateSpaceLabel
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                color:
                  $ref: '#/components/schemas/EnumLabelColor'
                description:
                  type: string
                key:
                  type: string
                type:
                  $ref: '#/components/schemas/EnumLabelType'
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryTypesLabel'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registryupdate space label
      x-summary-source: derived
  /har/api/v1/spaces/{space_ref}/labels/{key}/values:
    get:
      operationId: RegistrylistSpaceLabelValues
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TypesLabelValue'
                type: array
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrylist space label values
      x-summary-source: derived
    post:
      operationId: RegistrydefineSpaceLabelValue
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                color:
                  $ref: '#/components/schemas/EnumLabelColor'
                value:
                  type: string
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypesLabelValue'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrydefine space label value
      x-summary-source: derived
  /har/api/v1/spaces/{space_ref}/labels/{key}/values/{value}:
    delete:
      operationId: RegistrydeleteSpaceLabelValue
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      - in: path
        name: value
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registrydelete space label value
      x-summary-source: derived
    patch:
      operationId: RegistryupdateSpaceLabelValue
      parameters:
      - in: path
        name: space_ref
        required: true
        schema:
          type: string
      - in: path
        name: key
        required: true
        schema:
          type: string
      - in: path
        name: value
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                color:
                  $ref: '#/components/schemas/EnumLabelColor'
                value:
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypesLabelValue'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
          description: Internal Server Error
      tags:
      - Spaces
      summary: Registryupdate space label value
      x-summary-source: derived
  /har/api/v1/spaces/{space_ref}/registries:
    get:
      description: Lists all the registries.
      operationId: GetAllRegistries
      parameters:
      - $ref: '#/components/parameters/spaceRefPathParam'
      - $ref: '#/components/parameters/packageTypeParam'
      - $ref: '#/components/parameters/RegistryTypeParam'
      - $ref: '#/components/parameters/RegistrypageNumber'
      - $ref: '#/components/parameters/RegistrypageSize'
      - $ref: '#/components/parameters/RegistrysortOrder'
      - $ref: '#/components/parameters/sortField'
      - $ref: '#/components/parameters/searchTerm'
      - $ref: '#/components/parameters/recursiveParam'
      - $ref: '#/components/parameters/scopeParam'
      responses:
        '200':
          $ref: '#/components/responses/ListRegistryResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: List registries
      tags:
      - Spaces
components:
  responses:
    RegistryUnauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: Access denied due to insufficient permissions
    RegistryUnauthenticated:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: Authentication failed or missing credentials
    RegistryNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: The requested resource was not found
    RegistryInternalServerError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: An unexpected server error occurred
    RegistryBadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: The request was invalid or malformed
    ListRegistryResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ListRegistry'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: response for list registry
    ListArtifactResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ListArtifact'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: response for list artifact
    ArtifactStatsResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ArtifactStats'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: response to get artifact stats response
    StorageDetailsResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/StorageDetails'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: response for storage details
  schemas:
    ArtifactEntityMetadata:
      additionalProperties: true
      description: Artifact Entity Metadata
      type: object
    ArtifactStats:
      description: Harness Artifact Stats
      properties:
        downloadCount:
          format: int64
          type: integer
        downloadSize:
          format: int64
          type: integer
        totalStorageSize:
          format: int64
          type: integer
        uploadSize:
          format: int64
          type: integer
      type: object
    RegistryArtifactType:
      description: refers to artifact type
      enum:
      - model
      - dataset
      - module
      - provider
      type: string
    TypesLabelValue:
      properties:
        color:
          $ref: '#/components/schemas/EnumLabelColor'
        created:
          type: integer
        created_by:
          type: integer
        id:
          type: integer
        label_id:
          type: integer
        updated:
          type: integer
        updated_by:
          type: integer
        value:
          type: string
      type: object
    DeploymentMetadata:
      properties:
        nonProdEnvCount:
          type: integer
        prodEnvCount:
          type: integer
      required:
      - prodEnvCount
      - nonProdEnvCount
      type: object
    PackageType:
      description: refers to package
      enum:
      - DOCKER
      - MAVEN
      - PYTHON
      - GENERIC
      - HELM
      - NUGET
      - NPM
      - RPM
      - CARGO
      - COMPOSER
      - GO
      - HUGGINGFACE
      - CONDA
      - DART
      - SWIFT
      - PUPPET
      - RUBY
      - CRAN
      - RAW
      - HELM_HTTP
      - DEBIAN
      - CONAN
      - TERRAFORM
      type: string
    RegistryMetadata:
      description: Harness Artifact Registry Metadata
      properties:
        artifactsCount:
          format: int64
          type: integer
        deletedAt:
          description: Timestamp in milliseconds when the registry was soft-deleted
          type: string
        deletedBy:
          $ref: '#/components/schemas/PerformedBy'
        description:
          type: string
        downloadsCount:
          format: int64
          type: integer
        identifier:
          type: string
        isPublic:
          type: boolean
        lastModified:
          type: string
        packageType:
          $ref: '#/components/schemas/PackageType'
        path:
          type: string
        registrySize:
          type: string
        type:
          $ref: '#/components/schemas/RegistryType'
        url:
          type: string
        uuid:
          type: string
      required:
      - type
      - packageType
      - identifier
      - url
      - isPublic
      - uuid
      type: object
    TypesSaveLabelInput:
      properties:
        color:
          $ref: '#/components/schemas/EnumLabelColor'
        description:
          type: string
        id:
          type: integer
        key:
          type: string
        type:
          $ref: '#/components/schemas/EnumLabelType'
      type: object
    RegistryStatus:
      description: Request processing status indicator
      enum:
      - SUCCESS
      - FAILURE
      - ERROR
      type: string
    RegistryError:
      description: Standard error response with code, message and optional details
      properties:
        code:
          description: The HTTP error code
          example: '404'
          type: string
        details:
          description: 'Additional context and details about the error.

            May include field-specific validation errors or debugging information.

            '
          example:
            field: registry_identifier
            reason: Registry does not exist in the specified project
            value: invalid-registry
          type: object
        message:
          description: Human-readable error message explaining what went wrong
          example: Registry not found
          type: string
      required:
      - code
      - message
      type: object
    EnumLabelType:
      enum:
      - dynamic
      - static
      type: string
    RegistryType:
      description: refers to type of registry i.e virtual or upstream
      discriminator:
        propertyName: type
      enum:
      - VIRTUAL
      - UPSTREAM
      type: string
    ListRegistry:
      description: A list of Harness Artifact Registries
      properties:
        itemCount:
          description: The total number of items
          example: 1
          format: int64
          type: integer
        meta:
          $ref: '#/components/schemas/Meta'
        pageCount:
          description: The total number of pages
          example: 100
          format: int64
          type: integer
        pageIndex:
          description: The current page
          example: 0
          format: int64
          type: integer
        pageSize:
          description: The number of items per page
          example: 1
          type: integer
        registries:
          description: A list of Harness Artifact Registries
          items:
            $ref: '#/components/schemas/RegistryMetadata'
          type: array
      required:
      - registries
      - meta
      type: object
    ListArtifact:
      description: A list of Artifacts
      properties:
        artifacts:
          description: A list of Artifact
          items:
            $ref: '#/components/schemas/ArtifactMetadata'
          type: array
        itemCount:
          description: The total number of items
          example: 1
          format: int64
          type: integer
        pageCount:
          description: The total number of pages
          example: 100
          format: int64
          type: integer
        pageIndex:
          description: The current page
          example: 0
          format: int64
          type: integer
        pageSize:
          description: The number of items per page
          example: 1
          type: integer
      required:
      - artifacts
      type: object
    EnumLabelColor:
      enum:
      - blue
      - brown
      - cyan
      - green
      - indigo
      - lime
      - mint
      - orange
      - pink
      - purple
      - red
      - violet
      - yellow
      type: string
    RegistryTypesLabelWithValues:
      properties:
        label:
          $ref: '#/components/schemas/RegistryTypesLabel'
        values:
          items:
            $ref: '#/components/schemas/TypesLabelValue'
          type: array
      type: object
    ArtifactMetadata:
      description: Artifact Metadata
      properties:
        artifactKey:
          additionalProperties:
            type: string
          type: object
        artifactType:
          $ref: '#/components/schemas/RegistryArtifactType'
        deletedAt:
          description: Timestamp in milliseconds when the artifact was soft deleted. Null if not deleted.
          type: string
        deploymentMetadata:
          $ref: '#/components/schemas/DeploymentMetadata'
        digestCount:
          format: int64
          type: integer
        downloadsCount:
          format: int64
          type: integer
        fileCount:
          type: integer
        firewallMode:
          enum:
          - ENABLED
          - QUARANTINE
          - ALLOW
          type: string
        isQuarantined:
          type: boolean
        labels:
          items:
            type: string
          type: array
        lastModified:
          type: string
        lastScannedAt:
          type: string
        latestVersion:
          type: string
        metadata:
          $ref: '#/components/schemas/ArtifactEntityMetadata'
        name:
          type: string
        packageType:
          $ref: '#/components/schemas/PackageType'
        pullCommand:
          type: string
        purl:
          description: Package URL (PURL) identifying the package version.
          type: string
        quarantineReason:
          ty

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/openapi/harness-spaces-api-openapi.yml