Skip to content

Eneza API Routes ​

Complete route map for the Eneza API. Routes are organized by domain and require appropriate authentication.

Route Files Overview ​

The API has 39 route files in /src/routes/:

routes/
├── admin/                    # Admin-specific routes (18 files)
│   ├── index.ts             # Admin route aggregator
│   ├── authRoutes.ts        # Admin authentication
│   ├── userRoutes.ts        # User management
│   ├── adRoutes.ts          # Ad moderation
│   ├── advertiserEmailRoutes.ts
│   ├── analyticsRoutes.ts
│   ├── emailTemplateRoutes.ts
│   ├── financialRoutes.ts
│   ├── geoVerificationRoutes.ts
│   ├── notificationRoutes.ts
│   ├── permissionRoutes.ts
│   ├── screenshotRoutes.ts
│   ├── settingsRoutes.ts
│   ├── subscriptionRoutes.ts
│   ├── supportRoutes.ts
│   ├── systemRoutes.ts
│   ├── userActivityRoutes.ts
│   └── videoProcessingRoutes.ts
├── authRoutes.ts            # User authentication
├── userRoutes.ts            # User profile
├── adsRoutes.ts             # Ad discovery
├── advertiserRoutes.ts      # Advertiser profile
├── categoryRoutes.ts        # Categories
├── screenshotRoutes.ts      # Screenshot submission
├── subscriptionRoutes.ts    # Subscriptions
├── transactionRoutes.ts     # User transactions
└── ... (20+ more)

Authentication Routes ​

User Auth (/auth) ​

MethodPathAuthDescription
POST/auth/request-otpNoneRequest SMS OTP
POST/auth/verify-otpNoneVerify OTP and login
POST/auth/logoutJWTLogout user
POST/auth/refreshJWTRefresh token

Advertiser Auth (/advertisers) ​

MethodPathAuthDescription
POST/advertisers/signupNoneCreate advertiser account
POST/advertisers/loginNoneAdvertiser login
POST/advertisers/verify-emailNoneVerify email
POST/advertisers/forgot-passwordNoneRequest password reset
POST/advertisers/reset-passwordNoneReset password

User Routes ​

Profile (/users) ​

MethodPathAuthDescription
GET/users/profileJWTGet user profile
PUT/users/profileJWTUpdate profile
GET/users/balanceJWTGet earnings balance
GET/users/statsJWTGet user statistics
GET/users/referral-codeJWTGet referral code
GET/users/achievementsJWTGet achievements
GET/users/tierJWTGet current tier

Ads (/ads) ​

MethodPathAuthDescription
GET/adsJWTList available ads
GET/ads/:idJWTGet ad details
GET/ads/:id/statsJWTGet ad statistics
GET/ads/trendingNoneGet trending ads
GET/ads/categories/:categoryIdJWTGet ads by category

Subscriptions (/subscriptions) ​

MethodPathAuthDescription
POST/subscriptionsJWTSubscribe to ad
GET/subscriptionsJWTList user subscriptions
GET/subscriptions/:idJWTGet subscription details
GET/subscriptions/:id/videoJWTGet personalized video
DELETE/subscriptions/:idJWTCancel subscription

Screenshots (/screenshots) ​

MethodPathAuthDescription
POST/screenshotsJWTSubmit screenshot
GET/screenshotsJWTList user screenshots
GET/screenshots/:idJWTGet screenshot details
GET/screenshots/:id/statusJWTGet verification status

Transactions (/transactions) ​

MethodPathAuthDescription
GET/transactionsJWTList transactions
GET/transactions/:codeJWTGet transaction by code
POST/transactions/withdrawJWTRequest withdrawal
GET/transactions/pending-amountJWTGet pending amount

Support (/support-tickets) ​

MethodPathAuthDescription
POST/support-ticketsJWTCreate ticket
GET/support-ticketsJWTList tickets
GET/support-tickets/:idJWTGet ticket details
POST/support-tickets/:id/messagesJWTAdd message
POST/support-tickets/:id/closeJWTClose ticket

Advertiser Routes ​

Profile (/advertisers) ​

MethodPathAuthDescription
GET/advertisers/profileJWTGet advertiser profile
PUT/advertisers/profileJWTUpdate profile
GET/advertisers/balanceJWTGet USD balance
GET/advertisers/campaignsJWTList campaigns
POST/advertisers/campaignsJWTCreate campaign
GET/advertisers/campaigns/:idJWTGet campaign details
GET/advertisers/campaigns/:id/statsJWTGet campaign stats

Campaign Payments (/api/campaign-payments) ​

MethodPathAuthDescription
POST/api/campaign-payments/create-checkoutJWTCreate Stripe session
POST/api/campaign-payments/webhookStripe SigStripe webhook
GET/api/campaign-payments/:idJWTGet payment status

Stripe Billing (/api/stripe-billing) ​

MethodPathAuthDescription
GET/api/stripe-billing/plansJWTGet available plans
POST/api/stripe-billing/checkoutJWTCreate checkout session
POST/api/stripe-billing/webhookStripe SigStripe webhook

Deposits (/api/deposits) ​

MethodPathAuthDescription
POST/api/deposits/create-checkoutJWTCreate deposit session
POST/api/deposits/webhookStripe SigStripe webhook
GET/api/depositsJWTList deposits

Public Routes ​

Categories (/categories) ​

MethodPathAuthDescription
GET/categoriesNoneList categories
GET/categories/:idNoneGet category

Countries (/countries) ​

MethodPathAuthDescription
GET/countriesNoneList countries
GET/countries/:codeNoneGet country by code
GET/countries/:id/citiesNoneGet cities

Cities (/cities) ​

MethodPathAuthDescription
GET/citiesNoneList cities
GET/cities/:idNoneGet city

Currency (/currency) ​

MethodPathAuthDescription
GET/currency/ratesNoneGet exchange rates
GET/currency/:codeNoneGet currency info

Admin Routes (/admin) ​

All admin routes require authentication and role-based authorization.

Admin Auth (/admin/auth) ​

MethodPathAuthDescription
POST/admin/auth/loginNoneAdmin login
POST/admin/auth/logoutAdmin JWTAdmin logout
GET/admin/auth/meAdmin JWTGet current admin

Admin Users (/admin/admins) ​

MethodPathAuthDescription
GET/admin/adminsAdmin JWTList admins
POST/admin/admins/inviteAdmin JWTInvite admin
POST/admin/admins/accept-invitationNoneAccept invitation
PUT/admin/admins/:idAdmin JWTUpdate admin
DELETE/admin/admins/:idAdmin JWTDelete admin

User Management (/admin/users) ​

MethodPathAuthDescription
GET/admin/usersAdmin JWTList users
GET/admin/users/:idAdmin JWTGet user
PUT/admin/users/:idAdmin JWTUpdate user
POST/admin/users/:id/banAdmin JWTBan user
POST/admin/users/:id/unbanAdmin JWTUnban user
GET/admin/users/:id/transactionsAdmin JWTUser transactions

Advertiser Management (/admin/advertisers) ​

MethodPathAuthDescription
GET/admin/advertisersAdmin JWTList advertisers
GET/admin/advertisers/:idAdmin JWTGet advertiser
PUT/admin/advertisers/:idAdmin JWTUpdate advertiser
GET/admin/advertisers/:id/campaignsAdmin JWTAdvertiser campaigns
POST/admin/advertisers/:id/creditAdmin JWTCredit balance

Ad Moderation (/admin/ads) ​

MethodPathAuthDescription
GET/admin/adsAdmin JWTList ads
GET/admin/ads/:idAdmin JWTGet ad
PUT/admin/ads/:id/approveAdmin JWTApprove ad
PUT/admin/ads/:id/rejectAdmin JWTReject ad
PUT/admin/ads/:id/pauseAdmin JWTPause campaign
DELETE/admin/ads/:idAdmin JWTDelete ad

Screenshot Review (/admin/screenshots) ​

MethodPathAuthDescription
GET/admin/screenshotsAdmin JWTReview queue
GET/admin/screenshots/:idAdmin JWTGet screenshot
POST/admin/screenshots/:id/approveAdmin JWTApprove
POST/admin/screenshots/:id/rejectAdmin JWTReject
POST/admin/screenshots/bulk-approveAdmin JWTBulk approve

Finance (/admin/finance) ​

MethodPathAuthDescription
GET/admin/finance/transactionsAdmin JWTAll transactions
GET/admin/finance/withdrawalsAdmin JWTPending withdrawals
POST/admin/finance/withdrawals/:id/processAdmin JWTProcess withdrawal
GET/admin/finance/invoicesAdmin JWTAll invoices
GET/admin/finance/invoices/:id/downloadAdmin JWTDownload PDF
GET/admin/finance/depositsAdmin JWTAll deposits

Settings (/admin/settings) ​

MethodPathAuthDescription
GET/admin/settings/categoriesAdmin JWTList categories
POST/admin/settings/categoriesAdmin JWTCreate category
PUT/admin/settings/categories/:idAdmin JWTUpdate category
DELETE/admin/settings/categories/:idAdmin JWTDelete category
GET/admin/settings/countriesAdmin JWTList countries
PUT/admin/settings/countries/:idAdmin JWTUpdate country
GET/admin/settings/pricing-tiersAdmin JWTGet pricing tiers
PUT/admin/settings/pricing-tiers/:idAdmin JWTUpdate tier

System (/admin/system) ​

MethodPathAuthDescription
GET/admin/system/healthAdmin JWTSystem health
GET/admin/system/activity-logsAdmin JWTActivity logs
GET/admin/system/alertsAdmin JWTSystem alerts
GET/admin/system/failed-jobsAdmin JWTFailed jobs
POST/admin/system/failed-jobs/:id/retryAdmin JWTRetry job

Webhook Routes (/webhooks) ​

Internal Pub/Sub push webhooks.

MethodPathAuthDescription
POST/webhooks/video-processedPub/Sub AuthVideo processing complete
POST/webhooks/screenshot-processedPub/Sub AuthVerification complete

Dashboard Routes (/api/dashboard) ​

CEO dashboard metrics (secured by API key).

MethodPathAuthDescription
GET/api/dashboard/metricsAPI KeyPublic metrics

Job Routes (/jobs) ​

Cloud Scheduler endpoints.

MethodPathAuthDescription
POST/jobs/process-outboxJob SecretProcess message outbox
POST/jobs/payment-remindersJob SecretSend payment reminders
POST/jobs/streak-checkJob SecretCheck expired streaks
POST/jobs/exchange-ratesJob SecretRefresh exchange rates

One chat. Everything done.