Skip to main content

API Documentation

Base URL

Authentication

Authorization: Bearer <JWT_TOKEN>

Key Endpoints

Public: GET /app-downloads, GET /csrf-token, GET /delete-data (GDPR page), POST /register, POST /register/send-otp, POST /register/verify-otp, POST /login, POST /login/request-otp, POST /login/verify-otp, POST /payment/webhook

  • Sign-up: Email OTP only — POST /register/send-otp (body: { "email" }), POST /register/verify-otp (body: { "email", "code" } → returns signup_token). Then POST /register with signup_token. See Sign-up Email OTP.
  • Login: Password (POST /login) or email OTPPOST /login/request-otp (body: { "login": "email@example.com" }), POST /login/verify-otp (body: { "login", "code" } → returns JWT). OTP login is email only (no SMS).

Auth required: POST /upload, POST /create-payment-order, GET /payment-order/:orderId/status, GET /wallet/balance, POST /wallet/topup, GET /my-files, GET /my-orders, GET /shops, POST /shop/status, POST /shop/heartbeat, POST /withdraw/:fileId, DELETE /profile; shopkeeper: GET /queue, GET /queue/:orderGroupId/files, GET /queue/download/:fileId, POST /queue/:fileId/confirm, POST /queue/:fileId/cancel (body: { "reason": "..." }), POST /queue/:fileId/print-started, POST /queue/:fileId/print-failed, POST /file/:code/confirm, POST /file/:code/print-started, POST /file/:code/print-failed

Admin: GET /admin/dashboard/stats, GET /admin/users, GET /admin/orders, GET /admin/payouts, PUT /admin/payouts/update, PUT /admin/payouts/bulk-update, GET /admin/payouts/export, PUT /admin/app-downloads

See API Documentation for full details.