/api/fleet/survey-reports
/api/fleet/survey-reports
Returns the authenticated player’s survey results and follow-up opportunities.
Method
GET
Response Structure
{
"reports": [
{
"id": 3129005,
"missionId": 11741490,
"userId": 428,
"systemId": 6905,
"eventType": "pirate_fleet",
"eventTitle": "Pirate Fleet",
"eventDescription": "A pirate squadron scrambles to intercept! Heavy combat expected.",
"loot": {
"ore": 2078,
"hydrogen": 710,
"silicates": 1094
},
"uncollectedLoot": null,
"salvageExpiresAt": null,
"shipsLost": [],
"shipsDamaged": [],
"surveyDuration": 720,
"securityZone": "dead",
"combatLog": {
"debris": {
"ore": 6647,
"alloys": 1028,
"silicates": 3655
},
"rounds": [
{
"round": 1,
"events": [
{
"side": "attacker",
"totalDamage": 7048,
"shipsDestroyed": [
{
"key": "fighter",
"lost": 12,
"name": "Fighter"
}
]
}
],
"attackerShieldHp": 17096,
"defenderShieldHp": 3407,
"attackerHpPercent": 100,
"defenderHpPercent": 68,
"attackerShieldMaxHp": 18018,
"defenderShieldMaxHp": 5284
}
],
"outcome": "attacker_won",
"pirateTier": "marauder",
"playerTech": {
"race": "terran",
"hpBonus": 0.30000000000000004,
"attackBonus": 0.03,
"leaderHpBonus": 0,
"damageReduction": 0.29000000000000004,
"leaderAttackBonus": 0,
"carrierHangarLevel": 1,
"leaderShieldRegenBonus": 0
},
"pirateFleet": [
{
"quantity": 20,
"shipDefId": 5
}
],
"attackerFleet": [
{
"key": "cruiser",
"name": "Cruiser",
"quantity": 60,
"shipDefId": 8
}
],
"defenderFleet": [
{
"key": "fighter",
"name": "Fighter",
"quantity": 20,
"shipDefId": 5
}
],
"attackerLosses": [],
"defenderLosses": [
{
"key": "fighter",
"lost": 20,
"name": "Fighter",
"damaged": 6,
"destroyed": 14,
"shipDefId": 5
}
],
"restedAnomalyBonus": {
"applied": true,
"multiplier": 2,
"chargesRemaining": 9
},
"remainingPirateFleet": []
},
"investigated": true,
"anomalyExpiresAt": null,
"wormholesDetected": 0,
"isRead": true,
"createdAt": "2026-08-26T07:39:20.640Z",
"requiresDeadPlanetOrigin": false,
"systemName": "G45-5",
"systemX": 67.55026,
"systemY": 107.01705,
"isSaved": false
}
],
"unreadCount": 0,
"restedStatus": {
"charges": 8,
"maxCharges": 20,
"bonusMultiplier": 2,
"nextChargeAt": "2026-08-26T19:04:06.309Z"
}
}
Notes
- Confirmed from the
SurveyReportmodel. - This endpoint exposes loot, anomaly state, combat details, and follow-up timers in a single feed.
Live Verification
- Verified 2026-08-26 on
s0:GET /api/fleet/survey-reports->200. - Example above is a real response with every array truncated to its first item.
- Live array sizes at capture time:
reports=16,reports[].combatLog.attackerFleet=2,reports[].combatLog.defenderFleet=4,reports[].combatLog.defenderLosses=4,reports[].combatLog.pirateFleet=4,reports[].combatLog.rounds=4,reports[].combatLog.rounds[].events=2,reports[].combatLog.rounds[].events[].shipsDestroyed=3. reports[].uncollectedLootisnullonce the loot has been collected.