Artifact Hub Repositories API

Repository management

OpenAPI Specification

artifact-hub-repositories-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Artifact Hub API Keys Repositories API
  version: '1.0'
  description: 'Artifact Hub is a CNCF web-based application that enables finding,

    installing, and publishing cloud-native packages including Helm charts,

    OPA policies, Falco rules, OLM operators, Tekton tasks and many more.

    The HTTP API powers artifacthub.io and can be used against any self-hosted

    instance.

    '
  contact:
    name: Artifact Hub
    url: https://artifacthub.io
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://artifacthub.io
  description: Public Artifact Hub instance
tags:
- name: Repositories
  description: Repository management
paths:
  /api/v1/repositories/search:
    get:
      tags:
      - Repositories
      summary: Search repositories
      parameters:
      - name: name
        in: query
        schema:
          type: string
      - name: url
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: array
          items:
            type: integer
      - name: org
        in: query
        schema:
          type: array
          items:
            type: string
      - name: user
        in: query
        schema:
          type: array
          items:
            type: string
      - name: include_credentials
        in: query
        schema:
          type: boolean
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: OK
  /api/v1/repositories/user:
    post:
      tags:
      - Repositories
      summary: Add a repository for the authenticated user
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '201':
          description: Created
  /api/v1/repositories/user/{repoName}:
    put:
      tags:
      - Repositories
      summary: Update a user repository
      parameters:
      - name: repoName
        in: path
        required: true
        schema:
          type: string
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '204':
          description: No Content
    delete:
      tags:
      - Repositories
      summary: Delete a user repository
      parameters:
      - name: repoName
        in: path
        required: true
        schema:
          type: string
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '204':
          description: No Content
  /api/v1/repositories/org/{orgName}:
    post:
      tags:
      - Repositories
      summary: Add a repository owned by the given organization
      parameters:
      - name: orgName
        in: path
        required: true
        schema:
          type: string
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '201':
          description: Created
  /api/v1/repositories/org/{orgName}/{repoName}:
    put:
      tags:
      - Repositories
      summary: Update an organization repository
      parameters:
      - name: orgName
        in: path
        required: true
        schema:
          type: string
      - name: repoName
        in: path
        required: true
        schema:
          type: string
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '204':
          description: No Content
    delete:
      tags:
      - Repositories
      summary: Delete an organization repository
      parameters:
      - name: orgName
        in: path
        required: true
        schema:
          type: string
      - name: repoName
        in: path
        required: true
        schema:
          type: string
      security:
      - cookieAuth: []
      - apiKey: []
      responses:
        '204':
          description: No Content
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY-ID
      description: 'API key authentication. Clients send the API key ID in the

        `X-API-KEY-ID` header and the API key secret in the

        `X-API-KEY-SECRET` header.

        '
    cookieAuth:
      type: apiKey
      in: cookie
      name: session
      description: Session cookie obtained from /api/v1/users/login