Skip to main content

GET /api/http-records, List HTTP Records

Returns paginated HTTP request/response records stored in the database. Response and request bodies are excluded from list responses for performance. Query parameters:
min_surface and min_risk answer different questions. surface_score is the percentage of a 17-signal attack-surface set present on the record itself, so it is reproducible - the same record scores the same on every scan. risk_score is a rank-within-batch percentile, so it depends on what was flushed alongside it. Use min_surface to shortlist what is worth attacking, min_risk to find what is unusual. See Surface score vs risk score.Scores written before v0.4.6 used a different scale and are not comparable to new ones.
Note: When the server is started with --burp-bridge-url (alias --caido-bridge-url, see Running the Server), live Burp or Caido proxy history rows are merged into this endpoint’s results before sorting and pagination. Live rows are labelled source: burp or source: caido depending on which listener answered — filter to just those live rows with ?source=burp / ?source=caido. The response carries X-Vigolium-Bridge-Source naming the vendor. No separate public bridge endpoint is required.
Note: The fields raw_request, raw_response, request_body, response_body, request_headers, and response_headers are excluded from list responses for performance. Use GET /api/http-records/:uuid to access the full record including headers and bodies. Fields with empty values (e.g. request_content_type, parameters, remarks) are omitted from the JSON response.

Redirect lineage (v0.4.9)

Four fields describe where a record sits in a followed redirect chain:
A redirected record now pairs the request with the response that answered it. Before v0.4.9 the original request was filed against the final response, so the destination’s body, technology and findings landed under the target’s own URL — and an out-of-scope destination was scanned under an in-scope name.Stored chains collapse canonical hops — scheme upgrade, trailing slash, www., default port — into their destination row, and cap at 4 rows with both ends kept; chain_truncated marks the ones that hit the cap. response_time_ms is now omitted rather than reported as 0 for rows that were never timed (redirect hops, records rebuilt from stored bytes).Chains also stop at a login/SSO wall under every --redirect-mode, recording the 3xx rather than the wall behind it. See Host scope.

GET /api/http-records/:uuid, Get HTTP Record Detail

Returns a single HTTP record by UUID, including full blob fields (raw_request, raw_response, request_body, response_body).
Error responses:

DELETE /api/http-records/:uuid, Delete HTTP Record

Deletes a single HTTP record by UUID. Associated finding_records junction rows are also removed.
Response: