Appearance
enrichment
6 endpoints at a glance
| Method | Path | Summary |
|---|---|---|
GET | /admin/enrichment/ | Enrichment Summary |
POST | /admin/enrichment/discover | Run Discovery |
POST | /admin/enrichment/discover-deep | Run Deep Discovery |
POST | /admin/enrichment/recover | Recover |
POST | /admin/enrichment/refresh | Force Refresh |
GET | /admin/enrichment/targets | List Targets |
enrichment
Enrichment Summary
List Targets
GET
/admin/enrichment/targets
Paginated ledger rows, newest-seen first. Optional type
(ip/asn/host) and status filters.
Parameters
Header Parameters
authorization
x-api-key
Query Parameters
type
status
limit
Type
integer
Default
100skip
Type
integer
Default
0Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Force Refresh
POST
/admin/enrichment/refresh
Make matching ledger rows due now (manual staleness bust).
Parameters
Header Parameters
authorization
x-api-key
Request Body
application/json
JSON "entity_id": "string", "type": "string", "hard": false
{
}
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Run Discovery
Run Deep Discovery
POST
/admin/enrichment/discover-deep
Run the phase-2 deep scan now (traceroute hop IPs + DNS A/AAAA
answers out of measurements_latest).
Bounded + incremental like the scheduled job — one tick processes
up to EnrichmentSettings.DEEP_SCAN_DOC_CAP new rows and
advances the watermark, so repeated clicks walk the backlog.
Off the event loop (heavier blocking Mongo work). The only
on-demand trigger when the scheduler is disabled (it otherwise
only runs via ENRICHMENT_DEEP_SCAN_CRON).
Parameters
Header Parameters
authorization
x-api-key
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}