-
Notifications
You must be signed in to change notification settings - Fork 3
API
Aorux01 edited this page Jan 31, 2026
·
1 revision
Neodyme exposes two sets of APIs: the Fortnite Game API (used by the game client) and the Web API (used by the web interface).
The game client uses OAuth2 token-based authentication:
POST /account/api/oauth/token
Content-Type: application/x-www-form-urlencoded
Grant types:
- password (email + password login)
- exchange_code (token exchange)
- refresh_token (session renewal)
- client_credentials (client authentication)
The web interface uses JWT tokens with CSRF protection:
POST /api/auth/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "password"
}
Response includes access token and refresh token cookies.
These endpoints are used by the Fortnite game client.
| Method | Endpoint | Description |
|---|---|---|
| GET | /account/api/public/account/:accountId |
Get account details |
| GET | /account/api/public/account/displayName/:name |
Get account by display name |
| GET | /account/api/public/account |
Get multiple accounts |
| GET | /account/api/epicdomains/ssodomains |
SSO domains |
| Method | Endpoint | Description |
|---|---|---|
| POST | /account/api/oauth/token |
Get/refresh tokens |
| DELETE | /account/api/oauth/sessions/kill |
Kill sessions |
| Method | Endpoint | Description |
|---|---|---|
| POST | /fortnite/api/game/v2/profile/:id/client/QueryProfile |
Query profile |
| POST | /fortnite/api/game/v2/profile/:id/client/EquipBattleRoyaleCustomization |
Equip cosmetics |
| POST | /fortnite/api/game/v2/profile/:id/client/SetBattleRoyaleBanner |
Set banner |
| POST | /fortnite/api/game/v2/profile/:id/client/SetCosmeticLockerSlot |
Set locker slot |
| POST | /fortnite/api/game/v2/profile/:id/client/PutModularCosmeticLoadout |
Modular cosmetics |
| POST | /fortnite/api/game/v2/profile/:id/client/SetAffiliateName |
Set creator code |
| POST | /fortnite/api/game/v2/profile/:id/client/MarkItemSeen |
Mark items seen |
| POST | /fortnite/api/game/v2/profile/:id/client/SetItemFavoriteStatus |
Favorite item |
| POST | /fortnite/api/game/v2/profile/:id/client/PurchaseCatalogEntry |
Purchase item |
| Method | Endpoint | Description |
|---|---|---|
| GET | /friends/api/public/friends/:accountId |
Get friends list |
| POST | /friends/api/public/friends/:accountId/:friendId |
Add friend |
| DELETE | /friends/api/public/friends/:accountId/:friendId |
Remove friend |
| GET | /friends/api/v1/:accountId/settings |
Get friend settings |
| GET | /friends/api/v1/:accountId/blocklist |
Get blocklist |
| Method | Endpoint | Description |
|---|---|---|
| GET | /fortnite/api/storefront/v2/catalog |
Get shop catalog |
| GET | /fortnite/api/storefront/v2/keychain |
Get keychain |
| Method | Endpoint | Description |
|---|---|---|
| GET | /fortnite/api/v1/profile/:id/vbucks/get |
Get V-Bucks balance |
| POST | /fortnite/api/v1/profile/:id/vbucks/add |
Add V-Bucks |
| POST | /fortnite/api/v1/profile/:id/vbucks/set |
Set V-Bucks balance |
| POST | /fortnite/api/v1/profile/:id/xp/add |
Add XP |
| Method | Endpoint | Description |
|---|---|---|
| GET | /fortnite/api/game/v2/matchmakingservice/ticket/player/:id |
Create matchmaking ticket |
| POST | /fortnite/api/matchmaking/session/matchMakingRequest |
Get matchmaking server |
| Method | Endpoint | Description |
|---|---|---|
| GET | /fortnite/api/cloudstorage/system |
Get system files |
| GET | /fortnite/api/cloudstorage/system/:file |
Get system file |
| GET | /fortnite/api/cloudstorage/user/:accountId |
Get user files |
| GET | /fortnite/api/cloudstorage/user/:accountId/:file |
Get user file |
| PUT | /fortnite/api/cloudstorage/user/:accountId/:file |
Save user file |
| Method | Endpoint | Description |
|---|---|---|
| GET | /fortnite/api/calendar/v1/timeline |
Get events timeline |
| GET | /fortnite/api/v2/versioncheck |
Version check |
| GET | /lightswitch/api/service/bulk/status |
Service status |
These endpoints are used by the web interface dashboard.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register new account |
| POST | /api/auth/login |
Login |
| GET | /api/auth/verify |
Verify token |
| GET | /api/auth/profile |
Get profile |
| PUT | /api/auth/profile |
Update profile |
| PUT | /api/auth/change-password |
Change password |
| POST | /api/auth/logout |
Logout |
| GET | /api/auth/csrf-token |
Get CSRF token |
| POST | /api/auth/check-email |
Check email availability |
| POST | /api/auth/check-username |
Check username availability |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/user/vbucks |
Get V-Bucks balance |
| GET | /api/user/friends |
Get friends list |
| POST | /api/user/friends/add |
Add friend |
| POST | /api/user/friends/accept |
Accept friend request |
| POST | /api/user/friends/reject |
Reject friend request |
| DELETE | /api/user/friends/:accountId |
Remove friend |
| PUT | /api/user/settings |
Update settings |
| GET | /api/user/role |
Get user role |
| GET | /api/users/search?q= |
Search users |
| GET | /api/users/:accountId |
Get user info |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/purchase/vbucks |
Purchase V-Bucks |
| POST | /api/purchase/item |
Purchase shop item |
| POST | /api/purchase/refund |
Refund purchase |
| GET | /api/user/purchases |
Get purchase history |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/shop |
Get shop data |
| GET | /api/shop/status |
Shop rotation status |
| GET | /api/shop/items |
Shop items |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/sessions/active |
Get active sessions |
| DELETE | /api/sessions/:sessionId |
Terminate session |
| DELETE | /api/sessions/all |
Terminate all sessions |
| GET | /api/sessions/count |
Get session count |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/tickets |
Create ticket |
| GET | /api/tickets/my |
Get my tickets |
| GET | /api/tickets/:ticketId |
Get ticket details |
| POST | /api/tickets/:ticketId/messages |
Add message |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/creator-code/me |
Get my creator code |
| POST | /api/creator-code/request |
Request a code |
| DELETE | /api/creator-code/me |
Delete my code |
Requires Moderator, Admin, or Developer role.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/mod/players |
List players |
| GET | /api/mod/players/:accountId/bans |
Get ban info |
| POST | /api/mod/players/:accountId/ban |
Ban player |
| POST | /api/mod/players/:accountId/unban |
Unban player |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/mod/tickets |
Get all tickets |
| GET | /api/mod/tickets/stats |
Ticket stats |
| PUT | /api/mod/tickets/:id/assign |
Assign ticket |
| PUT | /api/mod/tickets/:id/unassign |
Unassign ticket |
| POST | /api/mod/tickets/:id/reply |
Reply as mod |
| PUT | /api/mod/tickets/:id/status |
Change status |
| PUT | /api/mod/tickets/:id/priority |
Change priority |
| DELETE | /api/mod/tickets/:id |
Delete ticket |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/mod/creator-codes/requests |
Pending requests |
| GET | /api/mod/creator-codes/requests/all |
All requests |
| POST | /api/mod/creator-codes/approve/:id |
Approve request |
| POST | /api/mod/creator-codes/reject/:id |
Reject request |
| GET | /api/mod/creator-codes |
All active codes |
| DELETE | /api/mod/creator-codes/:code |
Delete code |
| PUT | /api/mod/creator-codes/:code/toggle |
Toggle active |
| GET | /api/mod/creator-codes/stats |
Code statistics |
Requires Admin or Developer role.
| Method | Endpoint | Description |
|---|---|---|
| PUT | /api/admin/users/:accountId/role |
Change user role |
| PUT | /api/admin/users/:accountId/ban |
Ban user |
| GET | /api/admin/users |
List all users |
| PUT | /api/admin/creator-codes/commission |
Set commission % |
| GET | /api/admin/stats |
Server statistics |
| GET | /api/admin/audit-log |
Get audit logs |
| GET | /api/admin/audit-log/summary |
Audit summary |
| GET | /api/admin/stats/detailed |
Detailed stats |
Requires Developer role.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/dev/config |
Get all config values |
| PUT | /api/dev/config/:key |
Update config value |
| GET | /api/dev/config/files |
List config files |
| GET | /api/dev/config/files/:fileName |
Get config file |
| PUT | /api/dev/config/files/:fileName |
Update config file |
| GET | /api/dev/stats/server |
Server statistics |
| GET | /api/dev/stats/database |
Database statistics |
| GET | /api/dev/ssl/status |
SSL certificate status |
All API errors follow this format:
{
"errorCode": "errors.com.epicgames.common.not_found",
"errorMessage": "Resource not found",
"numericErrorCode": 1004,
"originatingService": "fortnite",
"intent": "prod"
}| Code | Description |
|---|---|
| 400 | Bad request (invalid parameters) |
| 401 | Unauthorized (missing/invalid token) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Resource not found |
| 429 | Rate limited |
| 500 | Internal server error |