Asteroids
An asteroid is a system object like any other location. The interesting ones are on a collision course with a populated body - divert them in time and you'll be thanked for it.
Endpoint
GET /v1/locations/{code}
Asteroids are system objects (see locations for the wider model). Scan a system and any inbound asteroids show up alongside planets, moons and belts.
Example
$ curl https://api.replicant.space/v1/locations/HAGAN-OBJ-1 \
-H "Authorization: Bearer $API_KEY" {
"code": "HAGAN-OBJ-1",
"type": "asteroid",
"system": "HAGAN",
"mass_tonnes": 4.2e9,
"trajectory": {
"target": "HAGAN-3",
"target_population": "intelligent",
"impact_eta": "2026-05-18T14:22:00+00:00",
"delta_v_required_ms": 0.42
},
"diversion": {
"propulsors_required": 6,
"propulsors_deployed": 0,
"status": "open"
},
"devices": [],
"inventory": []
} Diversion
If trajectory.target is set, the asteroid is on an impact course. diversion.propulsors_required tells you how many propulsors you need to deflect it - this scales with the asteroid's mass and how close impact_eta is. A late discovery needs many propulsors; a calmly-spotted one needs few.
Print propulsors from your blueprint library, send them to the asteroid location, and activate them via POST /v1/devices/{code}. Once propulsors_deployed meets the requirement and all of them fire, the trajectory updates and diversion.status moves to diverted.
Rewards
A successful diversion unlocks a temporary mining bonus across the system - a thank-you from whoever was watching. If target_population is intelligent, you also earn reputation and civilisation points with the inhabitants of the target world.