Swolemance API Documentation

← Back to Home

Documentation APIs

GET /api/documentation Added 2026-06-29
Controller Action: \L5Swagger\Http\Controllers\SwaggerController@api
Middlewares: L5Swagger\Http\Middleware\Config

Payload / Parameters:

// No body required for this GET request.

Oauth2-callback APIs

GET /api/oauth2-callback Added 2026-06-29
Controller Action: \L5Swagger\Http\Controllers\SwaggerController@oauth2Callback
Middlewares: L5Swagger\Http\Middleware\Config

Payload / Parameters:

// No body required for this GET request.

Auth APIs

POST /api/auth/register Added 2026-06-29
Controller Action: App\Http\Controllers\Api\AuthController@register
Middlewares: api

Payload / Parameters:

{
    "name": "John Doe",
    "email": "user@example.com",
    "password": "password123"
}
POST /api/auth/login Added 2026-06-29
Controller Action: App\Http\Controllers\Api\AuthController@login
Middlewares: api

Payload / Parameters:

{
    "email": "user@example.com",
    "password": "password123"
}
POST /api/auth/logout Added 2026-06-29
Controller Action: App\Http\Controllers\Api\AuthController@logout
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
GET /api/auth/me Added 2026-06-29
Controller Action: App\Http\Controllers\Api\AuthController@me
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.

Billing APIs

GET /api/billing/entitlement Added 2026-06-29
Controller Action: App\Http\Controllers\Api\BillingController@entitlement
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/billing/checkout-session Added 2026-06-29
Controller Action: App\Http\Controllers\Api\BillingController@createCheckoutSession
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "price_id": "price_1Nx...",
    "platform": "web"
}
POST /api/billing/customer-portal Added 2026-06-29
Controller Action: App\Http\Controllers\Api\BillingController@createPortalSession
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "return_url": "https:\/\/example.com\/account"
}

Workouts APIs

GET /api/workouts/categories Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@categories
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/workouts/categories Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@storeCategory
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Upper Body",
    "description": "Chest, Back, Arms"
}
GET /api/workouts/exercises Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@exercises
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/workouts/exercises Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@storeExercise
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Squat",
    "category_id": 1,
    "description": "Barbell back squat",
    "muscle_groups": [
        "legs",
        "glutes"
    ]
}
POST /api/workouts/templates Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@storeTemplate
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Push Day",
    "exercises": [
        {
            "exercise_id": 1,
            "sets": 3,
            "reps": 10
        }
    ]
}
GET /api/workouts/templates Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@listTemplates
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/workouts/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@storeSession
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "template_id": 1,
    "start_time": "2026-06-18 10:00:00",
    "end_time": "2026-06-18 11:15:00",
    "exercises": [
        {
            "exercise_id": 1,
            "sets": [
                {
                    "reps": 10,
                    "weight": 225
                }
            ]
        }
    ]
}
GET /api/workouts/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@listSessions
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/workouts/stats Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WorkoutController@stats
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.

Fasting APIs

POST /api/fasting/start Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@start
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "preset_id": 1,
    "target_hours": 16
}
POST /api/fasting/stop Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@stop
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "end_time": "2026-06-18 20:00:00"
}
GET /api/fasting/windows Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@windows
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/fasting/current Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@current
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/fasting/presets Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@presets
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/fasting/presets Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@createPreset
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "16:8",
    "fasting_hours": 16,
    "eating_hours": 8
}
POST /api/fasting/{fastId}/feels Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@addFeel
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
GET /api/fasting/{fastId}/feels Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@listFeels
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/fasting/{fastId}/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@addLog
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
GET /api/fasting/{fastId}/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@listLogs
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/fasting/{fastId}/food-logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@addFoodLog
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
GET /api/fasting/{fastId}/food-logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@listFoodLogs
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/fasting/stats Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FastingController@stats
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.

Nutrition APIs

POST /api/nutrition/meals Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NutritionController@storeMeal
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Lunch",
    "calories": 650,
    "protein": 50,
    "carbs": 60,
    "fat": 20
}
GET /api/nutrition/meals Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NutritionController@listMeals
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/nutrition/summary/daily Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NutritionController@dailySummary
Middlewares: api,auth:sanctum

Payload / Parameters:

// Query Parameters: ?date_range=30d
GET /api/nutrition/summary/weekly Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NutritionController@weeklySummary
Middlewares: api,auth:sanctum

Payload / Parameters:

// Query Parameters: ?date_range=30d

Profile APIs

GET /api/profile Added 2026-06-29
Controller Action: App\Http\Controllers\Api\ProfileController@show
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
PUT /api/profile Added 2026-06-29
Controller Action: App\Http\Controllers\Api\ProfileController@update
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "gender": "male",
    "date_of_birth": "1995-05-10",
    "height_cm": 180,
    "weight_kg": 80,
    "goal": "muscle_gain"
}

Notifications APIs

GET /api/notifications Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NotificationController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/notifications/unread Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NotificationController@unread
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
PATCH /api/notifications/{id}/read Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NotificationController@markAsRead
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
POST /api/notifications/mark-all-read Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NotificationController@markAllAsRead
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
DELETE /api/notifications/{id} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\NotificationController@destroy
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
POST /api/notifications/token Added 2026-06-29
Controller Action: App\Http\Controllers\Api\PushNotificationController@registerToken
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "token": "ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]"
}
DELETE /api/notifications/token Added 2026-06-29
Controller Action: App\Http\Controllers\Api\PushNotificationController@unregisterToken
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
POST /api/notifications/test Added 2026-06-29
Controller Action: App\Http\Controllers\Api\PushNotificationController@testNotification
Middlewares: api,auth:sanctum

Payload / Parameters:

{}

User APIs

GET /api/user/match-mode Added 2026-06-29
Controller Action: Closure
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
PUT /api/user/match-mode Added 2026-06-29
Controller Action: Closure
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "match_mode": "swolemance"
}

Weights APIs

GET /api/weights/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WeightController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/weights/logs Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WeightController@store
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "weight": 81.5,
    "date": "2026-06-18"
}

Social APIs

POST /api/social/friends/request Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@request
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "user_id": 42
}
POST /api/social/friends/accept Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@accept
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "user_id": 42
}
GET /api/social/friends Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@list
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/social/friends/pending Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@pending
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
DELETE /api/social/friends Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@unfriend
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
GET /api/social/users Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@users
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/social/friends/decline Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@decline
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
POST /api/social/friends/cancel Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFriendController@cancel
Middlewares: api,auth:sanctum

Payload / Parameters:

{}
GET /api/social/feed Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/social/feed Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@store
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "content": "Just crushed a leg day!",
    "image_url": "https:\/\/example.com\/img.jpg"
}
GET /api/social/feed/{feedItem} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@show
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
DELETE /api/social/feed/{feedItem} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@destroy
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
POST /api/social/feed/{feedItem}/comment Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@comment
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "content": "Just crushed a leg day!",
    "image_url": "https:\/\/example.com\/img.jpg"
}
POST /api/social/feed/{feedItem}/like Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SocialFeedController@like
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "content": "Just crushed a leg day!",
    "image_url": "https:\/\/example.com\/img.jpg"
}

Criteria APIs

GET /api/criteria/fitness Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FitnessCriteriaController@show
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
PUT /api/criteria/fitness Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FitnessCriteriaController@upsert
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "experience_level": "intermediate",
    "preferred_workouts": [
        "powerlifting"
    ]
}
GET /api/criteria/romance Added 2026-06-29
Controller Action: App\Http\Controllers\Api\RomanceCriteriaController@show
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
PUT /api/criteria/romance Added 2026-06-29
Controller Action: App\Http\Controllers\Api\RomanceCriteriaController@upsert
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "looking_for": "long_term",
    "max_distance_miles": 50
}

Subscription-status APIs

GET /api/subscription-status Added 2026-06-29
Controller Action: App\Http\Controllers\Api\SubscriptionController@status
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.

Promo-code APIs

POST /api/promo-code/validate Added 2026-06-29
Controller Action: App\Http\Controllers\Api\PromoCodeController@validateCode
Middlewares: api,auth:sanctum,throttle:30,1

Payload / Parameters:

{
    "code": "TRAINER10"
}

Admin Dashboard APIs

GET /api/admin/promo-codes Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminPromoCodeController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/admin/promo-codes Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminPromoCodeController@store
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "code": "WINTER2026",
    "discount_percentage": 20,
    "is_active": true
}
PUT /api/admin/promo-codes/{promoCode} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminPromoCodeController@update
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "code": "WINTER2026",
    "discount_percentage": 20,
    "is_active": true
}
DELETE /api/admin/promo-codes/{promoCode} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminPromoCodeController@destroy
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
GET /api/admin/exercises Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminExerciseController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/admin/exercises Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminExerciseController@store
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Deadlift",
    "category_id": 2
}
PUT /api/admin/exercises/{exercise} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminExerciseController@update
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Deadlift",
    "category_id": 2
}
DELETE /api/admin/exercises/{exercise} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminExerciseController@destroy
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required
GET /api/admin/dashboard/summary Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@summary
Middlewares: api,auth:sanctum

Payload / Parameters:

// Query Parameters: ?date_range=30d
GET /api/admin/dashboard/trainers Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@trainers
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/admin/dashboard/trainers/{id} Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@trainerDetails
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/admin/dashboard/promo-stats Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@promoStats
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/admin/dashboard/subscribers Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@subscribers
Middlewares: api,auth:sanctum

Payload / Parameters:

// Query Parameters: ?status=active
GET /api/admin/dashboard/subscribers/{id} Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@subscriberDetails
Middlewares: api,auth:sanctum

Payload / Parameters:

// Query Parameters: ?status=active
GET /api/admin/dashboard/alerts Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@alerts
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/admin/dashboard/export Added 2026-06-29
Controller Action: App\Http\Controllers\AdminDashboardController@export
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
GET /api/admin/workout-categories Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminWorkoutCategoryController@index
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required for this GET request.
POST /api/admin/workout-categories Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminWorkoutCategoryController@store
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Legs"
}
PUT /api/admin/workout-categories/{category} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminWorkoutCategoryController@update
Middlewares: api,auth:sanctum

Payload / Parameters:

{
    "name": "Legs"
}
DELETE /api/admin/workout-categories/{category} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\Admin\AdminWorkoutCategoryController@destroy
Middlewares: api,auth:sanctum

Payload / Parameters:

// No body required

Trainer Dashboard APIs

GET /api/trainer/dashboard/summary Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@summary
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

// Query Parameters: ?date_range=30d
GET /api/trainer/dashboard/subscribers Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@subscribers
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

// Query Parameters: ?status=active
GET /api/trainer/dashboard/subscribers/{id} Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@subscriberDetails
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

// Query Parameters: ?status=active
GET /api/trainer/dashboard/alerts Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@alerts
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

// No body required for this GET request.
PATCH /api/trainer/dashboard/alerts/{alert}/read Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@markRead
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

{
    "read": true
}
GET /api/trainer/dashboard/export Added 2026-06-29
Controller Action: App\Http\Controllers\TrainerDashboardController@export
Middlewares: api,auth:sanctum,trainer

Payload / Parameters:

// No body required for this GET request.

Internal APIs

POST /api/internal/notifications/send-user Added 2026-06-29
Controller Action: App\Http\Controllers\Api\PushNotificationController@sendToUser
Middlewares: api

Payload / Parameters:

{}

Fatsecret APIs

GET /api/fatsecret/barcode/{barcode} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FatSecretController@barcode
Middlewares: api

Payload / Parameters:

// No body required for this GET request.
GET /api/fatsecret/food/{foodId} Added 2026-06-29
Controller Action: App\Http\Controllers\Api\FatSecretController@foodById
Middlewares: api

Payload / Parameters:

// No body required for this GET request.

Webhooks APIs

POST /api/webhooks/revenuecat Added 2026-06-29
Controller Action: App\Http\Controllers\Api\WebhookController@revenuecat
Middlewares: api,throttle:60,1

Payload / Parameters:

{}