Hex.pm Repositories API

Hex repository management.

OpenAPI Specification

hex-pm-repositories-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Hex.pm API Keys Repositories API
  description: REST API for the Hex.pm package registry, providing endpoints to search and retrieve package metadata, manage releases, handle authentication, manage API keys, and administer organizations and package ownership. The API supports JSON and Erlang media types.
  version: 1.0.0
  contact:
    name: Hex Support
    email: support@hex.pm
    url: https://hex.pm/docs
  termsOfService: https://hex.pm/policies/terms
  license:
    name: Hex.pm Terms of Service
    url: https://hex.pm/policies/terms
servers:
- url: https://hex.pm/api
  description: Hex.pm Production API
security:
- ApiKeyAuth: []
tags:
- name: Repositories
  description: Hex repository management.
paths:
  /repos:
    get:
      operationId: listRepositories
      summary: List all Repositories
      description: Returns a list of all available Hex repositories.
      tags:
      - Repositories
      security: []
      parameters:
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: List of repositories.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Repository'
  /repos/{name}:
    get:
      operationId: getRepository
      summary: Fetch a Repository
      description: Returns information about a specific repository.
      tags:
      - Repositories
      security: []
      parameters:
      - $ref: '#/components/parameters/org_name'
      responses:
        '200':
          description: Repository details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Repository'
        '404':
          description: Repository not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Repository:
      type: object
      properties:
        name:
          type: string
        public_key:
          type: string
          description: Repository's public key for signature verification.
        url:
          type: string
          format: uri
        inserted_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        status:
          type: integer
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: string
      required:
      - status
      - message
  parameters:
    org_name:
      name: name
      in: path
      required: true
      schema:
        type: string
      description: Organization name.
    page:
      name: page
      in: query
      description: Page number for paginated results. Starts at 1.
      schema:
        type: integer
        minimum: 1
        default: 1
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API token authentication. Pass the token directly: `Authorization: token`. For OAuth2 Bearer tokens use: `Authorization: Bearer token`.'
    BearerAuth:
      type: http
      scheme: bearer
      description: OAuth2 Bearer token obtained via Device Authorization Grant (RFC 8628).
    BasicAuth:
      type: http
      scheme: basic
      description: Deprecated. Basic authentication with username and password. Only allowed on specific endpoints for generating API tokens.
externalDocs:
  description: Hex.pm API Documentation
  url: https://hex.pm/docs/api