Get vulnerability
Returns a single security finding by id, scoped to your organization. Full finding detail is a paid feature — a free-tier (trial) organization receives 402.
Authorizations
JWT login token tied to your Perfai user (not a separate API key). Obtain it via POST /api/v1/auth/token with your username and password (use the returned id_token) — the same login the web console performs. Carries org, user, and role; short-lived.
Path Parameters
MongoDB ObjectId of the finding — the id of an item from GET /apps/{appId}/vulnerabilities.
Response
The finding.
A security finding, projected onto the public contract — internal test plumbing (token, decodedKey, errors, buildDetails) is never emitted. This is the same detail the Perfai dashboard shows a user. Only id, label, severity, path and method are present on every finding; every other field is conditional and omitted when the scan produced no value for it.
Finding identifier. Always present.
Canonical finding name from the security-category registry. Always present.
Always present.
Critical, High, Medium, Low API path where the issue was found. Always present.
HTTP method of the affected endpoint. Always present.
UI route the finding was reproduced through.
Severity after a manual override.
Business and security impact summary.
security or privacy.
Action classification the scanner assigned.
Intended request behaviour the test exercised.
OWASP API Security Top 10 reference (e.g. API1:2023).
CWE identifier (e.g. CWE-639).
CVSS v3 base score (0.0-10.0).
CVSS v3 vector string.
Technical explanation of the vulnerability.
Recommended fix.
Deep-dive analysis when available: description, StepsToReproduce, impact_analysis, mitigation, long_solution, references, conclusion, copilot_prompt, workingExamples. Which keys are present varies by finding.
cURL reproducer for the authenticated request.
Response body observed for the authenticated request.
cURL reproducer for the same call made without authentication.
Response body observed for the unauthenticated request.
JSON Schema of the request body.
JSON Schema of the response body.
Affected or sensitive fields, each with a name, data type and location.
Set by the platform once a previously-reported finding stops being detected by a later test. Not settable by callers.
Someone asserted this finding is fixed — a claim pending verification, distinct from isFixed. If the next test still detects the finding, the claim is dropped and the finding stays open.
true for a manually created finding.

