/api/fleet/reports/{id}
/api/fleet/reports/{id}
Returns full detail for one combat report.
Method
GET
Response Structure
{
"report": {
"id": 27525,
"missionId": 3959505,
"attackerId": 428,
"defenderId": 2366,
"planetId": 70856,
"moonId": null,
"attackerFleet": [
{
"key": "cruiser",
"name": "Cruiser",
"quantity": 790,
"shipDefId": 8
}
],
"defenderFleet": [
{
"key": "missile_cruiser",
"name": "Missile Cruiser",
"quantity": 164,
"shipDefId": 12
}
],
"defenderDefenses": {
"aaTurret": 0,
"garrison": 1,
"planetName": "Coruscant",
"ewReduction": 0,
"attackerName": "Verrok",
"attackerTech": {
"race": "terran",
"hpBonus": 0.09999999999999999,
"attackBonus": 0.01,
"damageReduction": 0.06,
"carrierHangarLevel": 0
},
"defenderName": "Joker",
"defenderTech": {
"race": "terran",
"hpBonus": 0.2,
"attackBonus": 0.01,
"damageReduction": 0.1,
"carrierHangarLevel": 0
},
"defenseTraps": 0,
"defenseDamage": [
{
"key": "railgun_defense",
"name": "Railgun Defense System",
"damageAdded": 60
}
],
"participantSide": "attacker",
"shieldGenerator": 1,
"storageCloaking": 3,
"planetaryDefense": [
{
"hp": 6080,
"key": "railgun_defense",
"name": "Railgun Defense System",
"attack": 15,
"quantity": 20
}
],
"attackerRetreated": false,
"defenderRetreated": false,
"pvpEconomicDamage": {
"damaged": {
"key": "alloy_foundry",
"name": "Alloy Foundry",
"damagePercent": 70
}
},
"participantBreakdown": [
{
"race": "terran",
"side": "attacker",
"tech": {
"hpBonus": 0.09999999999999999,
"attackBonus": 0.01,
"damageReduction": 0.06,
"carrierHangarLevel": 0
},
"fleet": [
{
"key": "cruiser",
"name": "Cruiser",
"quantity": 590,
"shipDefId": 8
}
],
"losses": [
{
"key": "transport_shuttle",
"lost": 19,
"name": "Transport Shuttle",
"shipDefId": 22
}
],
"userId": 428,
"username": "Verrok",
"totalDamageDealt": 163765,
"avatarUrl": "/images/avatars/explorer_3.webp",
"portraitFrame": null
}
],
"shieldReinforcedUntil": "2026-07-07T11:57:37.545Z",
"planetaryDefenseDamage": [
{
"key": "railgun_defense",
"name": "Railgun Defense System",
"level": 5,
"damagePercent": 60,
"strengthPercent": 40
}
],
"shieldReinforcedAfterCombat": true
},
"rounds": [
{
"round": 1,
"events": [
{
"side": "attacker",
"totalDamage": 70441,
"damageByPlayer": {
"428": 43817,
"5587": 19672
},
"shieldAbsorbed": 100,
"shipsDestroyed": [
{
"key": "missile_defense",
"lost": 15,
"name": "Missile Defense System"
}
]
}
],
"attackerHpPercent": 99,
"defenderHpPercent": 74
}
],
"outcome": "attacker_won",
"attackerLosses": [
{
"key": "transport_shuttle",
"lost": 19,
"name": "Transport Shuttle",
"damaged": 11,
"destroyed": 8,
"shipDefId": 22
}
],
"defenderLosses": [
{
"key": "missile_defense",
"lost": 15,
"name": "Missile Defense System",
"damaged": 9,
"destroyed": 6,
"shipDefId": -455914
}
],
"lootStolen": {
"ore": 3020,
"alloys": 2713,
"cryo_ice": 0,
"hydrogen": 3695,
"silicates": 1068,
"bio_extract": 0,
"dark_matter": 0,
"plasma_core": 0,
"quantum_dust": 0
},
"debrisField": {
"ore": 64320,
"alloys": 8040,
"silicates": 32040
},
"shieldDamage": 400.00006,
"garrisonParticipantIds": [
428
],
"outpostId": null,
"outpostDamage": 0,
"outpostCaptured": false,
"outpostDestroyed": false,
"isRead": true,
"createdAt": "2026-07-06T11:57:37.498Z",
"attackerProfile": {
"userId": 428,
"username": "Verrok",
"avatarUrl": "/images/avatars/explorer_3.webp",
"portraitFrame": null
},
"defenderProfile": {
"userId": 2366,
"username": "Joker",
"avatarUrl": "/images/avatars/explorer_3.webp",
"portraitFrame": "/images/frames/founder.png"
},
"currentUserBattleSide": "attacker",
"isSaved": true
}
}
Notes
- Referenced by addon PvP processor to enrich list items.
- Live detail fetch depends on at least one available report ID.
Live Verification
- Verified 2026-08-26 on
s0:GET /api/fleet/reports/27525->200. - Example above is a real response with every array truncated to its first item.
- Live array sizes at capture time:
report.attackerFleet=5,report.defenderDefenses.defenseDamage=2,report.defenderDefenses.participantBreakdown=2,report.defenderDefenses.participantBreakdown[].fleet=3,report.defenderDefenses.planetaryDefense=2,report.defenderDefenses.planetaryDefenseDamage=2,report.defenderLosses=3,report.garrisonParticipantIds=2,report.rounds=4,report.rounds[].events=2,report.rounds[].events[].shipsDestroyed=2.