This document provides a clean, structured, and detailed reference for all API endpoints required by the FindMe frontend modals and registration flows.
- Base URL: Defined by
NEXT_PUBLIC_API_BASE_URLenv variable. - Content-Type:
application/json(except for file uploads). - Shared Field:
section(Values:"home","business","festival") - Critical for routing logic.
Used for simple data capture from home, business, and festival sections.
Submit a message to the support team.
- Endpoint:
POST /lists/contact - Fields:
name: (string) User's full name.email: (string) User's email address.message: (string) Detailed message.section: (string) Origin context ("home","business","festival").
Join the product launch waitlist.
- Endpoint:
POST /lists/wait-list - Fields:
email: (string) User's email address.section: (string) Origin context.
The "Top of Funnel" for all user types.
- Endpoint:
POST /lists/user - Fields:
name: (string)email: (string)phone: (string)password: (string)role: (string) Options:"Sponsor","Guest","Artist","Festival Artisan","Business","Volunteer".referralCode: (string, optional)section: (string)
Secondary steps for users who register as a Business or Festival Artisan.
Update the user with AI-generated data or account preferences.
- Endpoint:
PATCH /lists/user/{userId} - Fields:
accountType: (string)"business"or"listing".aiPrompt: (string) The prompt entered during the registration AI step.
Captured in the BusinessAccountInfo.tsx and FestivalCategorySelection.tsx steps.
- Endpoint:
POST /lists/business - Fields:
businessName: (string)category: (string) Business: "Ride hailing", etc. | Festival: "Dean", "Dentist", etc.ownershipType: (string)"Self owned","Partnership","Franchise","LLC", etc.industry: (string)subCategory: (string)about: (string[]) List of tags like"Factory","Museum".
Final stage for business/festival validation.
- Endpoint:
POST /lists/verify - Content-Type:
multipart/form-data - Fields:
personalID: (file) Image/PDF upload of ID card.registrationCode: (string, optional) Business BN number.section: (string)
The frontend uses the role field to branch the user journey.
- Step: Initial Sign-up (
POST /lists/user) - Outcome: Immediate Success. No further API calls required.
- Step 1: Initial Sign-up (
POST /lists/user) withrole: "Business". - Step 2: Business Identity (
POST /lists/business). - Step 3: Verification (
POST /lists/verify). - Outcome: Final Success Modal.
{
"name": "Francis Watson",
"email": "francis@example.com",
"phone": "+2348000000000",
"password": "********",
"role": "Business",
"section": "festival"
}