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