← Addonium

15. Error Handling

StatusMeaning
200Success (including "confirmed no match," e.g. {"item": null})
400Malformed request (host bug or bad query)
401Missing/invalid auth credential (Locked Addon)
403Valid credential, but access denied - e.g. clients.enforced rejection, or a used-up/expired license
404Resource/id not found
410Addon permanently discontinued (hosts should uninstall/hide it)
429Rate limited - Retry-After header recommended
5xxServer error - host should fail over to fallback sources

Compiled modules should throw a typed error (e.g. { code: "UNLOCK_FAILED" | "NOT_FOUND" | "RATE_LIMITED", message }) rather than a bare string, so hosts can branch the same way they would on an HTTP status.