INVENTAGIOUS

API DOCUMENTATION
← Back to Home Health Check

🔐 Authentication

POST /auth/register
Register a new user with email and password
POST /auth/login
Login with email and password
POST /auth/wallet/connect
Connect and authenticate with Solana wallet
POST /auth/wallet/register
Register a new user with Solana wallet
POST /auth/wallet/complete-profile 🔒 Auth Required
Complete wallet profile with full name and email
GET /auth/profile 🔒 Auth Required
Get current user profile
GET /auth/profile/status 🔒 Auth Required
Get profile completion status

📁 Projects

GET /projects
Get all projects (supports ?type= and ?status= query params)
GET /projects/featured
Get featured projects
GET /projects/recommended
Get recommended projects (supports ?category= query param)
GET /projects/topics/featured
Get featured topics
GET /projects/search
Search projects (supports ?q= and ?type= query params)
GET /projects/slug/:slug
Get a project by slug (SEO-friendly URL)
GET /projects/:id
Get a specific project by ID
GET /projects/my/projects 🔒 Auth Required
Get current user's projects
POST /projects 🔒 Auth Required
Create a new project
PUT /projects/:id 🔒 Auth Required
Update a project
POST /projects/:id/publish 🔒 Auth Required
Publish a project to blockchain
POST /projects/:id/contribute 🔒 Auth Required
Contribute to a project
POST /projects/:id/donate 🔒 Auth Required
Donate to a project
POST /projects/:id/feature 🔒 Auth Required
Set project as featured or unfeatured
POST /projects/:id/milestones 🔒 Auth Required
Add a milestone to a project
PUT /projects/:id/milestones/:milestoneId 🔒 Auth Required
Update a project milestone
POST /projects/:id/release-funds 🔒 Auth Required
Release funds from a completed campaign
GET /projects/:id/updates
Get campaign updates for a project
POST /projects/:id/updates 🔒 Auth Required
Create a campaign update
GET /projects/:id/updates/:updateId
Get a specific campaign update
PUT /projects/:id/updates/:updateId 🔒 Auth Required
Update a campaign update
DELETE /projects/:id/updates/:updateId 🔒 Auth Required
Delete a campaign update

👤 Profile

POST /profile 🔒 Auth Required
Create user profile
GET /profile 🔒 Auth Required
Get current user profile
GET /profile/:username
Get profile by username
PUT /profile 🔒 Auth Required
Update user profile
POST /profile/videos 🔒 Auth Required
Add video to profile
GET /profile/:username/videos
Get videos for a profile by username

💳 Payments

POST /payment/solana/transaction 🔒 Auth Required
Create Solana transaction
GET /payment/solana/verify/:signature 🔒 Auth Required
Verify Solana transaction

🤝 Deals

GET /deals 🔒 Auth Required
Get all deals (supports ?role= query param: 'inventor' or 'investor')
GET /deals/project/:projectId 🔒 Auth Required
Get deals for a specific project
GET /deals/:id 🔒 Auth Required
Get a specific deal by ID
POST /deals 🔒 Auth Required
Create a new deal
PUT /deals/:id 🔒 Auth Required
Update a deal (supports ?role= query param: 'inventor' or 'investor')
POST /deals/:id/release-funds 🔒 Auth Required
Release funds from deal escrow
POST /deals/:id/complete 🔒 Auth Required
Complete a deal (supports ?role= query param: 'inventor' or 'investor')

⛓️ Solana

GET /solana/test
Test endpoint to verify Solana controller is working
GET /solana/program-ids
Get Solana program IDs and cluster info
GET /solana/price
Get current SOL price
GET /solana/funding-goal-limits
Get funding goal limits
GET /solana/idl/:programId
Get IDL for a program
GET /solana/idl/:programId/refresh
Refresh IDL for a program (clears cache and reloads from local file)
GET /solana/platform-wallet
Get platform wallet address (fees only)
GET /solana/campaign-wallet/:projectId
Get campaign wallet address for a project
GET /solana/deal-wallet/:dealId
Get deal escrow wallet address

📦 Storage

POST /storage/upload 🔒 Auth Required
Upload file to storage
DELETE /storage/delete/:url 🔒 Auth Required
Delete file from storage

💬 Help

POST /help/chat
Send help chat message

🎫 Support Tickets

POST /support/tickets 🔒 Auth Required
Create a new support ticket
GET /support/tickets 🔒 Auth Required
Get support tickets (supports ?status=, ?category=, ?limit=, ?offset= query params). Admins can view all tickets.
GET /support/tickets/stats 🔒 Auth Required
Get support ticket statistics. Admins can view all ticket stats.
GET /support/tickets/:id 🔒 Auth Required
Get a specific support ticket by ID. Admins can view any ticket.
PUT /support/tickets/:id 🔒 Auth Required
Update a support ticket. Admins can update any ticket.
POST /support/tickets/:id/messages 🔒 Auth Required
Add a message to a support ticket
DELETE /support/tickets/:id 🔒 Auth Required
Delete a support ticket. Admins can delete any ticket.
POST /support/tickets/:id/reanalyze 🔒 Auth Required
Reanalyze a support ticket with AI

📊 Analytics

POST /analytics/pageview
Record a page view (public endpoint, optional auth)
POST /analytics/event
Record a user event (public endpoint, optional auth)
POST /analytics/search
Record a search query (public endpoint, optional auth)
POST /analytics/form
Record a form interaction (public endpoint, optional auth)
POST /analytics/performance
Record performance metrics (public endpoint)
POST /analytics/error
Record an error (public endpoint, optional auth)
POST /analytics/session
Record or update a session (public endpoint, optional auth)
POST /analytics/journey
Record a user journey step (public endpoint, optional auth)
POST /analytics/transaction-intent
Record a transaction intent (public endpoint, optional auth)
POST /analytics/wallet-event
Record a wallet event (public endpoint, optional auth)
POST /analytics/transaction-status
Record a transaction status (public endpoint, optional auth)
POST /analytics/batch
Batch record multiple analytics events (public endpoint, optional auth)

⚙️ Config

GET /config/public/payment-settings
Get public payment settings (no auth required)
GET /config 🔒 Auth Required
Get platform configuration
GET /config/:key 🔒 Auth Required
Get specific config value
PUT /config 🔒 Auth Required
Update multiple configuration values
PUT /config/:key 🔒 Auth Required
Update a specific configuration value
PUT /config/refresh 🔒 Auth Required
Refresh configuration cache

📧 Email

GET /email/preferences 🔒 Auth Required
Get user email preferences
PUT /email/preferences 🔒 Auth Required
Update user email preferences
GET /email/unsubscribe
Get unsubscribe page (public, uses token)
POST /email/unsubscribe
Process unsubscribe request (public, uses token)
POST /email/newsletter/subscribe
Subscribe to newsletter (public)
POST /email/newsletter/unsubscribe
Unsubscribe from newsletter (public, uses token)
GET /email/newsletter/subscription
Get newsletter subscription status (public, uses token)
GET /email/newsletter/stats 🔒 Auth Required
Get newsletter statistics
POST /email/test
Send test email (for debugging)
GET /email/logs
Get email logs (supports ?email= and ?limit= query params)

💼 Wallet

GET /wallet/address
Get platform wallet address (public)
GET /wallet/balance 🔒 Auth Required
Get wallet balance
GET /wallet/status 🔒 Auth Required
Get wallet status

👨‍💼 Admin Panel

POST /admin/auth/login
Admin login
POST /admin/auth/logout 🔒 Admin Auth
Admin logout
GET /admin/auth/me 🔒 Admin Auth
Get current admin profile
POST /admin/auth/validate-session 🔒 Admin Auth
Validate admin session
GET /admin/auth/dashboard/stats 🔒 Admin Auth
Get dashboard statistics
GET /admin/auth/analytics 🔒 Admin Auth
Get analytics data
GET /admin/auth/activity 🔒 Admin Auth
Get activity logs (supports ?type=, ?category=, ?limit=)
GET /admin/auth/reports 🔒 Admin Auth
Get reports
GET /admin/auth/projects 🔒 Admin Auth
Get all projects
POST /admin/auth/projects/:id/feature 🔒 Admin Auth
Set project as featured
POST /admin/auth/projects/:id/delete 🔒 Admin Auth
Delete a project
POST /admin/auth/projects/:id/mark-inappropriate 🔒 Admin Auth
Mark project as inappropriate
PUT /admin/auth/projects/:id/status 🔒 Admin Auth
Update project status
GET /admin/auth/campaigns 🔒 Admin Auth
Get all campaigns
POST /admin/auth/campaigns/:id/pause 🔒 Admin Auth
Pause a campaign
POST /admin/auth/campaigns/:id/resume 🔒 Admin Auth
Resume a paused campaign
POST /admin/auth/campaigns/:id/refund 🔒 Admin Auth
Refund a campaign
GET /admin/auth/deals 🔒 Admin Auth
Get all deals
POST /admin/auth/deals/:id/approve 🔒 Admin Auth
Approve a deal
POST /admin/auth/deals/:id/reject 🔒 Admin Auth
Reject a deal
POST /admin/auth/deals/:id/mediate 🔒 Admin Auth
Mediate a deal
POST /admin/auth/deals/:id/complete 🔒 Admin Auth
Complete a deal
PUT /admin/auth/deals/:id 🔒 Admin Auth
Update a deal
GET /admin/auth/users 🔒 Admin Auth
Get all users
GET /admin/auth/profiles 🔒 Admin Auth
Get all profiles
GET /admin/auth/contributions 🔒 Admin Auth
Get all contributions
GET /admin/auth/transactions 🔒 Admin Auth
Get all transactions
GET /admin/auth/payments 🔒 Admin Auth
Get all payments
GET /admin/auth/treasury 🔒 Admin Auth
Get treasury information
GET /admin/auth/platform-fees 🔒 Admin Auth
Get platform fees
GET /admin/auth/settings 🔒 Admin Auth
Get platform settings
PUT /admin/auth/settings 🔒 Admin Auth
Update platform settings
GET /admin/auth/system/status 🔒 Admin Auth
Get system status
GET /admin/auth/system/metrics 🔒 Admin Auth
Get system metrics
GET /admin/auth/notifications/recent 🔒 Admin Auth
Get recent notifications (supports ?limit=)
GET /admin/auth/notifications/unread-count 🔒 Admin Auth
Get unread notification count
POST /admin/auth/notifications/:id/read 🔒 Admin Auth
Mark notification as read
POST /admin/auth/notifications/mark-all-read 🔒 Admin Auth
Mark all notifications as read
PUT /admin/auth/profile/picture 🔒 Admin Auth
Update admin profile picture
GET /admin/auth/preferences/dark-mode 🔒 Admin Auth
Get dark mode preference
POST /admin/auth/preferences/dark-mode 🔒 Admin Auth
Update dark mode preference
GET /admin/auth/solana/programs 🔒 Admin Auth
Get Solana programs information
GET /admin/auth/solana/contract-config 🔒 Admin Auth
Get contract configuration
POST /admin/auth/solana/sync/campaign 🔒 Admin Auth
Sync campaign configuration
POST /admin/auth/solana/sync/treasury 🔒 Admin Auth
Sync treasury fee configuration
POST /admin/auth/solana/sync/full 🔒 Admin Auth
Perform full Solana sync
GET /admin/auth/posts 🔒 Admin Auth
Get all posts
POST /admin/auth/posts 🔒 Admin Auth
Create a post
PUT /admin/auth/posts/:id 🔒 Admin Auth
Update a post
POST /admin/auth/posts/:id/delete 🔒 Admin Auth
Delete a post
GET /admin/auth/sessions 🔒 Admin Auth
Get active sessions
POST /admin/auth/sessions/:id/revoke 🔒 Admin Auth
Revoke a session

🤖 AI Helper (Admin)

POST /admin/auth/ai-helper/chat 🔒 Admin Auth
Chat with AI helper
GET /admin/auth/ai-helper/context 🔒 Admin Auth
Get AI helper context
GET /admin/auth/ai-helper/improvements 🔒 Admin Auth
Get improvement suggestions
GET /admin/auth/ai-helper/stats-analysis 🔒 Admin Auth
Get stats analysis
GET /admin/auth/ai-helper/priorities 🔒 Admin Auth
Get priorities
GET /admin/auth/ai-helper/analytics 🔒 Admin Auth
Get analytics insights
GET /admin/auth/ai-helper/finance 🔒 Admin Auth
Get finance insights
GET /admin/auth/ai-helper/security-risks 🔒 Admin Auth
Get security risk analysis
GET /admin/auth/ai-helper/strategy 🔒 Admin Auth
Get strategy recommendations
GET /admin/auth/ai-helper/operations 🔒 Admin Auth
Get operations insights

📢 Marketing (Admin)

GET /admin/auth/marketing/promotions 🔒 Admin Auth
Get promotions (supports ?status=)
POST /admin/auth/marketing/promotions 🔒 Admin Auth
Create a promotion
PUT /admin/auth/marketing/promotions/:id 🔒 Admin Auth
Update a promotion
DELETE /admin/auth/marketing/promotions/:id 🔒 Admin Auth
Delete a promotion
GET /admin/auth/marketing/emails/campaigns 🔒 Admin Auth
Get email campaigns (supports ?status=)
POST /admin/auth/marketing/emails/campaigns 🔒 Admin Auth
Create an email campaign
POST /admin/auth/marketing/emails/campaigns/:id/send 🔒 Admin Auth
Send an email campaign
GET /admin/auth/marketing/notifications 🔒 Admin Auth
Get notifications (supports ?status=)
POST /admin/auth/marketing/notifications 🔒 Admin Auth
Create a notification
POST /admin/auth/marketing/notifications/:id/send 🔒 Admin Auth
Send a notification

🛡️ Moderation (Admin)

GET /admin/auth/moderation/content 🔒 Admin Auth
Get pending content (supports ?limit=, ?offset=)
GET /admin/auth/moderation/flagged 🔒 Admin Auth
Get flagged content (supports ?limit=, ?offset=)
POST /admin/auth/moderation/moderate/:contentId 🔒 Admin Auth
Moderate content with AI
POST /admin/auth/moderation/action 🔒 Admin Auth
Perform moderation action
POST /admin/auth/moderation/batch 🔒 Admin Auth
Batch moderate content
GET /admin/auth/moderation/stats 🔒 Admin Auth
Get moderation statistics

🏥 Health

GET /health
Health check endpoint - returns server status
API Base URL: http://localhost:3001
Inventagious API Documentation © 2025