Systems & Leaderboards API Endpoints
Overview
Endpoints for betting systems, strategies, user picks tracking, and leaderboard data.
Endpoint Summary
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/v1/systems |
GET | None | Get all systems |
/v1/users/systems |
GET | JWT | Get user's systems |
/v1/users/systems |
POST | JWT | Save user systems |
/v1/users/systems |
DELETE | JWT | Delete user systems |
/v1/users/systems/followed |
GET | JWT | Get followed systems |
/v1/users/systems/{systemId}/subscriptions |
POST | JWT | Follow a system |
/v1/users/systems/{systemId}/subscriptions/{subId} |
DELETE | JWT | Unfollow system |
/v1/userpicks |
GET | None | Get user picks |
/v1/userpicks |
PUT | JWT | Confirm user picks |
/v1/userpicks |
POST | None | Create user picks |
/v1/users/{username}/upcomingpicks |
GET | None | Get upcoming picks |
/v1/users/{username}/recentpicks |
GET | None | Get recent picks |
/v1/systemcards |
GET | None | Get system cards |
/v1/usercards |
GET | None | Get user cards |
/v1/pickcards |
GET | None | Get pick cards |
/v1/odds |
GET | None | Get odds data |
/v1/odds/live |
GET | None | Get live odds |
/v1/odds-comparison |
GET | None | Get odds comparison |
/v1/socialpicks |
GET | None | Get social picks |
/v1/users/picks/followed |
GET | JWT | Get followed picks |
/v1/picksfeed |
GET | None | Get picks feed |
Systems Endpoints
1. GET /v1/systems
Description: Retrieves all public betting systems/strategies.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
LeagueId |
long[] | Filter by league |
SystemType |
enum | Filter by system type |
Popular |
bool | Only popular systems |
Limit |
int | Maximum results |
Response: IEnumerable<LeaderboardSystem>
[
{
"id": 12345,
"name": "NFL Road Dogs +7",
"description": "Betting underdogs getting 7+ points on the road",
"author": "SystemPro",
"leagueId": 1,
"sport": "NFL",
"winRate": 58.3,
"roi": 12.5,
"totalPicks": 156,
"wins": 91,
"losses": 65,
"streak": "W3",
"isFollowed": false,
"followers": 1234,
"lastPick": {
"date": "2025-11-28",
"team": "Bengals",
"result": "win"
}
}
]
Response Fields:
| Field | Type | Description |
|---|---|---|
id |
long | System identifier |
name |
string | System name |
description |
string | System description |
author |
string | System creator |
leagueId |
long | Associated league |
sport |
string | Sport name |
winRate |
double | Win percentage |
roi |
double | Return on investment % |
totalPicks |
int | Total picks made |
wins |
int | Total wins |
losses |
int | Total losses |
streak |
string | Current streak (e.g., "W3") |
isFollowed |
bool | Whether user follows this |
followers |
int | Number of followers |
lastPick |
object | Most recent pick info |
2. GET /v1/users/systems
Description: Retrieves systems created by the authenticated user.
Authentication: JWT required
Response: IEnumerable<LeaderboardSystem>
3. POST /v1/users/systems
Description: Saves a user-created system.
Authentication: JWT required
Request Body:
[
{
"name": "My NFL System",
"description": "Home favorites under 7",
"rules": [
{"type": "spread", "condition": "lt", "value": 7},
{"type": "side", "condition": "eq", "value": "home"}
]
}
]
Response: IEnumerable<LeaderboardSystem>
4. DELETE /v1/users/systems
Description: Deletes user-created systems.
Authentication: JWT required
Request Body:
[
{"systemId": 12345}
]
5. GET /v1/users/systems/followed
Description: Retrieves systems the user is following.
Authentication: JWT required
Response: IEnumerable<LeaderboardSystem>
6. POST /v1/users/systems/{systemId}/subscriptions
Description: Follows/subscribes to a system.
Authentication: JWT required
Path Parameters:
systemId(long) - System to follow
Response: CreateSystemSubscriptionResponse
{
"subscriptionId": 67890,
"systemId": 12345,
"followedAt": "2025-11-29T12:00:00Z"
}
7. DELETE /v1/users/systems/{systemId}/subscriptions/{subscriptionId}
Description: Unfollows/unsubscribes from a system.
Authentication: JWT required
Path Parameters:
systemId(long) - System IDsubscriptionId(long) - Subscription ID
Response: 200 OK
User Picks Endpoints
8. GET /v1/userpicks
Description: Retrieves user picks by ID.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
id |
long[] | Pick IDs to retrieve |
Response: List<UserPick>
9. PUT /v1/userpicks
Description: Confirms/locks user picks.
Authentication: JWT required
Request Body:
[
{
"pickId": 12345,
"amount": 100,
"odds": -110
}
]
Response: ConfirmedUserPicksResponse
10. GET /v1/users/{username}/upcomingpicks
Description: Retrieves upcoming picks for a user.
Path Parameters:
username- Username to get picks for
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
LeagueId |
long[] | Filter by league |
Limit |
int | Maximum results |
Response: List<UpcomingPick>
[
{
"pickId": 12345,
"matchId": 67890,
"team": "Cowboys",
"pickType": "spread",
"line": -3.5,
"odds": -110,
"matchTime": "2025-11-29T21:25:00Z",
"status": "pending"
}
]
11. GET /v1/users/{username}/recentpicks
Description: Retrieves recent/completed picks for a user.
Path Parameters:
username- Username to get picks for
Response: List<RecentPick>
[
{
"pickId": 12345,
"matchId": 67890,
"team": "Cowboys",
"pickType": "spread",
"line": -3.5,
"odds": -110,
"result": "win",
"profit": 90.91,
"matchDate": "2025-11-28"
}
]
Cards Endpoints
12. GET /v1/systemcards
Description: Retrieves system performance cards.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
LeagueId |
long[] | Filter by league |
Response: IEnumerable<SystemCard>
13. GET /v1/usercards
Description: Retrieves user performance cards.
Response: IEnumerable<UserCard>
14. GET /v1/pickcards
Description: Retrieves pick cards with odds.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
MatchIds |
long[] | Filter by match |
Date |
DateTime | Filter by date |
Response: IEnumerable<PickCard>
Odds Endpoints
15. GET /v1/odds
Description: Retrieves current odds data.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
MatchIds |
long[] | Filter by match |
LeagueId |
long[] | Filter by league |
Date |
DateTime | Filter by date |
Response: IEnumerable<PickCardV2>
16. GET /v1/odds/live
Description: Retrieves live odds history.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
MatchIds |
long[] | Filter by match |
Response: IEnumerable<OddsLiveHistoryResponse>
17. GET /v1/odds-comparison
Description: Compares odds across sportsbooks.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
MatchId |
long | Match ID |
Response: OddsComparisonResponse
{
"matchId": 12345,
"comparisons": [
{
"pickType": "spread",
"team": "Cowboys",
"books": [
{"name": "FanDuel", "line": -3.5, "odds": -110},
{"name": "DraftKings", "line": -3.5, "odds": -108},
{"name": "BetMGM", "line": -3, "odds": -115}
],
"bestOdds": {"name": "DraftKings", "odds": -108}
}
]
}
Social Picks Endpoints
18. GET /v1/socialpicks
Description: Retrieves social picks from the community.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
LeagueId |
long[] | Filter by league |
Date |
DateTime | Filter by date |
Popular |
bool | Only popular picks |
Response: IEnumerable<SocialPick>
19. GET /v1/users/picks/followed
Description: Retrieves picks from followed users.
Authentication: JWT required
Response: IEnumerable<SocialPick>
20. GET /v1/picksfeed
Description: Retrieves the main picks feed.
Response: IEnumerable<PickFeedItem>
Examples
Get Popular NFL Systems
curl -X GET "https://api.example.com/v1/systems?LeagueId=1&Popular=true"
Follow a System
curl -X POST "https://api.example.com/v1/users/systems/12345/subscriptions" \
-H "Authorization: Bearer eyJ..."
Get User's Upcoming Picks
curl -X GET "https://api.example.com/v1/users/john_doe/upcomingpicks"
Compare Odds
curl -X GET "https://api.example.com/v1/odds-comparison?MatchId=12345"
Related Endpoints
- Picks & Analytics - Value picks and predictions
- User Management - User accounts