Surfaces
The current prototype is static JSON under /api/v1.
GET /api/v1/catalog.json
GET /api/v1/readiness.json
GET /api/v1/runtime/latest.json
GET /api/v1/framework/latest.json
GET /api/v1/manager/latest.json
GET /api/v1/mods/index.json
GET /api/v1/mods/{modId}/index.json
GET /api/v1/mods/{modId}/versions.json
GET /api/v1/publishing/workflow.json
GET /api/v1/publishing/backend-contract.json
GET /api/v1/publishing/backend-contract.schema.json
GET /api/v1/publishing/starminer-publishing-validation.v1.json
GET /api/v1/publishing/starminer-publishing-validation.schema.json
GET /api/v1/publishing/upload-submission.schema.json
GET /api/v1/publishing/mod-release-submission.schema.json
Future authenticated routes, including POST /api/v1/uploads, stay disabled
until the backend stack is deployed and SMMODS_LIVE_UPLOADS=1. Until then,
upload attempts return uploads_disabled before package bytes are accepted.
Account creation also requires verification email delivery and returns
email_delivery_unavailable when that provider is missing.
The workflow also publishes backendRequirements for auth, upload storage,
validation workers, moderation, catalog publishing, audit logs, and post-publish smoke.
readiness.json publishes the production gate status so tooling can tell the
difference between ready static surfaces and backend-blocked account/upload features.
backend-contract.json defines the account/session, upload, moderation,
catalog publishing, validation worker, and audit API surface that must be implemented
before uploads become live. Its schema is published beside it for backend implementers
and CI validation.
upload-submission.schema.json defines the status response for a submitted
ZIP, including validation checks, review state, hashes, and publication links.
starminer-publishing-validation.v1.json mirrors the framework validation
contract used by staged upload checks, with a public schema beside it.
Approved manual releases use the published sidecar schema so uploader validation, moderation review, and the static importer all agree on the same required metadata.