GoHarbor Search API

The search API from GoHarbor — 1 operation(s) for search.

Operations 1

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/goharbor-search-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

goharbor-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harbor Search API
  description: These APIs provide services for manipulating Harbor project.
  version: '2.0'
servers:
- url: http://localhost/api/v2.0
- url: https://localhost/api/v2.0
security:
- basic: []
- {}
tags:
- name: Search
paths:
  /search:
    get:
      summary: Search for projects and repositories
      description: The Search endpoint returns information about the projects and repositories offered at public status or related to the current logged in user. The response includes the project and repository list in a proper display order.
      parameters:
      - $ref: '#/components/parameters/requestId'
      - name: q
        in: query
        description: Search parameter for project and repository name.
        required: true
        schema:
          type: string
      tags:
      - Search
      operationId: search
      responses:
        '200':
          description: An array of search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Search'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    Errors:
      description: The error array that describe the errors got during the handling of request
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    CVEAllowlistItem:
      type: object
      description: The item in CVE allowlist
      properties:
        cve_id:
          type: string
          description: The ID of the CVE, such as "CVE-2019-10164"
    SearchRepository:
      type: object
      properties:
        project_id:
          type: integer
          description: The ID of the project that the repository belongs to
        project_name:
          type: string
          description: The name of the project that the repository belongs to
        project_public:
          type: boolean
          description: The flag to indicate the publicity of the project that the repository belongs to (1 is public, 0 is not)
        repository_name:
          type: string
          description: The name of the repository
        pull_count:
          type: integer
          description: The count how many times the repository is pulled
        artifact_count:
          type: integer
          description: The count of artifacts in the repository
    Project:
      type: object
      properties:
        project_id:
          type: integer
          format: int32
          description: Project ID
        owner_id:
          type: integer
          format: int32
          description: The owner ID of the project always means the creator of the project.
        name:
          type: string
          description: The name of the project.
        registry_id:
          type: integer
          format: int64
          description: The ID of referenced registry when the project is a proxy cache project.
        creation_time:
          type: string
          format: date-time
          description: The creation time of the project.
        update_time:
          type: string
          format: date-time
          description: The update time of the project.
        deleted:
          type: boolean
          description: A deletion mark of the project.
        owner_name:
          type: string
          description: The owner name of the project.
        togglable:
          type: boolean
          description: Correspond to the UI about whether the project's publicity is  updatable (for UI)
        current_user_role_id:
          type: integer
          description: The role ID with highest permission of the current user who triggered the API (for UI).  This attribute is deprecated and will be removed in future versions.
        current_user_role_ids:
          type: array
          items:
            type: integer
            format: int32
          description: The list of role ID of the current user who triggered the API (for UI)
        repo_count:
          type: integer
          description: The number of the repositories under this project.
          x-omitempty: false
        metadata:
          description: The metadata of the project.
          $ref: '#/components/schemas/ProjectMetadata'
        cve_allowlist:
          description: The CVE allowlist of this project.
          $ref: '#/components/schemas/CVEAllowlist'
    Search:
      type: object
      properties:
        project:
          description: Search results of the projects that matched the filter keywords.
          type: array
          items:
            $ref: '#/components/schemas/Project'
        repository:
          description: Search results of the repositories that matched the filter keywords.
          type: array
          items:
            $ref: '#/components/schemas/SearchRepository'
    Error:
      description: a model for all the error response coming from harbor
      type: object
      properties:
        code:
          type: string
          description: The error code
        message:
          type: string
          description: The error message
      example:
        code: NOT_FOUND
        message: artifact library/hello-world:latest not found
    CVEAllowlist:
      type: object
      description: The CVE Allowlist for system or project
      properties:
        id:
          type: integer
          description: ID of the allowlist
        project_id:
          type: integer
          description: ID of the project which the allowlist belongs to.  For system level allowlist this attribute is zero.
        expires_at:
          type:
          - integer
          - 'null'
          description: the time for expiration of the allowlist, in the form of seconds since epoch.  This is an optional attribute, if it's not set the CVE allowlist does not expire.
        items:
          type: array
          items:
            $ref: '#/components/schemas/CVEAllowlistItem'
        creation_time:
          type: string
          format: date-time
          description: The creation time of the allowlist.
        update_time:
          type: string
          format: date-time
          description: The update time of the allowlist.
    ProjectMetadata:
      type: object
      properties:
        public:
          type: string
          description: The public status of the project. The valid values are "true", "false".
        enable_content_trust:
          type:
          - string
          - 'null'
          description: Whether content trust is enabled or not. If it is enabled, user can't pull unsigned images from this project. The valid values are "true", "false".
        enable_content_trust_cosign:
          type:
          - string
          - 'null'
          description: Whether cosign content trust is enabled or not. If it is enabled, user can't pull images without cosign signature from this project. The valid values are "true", "false".
        prevent_vul:
          type:
          - string
          - 'null'
          description: Whether prevent the vulnerable images from running. The valid values are "true", "false".
        severity:
          type:
          - string
          - 'null'
          description: If the vulnerability is high than severity defined here, the images can't be pulled. The valid values are "none", "low", "medium", "high", "critical".
        auto_scan:
          type:
          - string
          - 'null'
          description: Whether scan images automatically when pushing. The valid values are "true", "false".
        auto_sbom_generation:
          type:
          - string
          - 'null'
          description: Whether generating SBOM automatically when pushing a subject artifact. The valid values are "true", "false".
        reuse_sys_cve_allowlist:
          type:
          - string
          - 'null'
          description: 'Whether this project reuse the system level CVE allowlist as the allowlist of its own. The valid values are "true", "false".

            If it is set to "true" the actual allowlist associate with this project, if any, will be ignored.'
        retention_id:
          type:
          - string
          - 'null'
          description: The ID of the tag retention policy for the project
        proxy_speed_kb:
          type:
          - string
          - 'null'
          description: The bandwidth limit of proxy cache, in Kbps (kilobits per second). It limits the communication between Harbor and the upstream registry, not the client and the Harbor.
        max_upstream_conn:
          type:
          - string
          - 'null'
          description: The max connection per artifact to the upstream registry in current proxy cache project, if it is -1, no limit to upstream registry connections
        proxy_cache_local_on_not_found:
          type:
          - string
          - 'null'
          description: Whether to serve images from local cache when they are removed from the upstream registry. The valid values are "true", "false".
        proxy_referrer_api:
          type:
          - string
          - 'null'
          description: Whether the proxy cache project should proxy OCI 1.1 referrer API requests to the upstream registry. The valid values are "true", "false".
        proxy_cache_filter_pattern:
          type:
          - string
          - 'null'
          description: Repository filter pattern for proxy cache project. Only repositories matching the pattern will be proxied. Empty means allow all. Only has value when the current project is a proxy cache project.
        proxy_cache_filter_kind:
          type:
          - string
          - 'null'
          description: 'Matching mode for proxy_cache_filter_pattern: "doublestar" (default, glob-style with ** support) or "regex". Only has value when the current project is a proxy cache project.'
  parameters:
    requestId:
      name: X-Request-Id
      description: An unique ID for the request
      in: header
      required: false
      schema:
        type: string
        minLength: 1
  responses:
    '500':
      description: Internal server error. Inspect the `errors` array in the response body for details.
      headers:
        X-Request-Id:
          description: The ID of the corresponding request for the response
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    basic:
      type: http
      scheme: basic