Notra Docs
Notra Docs

API Reference

Every endpoint under /api/v1.

All endpoints are under /api/v1 and require the Authorization: Bearer header described in Authentication.

Endpoints

MethodPathDescription
GET/api/v1/scansList your org's scan history.
POST/api/v1/scansStart an audit. Body: { url, depth? }
GET/api/v1/scans/:idStatus, findings count, severity breakdown.
GET/api/v1/scans/:id/findingsVerified findings for a completed scan.
GET/api/v1/scans/:id/reportThe full HTML report.
GET/api/v1/scans/:id/gatePass/fail against a severity threshold — see CI/CD.

Start an audit

curl -X POST https://your-notra-domain/api/v1/scans \
  -H "Authorization: Bearer notra_live_..." \
  -H "content-type: application/json" \
  -d '{"url": "example.com", "depth": "standard"}'

# 201 { "runId": "...", "host": "example.com" }

depth is standard (default) or deep — deep adds authenticated and chained-exploit checks, and needs a Deep entitlement. Same authorization gate as every other scan: the domain must already be verified for your org, or the request gets a 403 with needsOwnership: true.

Check status and pull results

curl https://your-notra-domain/api/v1/scans/RUN_ID \
  -H "Authorization: Bearer notra_live_..."

curl https://your-notra-domain/api/v1/scans/RUN_ID/findings \
  -H "Authorization: Bearer notra_live_..."

List recent scans

curl https://your-notra-domain/api/v1/scans \
  -H "Authorization: Bearer notra_live_..."

Errors

StatusMeaning
400Malformed request — bad URL, invalid depth, invalid query param.
401Missing, invalid, or revoked API key.
402Out of scan credit — response includes checkoutHint.
403Plan doesn't include API access, or the domain isn't authorized (needsOwnership: true).
404Scan doesn't exist, or belongs to another org.
429Rate limit — response includes retry-after.

See Errors for the full picture across every endpoint.

On this page