This document describes the server API endpoints mounted by the Nova backend.
Default local development URL:
http://localhost:3013The server mounts routes under the following prefixes:
/req- general controller API/mkt- MikroTik router / network operations/mpesa- payment callbacks and transactions/mail- email sending/twofa- two-factor authentication/sms- SMS sending/support- support tickets and live chat
Most endpoints expect JSON request bodies.
POST /req/packages
Content-Type: application/json
{
"key": "value"
}POST /req/authAdminPOST /req/authManagerPOST /req/loginAdminPOST /req/loginManagerPOST /req/validateTokenPOST /req/logoutAdminPOST /req/createAccountPOST /req/updatePasswordPOST /req/resetPasswordPOST /req/updateMyPasswordPOST /req/updateProfilePOST /req/verifyCodePOST /req/fetchPlatformPOST /req/fetchPlatformSettingsPOST /req/fetchPlatformNotificationsPOST /req/notifications/dismissPOST /req/updatePlatformSettingsPOST /req/updateAccountPlanPOST /req/updateAdminPOST /req/deleteAdmin
POST /req/addPlatformPOST /req/updatePlatformPOST /req/deletePlatformPOST /req/fetchPlatformsPOST /req/fetchAdminsPOST /req/fetchModeratorsPOST /req/addModeratorPOST /req/updateModeratorPOST /req/deleteModeratorPOST /req/fetchSettingsPOST /req/addSettingsPOST /req/updateSettingsPOST /req/fetchPlatformSettingsPOST /req/saveEmailTemplatesPOST /req/fetchEmailTemplatesPOST /req/saveSMSConfigPOST /req/saveBrandingSupportPOST /req/uploadBrandingLogoPOST /req/saveTermsOfServicePOST /req/fetchTermsOfServicePOST /req/publicTermsPOST /req/fetchSidebarArchivePOST /req/updateSidebarArchivePOST /req/fetchConfigsPOST /req/uploadConfigPOST /req/deleteConfigPOST /req/updateConfig
POST /req/fetchPaymentsPOST /req/fetchRecentPaymentsPOST /req/exportPaymentsCsvPOST /req/exportUsersCsvPOST /req/billPaymentsPOST /req/cardBillingPOST /req/cardBilling/setupPOST /req/cardBilling/cancelPOST /req/updatePaymentPOST /req/deletePaymentPOST /req/fundsPOST /req/fetchFundsPOST /req/managerBillPaymentsPOST /req/managerB2BPaymentsPOST /req/managerDeleteBillPaymentPOST /req/managerDeleteB2BPaymentPOST /req/managerUpdateBillPaymentPOST /req/managerUpdateB2BPaymentPOST /req/rechargesmsPOST /req/sendBulkSMSPOST /req/scheduleBulkSMSPOST /req/sendInternalSMSPOST /req/sendInternalEmailPOST /req/scheduleInternalSMSPOST /req/scheduleInternalEmail
POST /req/packagesPOST /req/fetchPackagesPOST /req/addPackagePOST /req/updatePackagePOST /req/deletePackagePOST /req/fetchCodesPOST /req/addCodePOST /req/deleteCodePOST /req/updateCodePOST /req/getCodesPOST /req/verifyCodePOST /req/fetchStationsPOST /req/fetchStationSummaryPOST /req/updateStationPOST /req/deleteStationPOST /req/updateNamePOST /req/deleteUserPOST /req/updatePPPoEPOST /req/pppoePOST /req/pppoeInfoPOST /req/fetchPPPoEPhoneNumbersPOST /req/fetchHotspotPhoneNumbersPOST /req/fetchBackUpPOST /req/filterRevenuePOST /req/statsPOST /req/fetchSessionsPOST /req/deleteSessionPOST /req/verifyToken
POST /req/templatesPOST /req/addTemplatePOST /req/editTemplatePOST /req/deleteTemplatePOST /req/fetchAllTemplatesPOST /req/saveTemplatesPOST /req/publicBlogsPOST /req/publicBlogPOST /req/fetchPublicBlogsPOST /req/fetchPublicBlogBySlugPOST /req/homeFibreRequestPOST /req/homeFibreCallbacksPOST /req/homeFibreCallback/resolvePOST /req/homeFibreCallback/deleteGET /req/public/blogsGET /req/public/blog/:slug
POST /req/serverInfoPOST /req/updateServerInfoPOST /req/restartServerServicePOST /req/server/provisionPOST /req/server/rebootPOST /req/server/deletePOST /req/server/resize/previewPOST /req/server/resizePOST /req/server/migrationsPOST /req/server/migratePOST /req/resolvesPOST /req/fetchPlatformMigrationsPOST /req/migratePlatformHostingPOST /req/fetchBackUpPOST /req/radius-credentialsPOST /req/migrateSystemBasisPOST /req/managerAuthHealthPOST /req/stations/linkPOST /req/stations/unlink
GET /req/dashstatsGET /req/stationsGET /req/backups/remote-hosts/:host/:filenameGET /req/files/:filenameGET /req/backups/loginGET /req/hotspot/login-templateGET /req/hotspot/login-template/:platformID
POST /mkt/poolsPOST /mkt/stationsPOST /mkt/adminStationsPOST /mkt/hotspot-profilesPOST /mkt/updatePoolPOST /mkt/deletePoolPOST /mkt/interfacesPOST /mkt/ppp-profilesPOST /mkt/ppp-serversPOST /mkt/ppp-profile/createPOST /mkt/pppoe-server/createPOST /mkt/pppoe-plan/createPOST /mkt/pppoe-plan/updatePOST /mkt/pppoe-plan/deletePOST /mkt/pppoe-plansPOST /mkt/pppoe-user/createPOST /mkt/pppoe-user/updatePOST /mkt/pppoe-user/importPOST /mkt/station-summaryPOST /mkt/updatePPPoEPOST /mkt/togglePPPoEPOST /mkt/deletePppoEPOST /mkt/connectionsPOST /mkt/debug-connectionsPOST /mkt/updateUserPOST /mkt/autoConfigurePPPoEPOST /mkt/isPPPoEAutoConfiguredPOST /mkt/autoConfigureHotspotPOST /mkt/isHotspotAutoConfiguredPOST /mkt/repair-routerPOST /mkt/auto-router/startGET /mkt/auto-router/scriptGET /mkt/auto-router/script/:tokenGET /mkt/auto-router/logGET /mkt/auto-router/completeGET /mkt/hotspot/expirePOST /mkt/ppp-infoPOST /mkt/importPOST /mkt/seed-auto-backup-scriptGET /mkt/seed/auto-backup-script.rscGET /mkt/seed/auto-backup-script/:platformID/:host/:token.rscPOST /mkt/station-seed-scriptsPOST /mkt/router-backup/notifyGET /mkt/router-backup/notifyPUT /mkt/router-backup/uploadPOST /mkt/router-backup/uploadPOST /mkt/rebootGET /mkt/seed/cleanup-expired-hotspot.rscGET /mkt/seed/cleanup-3gb-no-expiry-timeout/:platformID/:token.rsc
POST /mpesa/stkpushPOST /mpesa/withdrawPOST /mpesa/confirmPOST /mpesa/payPPPoEPOST /mpesa/paybillPOST /mpesa/paysmsPOST /mpesa/verify-transactionPOST /mpesa/reverse-transactionPOST /mpesa/b2b-transferPOST /mpesa/timeoutPOST /mpesa/pull-callbackPOST /mpesa/resultPOST /mpesa/confirmationPOST /mpesa/validationPOST /mpesa/manager/balance/request
The server also mounts optional callback paths from environment variables:
MPESA_CALLBACK_PATHINTASEND_WITHDRAWAL_CALLBACK_PATHINTASEND_DEPOSIT_CALLBACK_PATHPAYSTACK_DEPOSIT_CALLBACK_PATH
These are mounted under /mpesa when defined.
POST /mail/send
POST /twofa/fetchTwoFaPOST /twofa/verifyPOST /twofa/generateQRCodePOST /twofa/enablePOST /twofa/disableGET /twofa/secret
POST /sms/send
POST /support/ticketsGET /support/ticketsGET /support/tickets/:idPOST /support/tickets/:id/messagesPATCH /support/tickets/:id/status
POST /support/liveGET /support/liveGET /support/live/:idPOST /support/live/:id/messagesPATCH /support/live/:id/statusDELETE /support/live/:id
POST /support/public/liveGET /support/public/liveGET /support/public/live/:idPOST /support/public/live/:id/messages
- The server serves static content from
server/public. - Non-matching routes return a custom 404 page.
README.mdis intended as a high-level reference; consult the source route files for exact request bodies and response shapes.