Base namespace: /wp-json/oregister/v1/
GET /profile/{user_id}
Returns a user's public profile data.
Response:
json{
"user_id": 42,
"display_name": "Jane Doe",
"bio": "WordPress developer",
"avatar_url": "https://example.com/wp-content/uploads/avatar.jpg",
"total_xp": 1500,
"level": 5,
"login_streak": 7,
"privacy": "public",
"registered": "2024-01-15 10:30:00",
"last_active": "2025-04-20 14:22:00"
}
Returns 403 if profile is private, 404 if user not found.
Email is never returned for privacy.
GET /leaderboard
Returns top users by XP.
Query params:
type—xp(default)limit— 1–50 (default: 10)
Response:
json[
{
"rank": 1,
"user_id": 42,
"display_name": "Jane Doe",
"avatar_url": "...",
"value": 12500,
"level": "Legend"
}
]
GET /user/{user_id}/xp
Returns XP and level data for a user.
Response:
json{
"level": 5,
"level_name": "Veteran",
"total_xp": 1500,
"next_threshold": 3000,
"progress": 53
}
