VALTERSIT API
Base URL: /api/v1/ · Auth endpoints: /auth/
Don't want to sign up yet? This shared, free key always returns the same 10 fixed demonstration CVE records (never real data, never billed) — enough to see the exact response shape and wire up your integration before you commit to anything.
No filters needed — the sandbox key always returns the same 10 fixed records regardless
of query parameters. Try a single-record lookup too:
/api/v1/cve/CVE-2026-90001. Shared by everyone testing the API, so it has
its own modest rate limit — fine for exploring, not meant for production traffic. Same
endpoints, same response schema as real data; swap in a real key from the
dashboard when you're ready.
Get your API key from the dashboard, then fetch critical-severity Cisco CVEs. Three lines of code, any language.
Every response includes credits_remaining — no separate call needed to check
your balance after a request. Full parameter list and live "Try it out" console: see
/docs.
Two methods: API key (metered requests) or JWT Bearer (dashboard).
/auth/register
Register. Body: {email, password}
/auth/login
Log in. Body: {email, password}
/auth/refresh
Refresh access token (httpOnly cookie)
/auth/logout
Log out
/auth/me
Account information
Use an API key or JWT. Each request consumes credits based on records returned.
/api/v1/cve
CVE list with filters. At least one filter required.
vendor, severity, cvss_min, cvss_max,
epss_min, has_exploit, has_patch, changed_since,
published_since, limit (max 100), page
/api/v1/cve/{cve_id}
Single CVE record
/billing/status
Plan, credit balance, top-up options
/billing/checkout/subscription
Body: {plan: "standard"|"pro"}
/billing/checkout/topup
Body: {credits: 250|500|1000}
/billing/portal
Stripe billing portal URL
/keys
List my API keys
/keys
Create a new key. Body: {label?}
/keys/{id}
Delete a key
/keys/{id}
Rename a key. Body: {label?}
All responses: JSON. HTTP status codes:
200 | OK |
201 | Created |
401 | Not authenticated |
403 | Forbidden (insufficient credits/plan limit) |
422 | Validation error |
429 | Rate limit exceeded |