🔐 Authentication
Register a new user
Request Body
{
"name": "Test Founder",
"email": "founder@test.com",
"password": "password123",
"role": "FOUNDER"
}
Response
{
"id": "uuid",
"name": "Test Founder",
"token": "eyJhbGci..."
}
Login and receive JWT token
Request Body
{
"email": "founder@test.com",
"password": "password123"
}
Response
{
"id": "uuid",
"token": "eyJhbGci..."
}
Get current logged in user
Header
Authorization: Bearer eyJhbGci...
📁 Projects
Create a new project (Founders only)
Request Body
{
"title": "LaunchPad AI",
"problem_statement": "Founders struggle to get funding",
"tech_stack": ["React", "Node.js"],
"modules": ["Auth", "Marketplace"],
"funding_ask": 50000,
"equity_offered": 10
}
Get all published projects. Optional filters: ?min_funding=&max_funding=&status=
Get single project with founder details, investments and AI due diligence report
Update a project (owner only)
Publish project to marketplace (owner only). No body needed.
🤖 AI Service Ollama llama3.2:1b
Multi-turn AI interview bot that collects 6 startup data points one question at a time: Problem, Market, Features, Revenue Model, Funding Ask, Equity Offered. When all 6 are collected the response status becomes "complete".
Request Body
{
"session_id": "uuid",
"project_id": "uuid",
"message": "We help small businesses manage invoices"
}
Response — continue
{
"status": "continue",
"question": "Who is your target market?",
"session_id": "uuid"
}
Response — complete
{
"status": "complete",
"question": null,
"session_id": "uuid"
}
Reads the full intake conversation history and extracts a structured startup profile as JSON. Automatically updates the project record in the database.
Request Body
{
"session_id": "uuid",
"project_id": "uuid"
}
Response
{
"profile": {
"title": "InvoiceAI",
"problem_statement": "SMBs struggle with invoicing",
"target_market": "Small businesses",
"core_features": ["Auto invoicing", "Payment tracking"],
"revenue_model": "SaaS subscription",
"funding_ask": 50000,
"equity_offered": 10
}
}
Runs a full VC due diligence simulation on a startup pitch using Ollama AI. Returns a feasibility score, ROI projection, risks, strengths and investment recommendation. Results are cached per investor — pass force: true to regenerate.
Request Body
{
"project_id": "uuid",
"title": "InvoiceAI",
"problem_statement": "SMBs struggle with invoicing",
"target_market": "Small businesses",
"revenue_model": "SaaS subscription",
"funding_ask": 50000,
"equity_offered": 10,
"force": false
}
Response
{
"analysis": {
"feasibility_score": 8,
"roi_estimate": {
"best_case": "3x return in 18 months",
"expected_case": "2x return in 24 months",
"worst_case": "Break even in 36 months"
},
"risks": [
{ "risk": "High competition from established players", "severity": "High" },
{ "risk": "Slow enterprise sales cycle", "severity": "Medium" }
],
"strengths": [
"Clear problem and target market",
"Scalable SaaS revenue model"
],
"recommendation": "Invest",
"summary": "Strong fundamentals with clear market fit."
}
}
💰 Investments
Make an investment offer (Investors only)
Request Body
{
"project_id": "uuid",
"amount": 10000,
"equity_taken": 2
}
Get all investments on a project
Get my investments as an investor
Confirm or reject investment (Founder only)
Request Body
{
"status": "CONFIRMED"
}
💬 Messages
Send a message
Request Body
{
"receiver_id": "uuid",
"project_id": "uuid",
"content": "Hey! Interested in your project."
}
Get message thread. Format: projectId_userId1_userId2
Mark message as read (receiver only)
👤 Users
Get public profile with published projects
Update own profile
Request Body
{
"bio": "Serial entrepreneur",
"github_url": "https://github.com/username"
}
Add portfolio item
Request Body
{
"title": "Previous Startup",
"description": "Built a SaaS tool",
"outcome": "EXIT",
"year": 2023
}
Get portfolio items of any user