Vulny

API-documentatie

Met de Vulny REST API kunt u programmatisch beveiligingsscans uitvoeren en uw doelwitten beheren. Beschikbaar in de Pro- en Corporate-abonnementen (en tijdens uw gratis proefperiode). Genereer een sleutel in Instellingen → API. Voor kant-en-klare CI/CD-pipelines, zie DevSecOps-pipeline.

Authenticatie

Stuur uw API-sleutel als bearer-token of in de X-API-Key-header:

curl https://vulny.app/api/v1/targets \
  -H "Authorization: Bearer vlny_your_key"

Rate limits

120 verzoeken per minuut per sleutel. Elke respons bevat de headers X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset. Bij overschrijding van de limiet wordt 429 geretourneerd met een Retry-After-header.

Een scan starten

POST /api/v1/scans — start een on-demand scan op een doelwit (toegevoegd aan uw account indien nieuw). Retourneert een scan-id om te pollen.

curl -X POST https://vulny.app/api/v1/scans \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"target":"example.com"}'

# → { "id": "...", "target": "example.com", "status": "queued" }

Scanstatus & resultaten

GET /api/v1/scans/{id} — poll tot done true is. Retourneert een ernst-summary en de lijst met findings — gebruik ze om een CI-pipeline te laten slagen of falen.

curl https://vulny.app/api/v1/scans/SCAN_ID \
  -H "Authorization: Bearer vlny_your_key"

# → { "status": "finished", "done": true, "progress": 100,
#     "summary": { "critical": 1, "high": 2, "medium": 0, "low": 3, "total": 6 },
#     "findings": [ { "severity": "critical", "title": "CVE-2024-...", "cvss_score": 9.8, "port": "443/tcp" } ] }

Zie DevSecOps-pipeline voor volledige GitLab CI- en GitHub Actions-voorbeelden die op de scan wachten en de build laten falen bij kritieke bevindingen.

Doelwitten toevoegen (bulk, tot 1000)

POST /api/v1/targets/bulk — accepteert domeinen of IP's, optioneel met tags. Houdt rekening met de doelwitlimiet van uw abonnement.

curl -X POST https://vulny.app/api/v1/targets/bulk \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"targets":["example.com","203.0.113.10",{"value":"api.example.com","tags":["prod"]}]}'

Doelwitten verwijderen (bulk)

DELETE /api/v1/targets/bulk — op ID's of op waarden (IP's / hostnamen).

curl -X DELETE https://vulny.app/api/v1/targets/bulk \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"values":["example.com","203.0.113.10"]}'

Tags bijwerken (bulk)

PATCH /api/v1/targets/tags — stel tags in, voeg ze toe of verwijder ze op veel doelwitten tegelijk (mode: set | add | remove).

curl -X PATCH https://vulny.app/api/v1/targets/tags \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"values":["example.com"],"tags":["pci","prod"],"mode":"add"}'

OpenAPI-specificatie

De volledige machineleesbare specificatie is beschikbaar op /api/v1/openapi.json — importeer deze in Postman, Insomnia of uw codegenerator.

Zie het op uw eigen site

Voer één scan uit voor beveiliging, SEO en AI-search (GEO) — en ontvang een PDF-rapport met je eigen merk, klaar voor ISO 27001.

Scan mijn site →