FeelFreak Interactive Swagger API
Complete REST endpoint documentation for debates, polls, 1v1 battle arena, OpenAI topic generation, and gamification mechanics.
Registers a new user account with initial +100 Freak Points bonus.
{
"username": "neo_freak",
"email": "neo@example.com",
"password": "secure_password"
}{
"success": true,
"data": {
"token": "jwt_token_here",
"user": {
"id": "u_123",
"username": "neo_freak",
"fp": 100
}
}
}Returns JWT bearer token and user profile state upon matching credentials.
{
"usernameOrEmail": "neo_freak",
"password": "secure_password"
}{
"success": true,
"data": {
"token": "jwt_token_here",
"user": {
"id": "u_123",
"username": "neo_freak"
}
}
}Returns logged-in user profile, level, streak stats, follower counts, and active daily missions.
{
"success": true,
"data": {
"user": {
"id": "u_123",
"username": "neo_freak",
"level": 3,
"fp": 340,
"followersCount": 42,
"followingCount": 18
}
}
}Updates bio, avatar, or @username (subject to 90-day cooldown constraint).
{
"bio": "High-conviction debater and AI enthusiast.",
"displayName": "Neo Freak"
}{
"success": true,
"data": {
"message": "Profile updated successfully!"
}
}Toggles following state and awards +15 FP reward for active social engagement.
{
"success": true,
"data": {
"isFollowing": true,
"followersCount": 43,
"fpEarned": 15
}
}Validates 20h–48h streak window and awards +25 FP with multiplier.
{
"success": true,
"data": {
"streakDays": 5,
"fpReward": 25
}
}Retrieves all debates with vote tallies, arguments counts, and categorized filters.
{
"success": true,
"data": {
"debates": [
{
"id": "deb_1",
"title": "Booking.com vs MakeMyTrip: Which one is better?",
"votesA": 142,
"votesB": 98
}
]
}
}Cast stance vote on debate and calculate real-time percentage split (+15 FP).
{
"side": "A"
}{
"success": true,
"data": {
"votesA": 143,
"votesB": 98,
"totalVotes": 241,
"userVoted": "A"
}
}Post structured PRO or CON reasoning (+25 FP).
{
"side": "PRO",
"content": "Empirical pricing transparency completely favors Booking.com with zero hidden fees."
}{
"success": true,
"data": {
"argumentId": "arg_99",
"fpEarned": 25
}
}Fetches active sentiment polls, option vote percentages, and total comments count.
{
"success": true,
"data": {
"questions": [
{
"id": "q_1",
"title": "Zomato vs Swiggy: Which one is better in 2026?",
"commentsCount": 78
}
]
}
}Retrieves all perspective arguments and nested replies for a specific poll.
{
"success": true,
"data": {
"comments": [
{
"id": "comm_1",
"authorUsername": "alex_trader",
"content": "Swiggy Instamart is unbeatable for fast delivery.",
"replies": []
}
]
}
}Adds an argument perspective on the poll card (+10 FP).
{
"content": "Zomato Gold dining out discounts save significantly more on weekends."
}{
"success": true,
"data": {
"commentId": "comm_102",
"fpEarned": 10
}
}Submits a nested counter-rebuttal to a specific poll argument.
{
"content": "That depends on the city tier; tier 2 cities have far better Swiggy coverage."
}{
"success": true,
"data": {
"replyId": "rep_501"
}
}Lists all active 1v1 duels with combatant cards, round steppers, and spectator voting counts.
{
"success": true,
"data": {
"battles": [
{
"id": "bat_1",
"hostUsername": "sarah_ai",
"challengerUsername": "marcus_dev",
"status": "ACTIVE",
"votesA": 55,
"votesB": 42
}
]
}
}Challenges any post author to a direct 5-round battle (+50 FP & Host Floating Island Notification).
{
"targetUserId": "u_882",
"topic": "Is AI-generated code creating technical debt faster than solutions?"
}{
"success": true,
"data": {
"battleId": "bat_999",
"status": "PENDING"
}
}Generates on-the-fly OpenAI topics, bot votes, and 50-200 arguments without touching real users.
{
"success": true,
"data": {
"message": "Automated post & interaction cycle executed successfully!"
}
}