API Reference (Technical)

[!NOTE] EventSlot uses app/api route handlers directly (no /v1 API gateway prefix in this repository).

Error envelope

Current handlers commonly return one of these forms:

{ "success": false, "error": "Message" }

or

{ "error": "Message" }

Recommended normalized format for future convergence:

{ "error": "Message", "code": "ERROR_CODE", "statusCode": 400 }

Domain endpoint groups

Public and attendee endpoints

MethodPathAuth required
POST/api/registerNo
GET/PATCH/api/registrations/[registrationId]Link-based access
POST/api/attendance/confirmNo
GET/POST/api/feedbackMixed
GET/api/healthNo

Auth and profile

MethodPathAuth required
GET/POST/api/auth/[…nextauth]Mixed
POST/api/auth/signupNo
POST/api/auth/forgot-passwordNo
POST/api/auth/reset-passwordNo
GET/api/meYes
GET/PATCH/DELETE/api/profileYes
PATCH/api/profile/passwordYes
POST/api/profile/photoYes
GET/api/users/check-usernameNo
PATCH/api/users/usernameYes

Event operations

MethodPathAuth required
POST/api/eventsYes
GET/PUT/DELETE/api/events/[slug]Mixed by operation
PATCH/api/events/[slug]/capacityToken or owner/admin/team
PATCH/api/events/[slug]/archiveOwner/admin/team
POST/api/events/[slug]/closeOwner/admin/team
GET/api/events/[slug]/analyticsOwner scope
GET/api/events/[slug]/insightsOwner scope
POST/api/events/[slug]/askOwner scope
GET/api/events/[slug]/reportOwner scope
GET/api/events/[slug]/exportOwner scope
GET/api/events/[slug]/feedbackOwner scope
GET/api/events/[slug]/duplicatesToken or owner/admin/team
POST/api/events/[slug]/duplicateOwner scope
POST/api/events/[slug]/renameOwner scope
GET/api/events/[slug]/qrOwner scope
POST/api/events/[slug]/claimMixed

Dashboard and notifications

MethodPathAuth required
GET/api/dashboard/statsYes
GET/api/my-eventsYes
GET/api/notificationsYes
PATCH/api/notifications/readYes
PATCH/api/notifications/[id]/readYes

Team management

MethodPathAuth required
GET/api/team/membersYes
POST/api/team/inviteYes
POST/api/team/resendYes
GET/api/team/eventsYes
GET/PATCH/DELETE/api/team/[memberId]Yes
GET/PUT/api/team/[memberId]/eventsYes

Billing and webhooks

MethodPathAuth required
POST/api/report-downloads/purchaseYes
GET/api/report-downloads/verifyYes
GET/POST/api/billing/report-downloadsYes
POST/api/billing/webhookWebhook signature
POST/api/billing/checkoutLegacy billing path
GET/api/billing/verifyBilling verify path

Cron and admin

MethodPathAuth required
POST/api/cron/send-feedbackSecret/cron context
POST/api/cron/event-reminderSecret/cron context
POST/api/cron/expire-dataSecret/cron context
GET/POST/PATCH/DELETE/api/admin/*Super admin

Webhook note

Active billing webhook provider is Paystack, using x-paystack-signature verification. Stripe webhook endpoints are not the active provider in current code.