Skip to main content

Plugin store API

Backend API specification for the Qomicex Launcher plugin store (Plugin store)(plugins.qomicex.top), for plugin developers and launcher integrators.

Conventions

  • Base URL: https://plugins.qomicex.top/api/v1
  • Request/response: JSON (version upload uses multipart/form-data), fields named camelCase; times are ISO 8601
  • Error format: always { "error": { "code": "...", "message": "..." } }, with semantic HTTP status codes
  • CORS: GET/HEAD fully open; write operations only allow ALLOWED_ORIGINS (including the *.qomicex.top wildcard)
  • Pagination: page (starts at 1), pageSize (default 20, max 50)
  • Caching: plugin list 15s, plugin detail 300s
  • Rate limiting: login/register 10 requests/min/IP; download info 60 requests/min/IP (over the limit returns 429 rate_limited)

Authentication methods

🔒 below means authentication is required.

Registry metadata /registry

Error code reference

Authentication /auth

Register and log in

Account center 🔒

API key management 🔒

GitHub OAuth

Change email and developer verification

Device flow login (device flow sign-in)(launcher/CLI)

Simplified RFC 8628, no WebView authentication needed:

Plugins /plugins

Public reads

Common fields of the Plugin object: {id, slug, developerId, name, description, category, tags[], iconUrl?, status, latestVersion?, downloadsCount, ratingAverage?, ratingCount, developerName?, developerLevel?, orgId?/orgSlug?/orgName?, officialComment?, officialCommentAt?, createdAt, publishedAt?}.

Developer writes 🔒

Permission model: the original uploader = full control; organization owner/admin = full control; organization member = can upload new versions. Upload failure error codes: too_large / unsafe_package / invalid_package / version_mismatch / missing_dependency / version_exists / signature_invalid.

Reviews 🔒

Organizations /orgs

Role hierarchy: member < admin < owner.

Administrator /admin

Authentication: Authorization: Bearer <ADMIN_TOKEN> or a user JWT with role=admin.