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.
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.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Perfai Security","colors":{"primary":"#ff56c9","light":"#ff9fde","dark":"#c93aa1"},"logo":{"light":"https://mintcdn.com/perfai/rTwm4ELrRh_6V5IS/logo/perfai-logo-light.png?fit=max\u0026auto=format\u0026n=rTwm4ELrRh_6V5IS\u0026q=85\u0026s=3def10cdef84b39c43037fec38395427","dark":"https://mintcdn.com/perfai/rTwm4ELrRh_6V5IS/logo/perfai-logo-pink.png?fit=max\u0026auto=format\u0026n=rTwm4ELrRh_6V5IS\u0026q=85\u0026s=328b75a61f5972d17bf41fd269cac7f1"},"favicon":"https://mintcdn.com/perfai/rTwm4ELrRh_6V5IS/favicon.svg?fit=max\u0026auto=format\u0026n=rTwm4ELrRh_6V5IS\u0026q=85\u0026s=2a9cfa43dd799782a41bd8691a8dce08","appearance":{"default":"dark","strict":true},"navbar":{"links":[{"href":"https://cloud.perfai.ai","label":"Dashboard"}],"primary":{"type":"button","label":"Get Started Free","href":"https://cloud.perfai.ai/signup"}},"footer":{"socials":{"x":"https://x.com/perfai_security","github":"https://github.com/PerfAI-Inc","linkedin":"https://linkedin.com/company/perfai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://cloud.perfai.ai"},{"anchor":"Website","icon":"globe","href":"https://perfai.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"perfai","hasAudioNarration":false,"actualSubdomain":"perfai","customDomains":["docs.perfai.ai"],"gitSource":{"type":"github","owner":"perfai-inc","repo":"public-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"98a24eb1-ba2b-4ce9-9fc0-2760cb1fea26","liveDeploymentHistoryId":"6ae0588e0c6a21c62ee242f4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0588e0c6a21c62ee242f4"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae0588e0c6a21c62ee242f4","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Core Concepts","count":48},{"language":"default","tag":"API","count":17},{"language":"default","tag":"AI Agents","count":17},{"language":"default","tag":"Reference","count":15},{"language":"default","tag":"Apps","count":6},{"language":"default","tag":"Reports","count":2},{"language":"default","tag":"Getting Started","count":2},{"language":"default","tag":"Changelog","count":1},{"language":"default","tag":"Hybrid Deployment","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".docs-frame-img{display:block!important;width:100%!important;height:auto!important}"}],"page":{"pagePath":"api-reference/vulnerabilities/reopen-vulnerability","slug":"/api-reference/vulnerabilities/reopen-vulnerability","pageMetadata":{"title":"Reopen vulnerability","description":"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vulnerabilities/{vulnerabilityId}/reopen","href":"/api-reference/vulnerabilities/reopen-vulnerability","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Reopen vulnerability","description":"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vulnerabilities/{vulnerabilityId}/reopen","href":"/api-reference/vulnerabilities/reopen-vulnerability","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Vulnerabilities"],"operationId":"reopenVulnerability","summary":"Reopen vulnerability","description":"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\n","parameters":["2a3e0afd-4203-47cd-b49c-6b79d0014973"],"responses":{"200":"fd11702a-713a-41b9-8b64-13589e0ffca1","400":"0c90d80b-3f8c-4df3-a960-ce48f8abc6a6","401":"e2469974-138a-40a2-893a-75c0f1c529a8","403":"26817eb4-1a18-4767-9cd1-66cf39032789","404":"7bc3e233-3a7e-43f7-8ba1-1fa09bf45180","429":"052e7070-1427-44c3-abeb-64b80267e344"},"method":"post","type":"path","servers":["0d9567ed-83da-4d4a-8f66-24c2c310e39e","f6b1966e-37d4-4d2f-b6f4-5a3061f5bebb"],"security":["b23a3729-6dbc-496a-bec4-227020cc8717"],"path":"/vulnerabilities/{vulnerabilityId}/reopen","baseUrlOptions":["https://api.perfai.ai/v1","https://api.{customerDomain}/v1"],"title":"Reopen vulnerability","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2a3e0afd-4203-47cd-b49c-6b79d0014973":{"name":"vulnerabilityId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"MongoDB ObjectId of the finding — the `id` of an item from GET /apps/{appId}/vulnerabilities.\n","uniqueKey":"","typeLabel":"string"},"description":"MongoDB ObjectId of the finding — the `id` of an item from GET /apps/{appId}/vulnerabilities.\n"}},"responses":{"fd11702a-713a-41b9-8b64-13589e0ffca1":{"description":"Finding reopened.","content":{"application/json":{"schema":{"type":"object","required":["status","vulnerability"],"properties":{"status":{"type":"string","enum":["DISMISSED","FIX_CLAIMED","OPEN"],"description":"State of the finding after the action.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"vulnerability":{"type":"object","description":"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.\n","properties":{"id":{"type":"string","description":"Finding identifier. Always present.","uniqueKey":"vulnerability.id","typeLabel":"string"},"label":{"type":"string","description":"Canonical finding name from the security-category registry. Always present.","uniqueKey":"vulnerability.label","typeLabel":"string"},"title":{"type":"string","uniqueKey":"vulnerability.title","typeLabel":"string"},"severity":{"type":"string","enum":["Critical","High","Medium","Low"],"description":"Always present.","uniqueKey":"vulnerability.severity","typeLabel":"enum\u003cstring>"},"path":{"type":"string","description":"API path where the issue was found. Always present.","uniqueKey":"vulnerability.path","typeLabel":"string"},"method":{"type":"string","description":"HTTP method of the affected endpoint. Always present.","uniqueKey":"vulnerability.method","typeLabel":"string"},"uiPath":{"type":"string","description":"UI route the finding was reproduced through.","uniqueKey":"vulnerability.uiPath","typeLabel":"string"},"updated_severity":{"type":"string","description":"Severity after a manual override.","uniqueKey":"vulnerability.updated_severity","typeLabel":"string"},"impact":{"type":"string","description":"Business and security impact summary.","uniqueKey":"vulnerability.impact","typeLabel":"string"},"issueType":{"type":"string","description":"security or privacy.","uniqueKey":"vulnerability.issueType","typeLabel":"string"},"action":{"type":"string","description":"Action classification the scanner assigned.","uniqueKey":"vulnerability.action","typeLabel":"string"},"intent":{"type":"string","description":"Intended request behaviour the test exercised.","uniqueKey":"vulnerability.intent","typeLabel":"string"},"owasp":{"type":"string","description":"OWASP API Security Top 10 reference (e.g. API1:2023).","uniqueKey":"vulnerability.owasp","typeLabel":"string"},"cwe":{"type":"string","description":"CWE identifier (e.g. CWE-639).","uniqueKey":"vulnerability.cwe","typeLabel":"string"},"cvss_score":{"type":"number","description":"CVSS v3 base score (0.0-10.0).","uniqueKey":"vulnerability.cvss_score","typeLabel":"number"},"cvss_vector":{"type":"string","description":"CVSS v3 vector string.","uniqueKey":"vulnerability.cvss_vector","typeLabel":"string"},"isPII":{"type":"boolean","uniqueKey":"vulnerability.isPII","typeLabel":"boolean"},"isPCI":{"type":"boolean","uniqueKey":"vulnerability.isPCI","typeLabel":"boolean"},"isHIPAA":{"type":"boolean","uniqueKey":"vulnerability.isHIPAA","typeLabel":"boolean"},"explainer":{"type":"string","description":"Technical explanation of the vulnerability.","uniqueKey":"vulnerability.explainer","typeLabel":"string"},"remediation":{"type":"string","description":"Recommended fix.","uniqueKey":"vulnerability.remediation","typeLabel":"string"},"additionalDetails":{"type":"object","additionalProperties":true,"description":"Deep-dive analysis when available: description, StepsToReproduce, impact_analysis, mitigation, long_solution, references, conclusion, copilot_prompt, workingExamples. Which keys are present varies by finding.\n","uniqueKey":"vulnerability.additionalDetails","typeLabel":"object"},"request":{"type":"string","description":"cURL reproducer for the authenticated request.","uniqueKey":"vulnerability.request","typeLabel":"string"},"response":{"type":"object","description":"Response body observed for the authenticated request.","uniqueKey":"vulnerability.response","typeLabel":"object"},"unsecureRequest":{"type":"string","description":"cURL reproducer for the same call made without authentication.","uniqueKey":"vulnerability.unsecureRequest","typeLabel":"string"},"unsecuredResponse":{"type":"object","description":"Response body observed for the unauthenticated request.","uniqueKey":"vulnerability.unsecuredResponse","typeLabel":"object"},"requestSchema":{"type":"object","description":"JSON Schema of the request body.","uniqueKey":"vulnerability.requestSchema","typeLabel":"object"},"responseSchema":{"type":"object","description":"JSON Schema of the response body.","uniqueKey":"vulnerability.responseSchema","typeLabel":"object"},"fields":{"type":"array","items":{"type":"object","uniqueKey":"vulnerability.fields.items.[INDEX]","typeLabel":"object"},"description":"Affected or sensitive fields, each with a name, data type and location.","uniqueKey":"vulnerability.fields","typeLabel":"object[]"},"isFixed":{"type":"boolean","description":"Set by the platform once a previously-reported finding stops being detected by a later test. Not settable by callers.\n","uniqueKey":"vulnerability.isFixed","typeLabel":"boolean"},"isDismissed":{"type":"boolean","uniqueKey":"vulnerability.isDismissed","typeLabel":"boolean"},"fixClaimed":{"type":"boolean","description":"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.\n","uniqueKey":"vulnerability.fixClaimed","typeLabel":"boolean"},"fixClaimedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"vulnerability.fixClaimedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"vulnerability.fixClaimedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"vulnerability.fixClaimedAt","typeLabel":"string\u003cdate-time> | null"},"fixClaimedByEmail":{"oneOf":[{"type":"string","uniqueKey":"vulnerability.fixClaimedByEmail.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"vulnerability.fixClaimedByEmail.oneOf.1","typeLabel":"null"}],"uniqueKey":"vulnerability.fixClaimedByEmail","typeLabel":"string | null"},"fixComment":{"oneOf":[{"type":"string","uniqueKey":"vulnerability.fixComment.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"vulnerability.fixComment.oneOf.1","typeLabel":"null"}],"uniqueKey":"vulnerability.fixComment","typeLabel":"string | null"},"isCustomIssue":{"type":"boolean","description":"true for a manually created finding.","uniqueKey":"vulnerability.isCustomIssue","typeLabel":"boolean"},"created_on":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"vulnerability.created_on.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"vulnerability.created_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"vulnerability.created_on","typeLabel":"string\u003cdate-time> | null"},"updated_on":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"vulnerability.updated_on.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"vulnerability.updated_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"vulnerability.updated_on","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"vulnerability","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"DISMISSED","vulnerability":{"id":"\u003cstring>","label":"\u003cstring>","title":"\u003cstring>","severity":"Critical","path":"\u003cstring>","method":"\u003cstring>","uiPath":"\u003cstring>","updated_severity":"\u003cstring>","impact":"\u003cstring>","issueType":"\u003cstring>","action":"\u003cstring>","intent":"\u003cstring>","owasp":"\u003cstring>","cwe":"\u003cstring>","cvss_score":123,"cvss_vector":"\u003cstring>","isPII":true,"isPCI":true,"isHIPAA":true,"explainer":"\u003cstring>","remediation":"\u003cstring>","additionalDetails":{},"request":"\u003cstring>","response":{},"unsecureRequest":"\u003cstring>","unsecuredResponse":{},"requestSchema":{},"responseSchema":{},"fields":[{}],"isFixed":true,"isDismissed":true,"fixClaimed":true,"fixClaimedAt":"2023-11-07T05:31:56Z","fixClaimedByEmail":"\u003cstring>","fixComment":"\u003cstring>","isCustomIssue":true,"created_on":"2023-11-07T05:31:56Z","updated_on":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0c90d80b-3f8c-4df3-a960-ce48f8abc6a6":{"description":"Finding is already open.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"e2469974-138a-40a2-893a-75c0f1c529a8":{"description":"Missing or expired JWT.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"26817eb4-1a18-4767-9cd1-66cf39032789":{"description":"Caller has the Viewer role and cannot modify findings.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"7bc3e233-3a7e-43f7-8ba1-1fa09bf45180":{"description":"Resource not found or belongs to a different tenant.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details.","properties":{"type":{"type":"string","description":"Error type URI, e.g. https://perfai.ai/errors/app-already-registered","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"052e7070-1427-44c3-abeb-64b80267e344":{"description":"Rate limit exceeded. Back off and retry after the Retry-After header value.","headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"b23a3729-6dbc-496a-bec4-227020cc8717":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"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.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"0d9567ed-83da-4d4a-8f66-24c2c310e39e":{"url":"https://api.perfai.ai/v1","description":"Perfai cloud"},"f6b1966e-37d4-4d2f-b6f4-5a3061f5bebb":{"url":"https://api.{customerDomain}/v1","description":"On-premise deployment","variables":{"customerDomain":{"default":"example.com"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"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.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"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.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"perfai","siteName":"Perfai Security","title":"Reopen vulnerability - Perfai Security","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T13:24:38.958Z","originalFileLocation":"api-reference/vulnerabilities/reopen-vulnerability.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Perfai Security\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Reopen vulnerability - Perfai Security\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Perfai Security\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://perfai.mintlify.app/_mintlify/api/og/v2?division=Reference\u0026amp;title=Reopen+vulnerability\u0026amp;description=Returns+a+finding+to+the+open+list.+Undoes+a+dismissal+or+a+fix+claim+%E2%80%94+whichever+state+the+finding+is+in.%0A\u0026amp;theme=0b2278042ba83ad617564bbf\u0026amp;signature=310a33274a83bb8e02629240cf59cfff04387d4651f6ad91197efd7d760ee1b7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Reopen vulnerability - Perfai Security\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://perfai.mintlify.app/_mintlify/api/og/v2?division=Reference\u0026amp;title=Reopen+vulnerability\u0026amp;description=Returns+a+finding+to+the+open+list.+Undoes+a+dismissal+or+a+fix+claim+%E2%80%94+whichever+state+the+finding+is+in.%0A\u0026amp;theme=0b2278042ba83ad617564bbf\u0026amp;signature=310a33274a83bb8e02629240cf59cfff04387d4651f6ad91197efd7d760ee1b7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/perfai/O3_pF7bfPTnfLXzH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Perfai Security\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff56c9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/vulnerabilities/reopen-vulnerability.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.perfai.ai/#organization\",\"name\":\"Perfai Security\",\"url\":\"https://docs.perfai.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/perfai/rTwm4ELrRh_6V5IS/logo/perfai-logo-light.png?fit=max\u0026auto=format\u0026n=rTwm4ELrRh_6V5IS\u0026q=85\u0026s=3def10cdef84b39c43037fec38395427\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.perfai.ai#website\",\"name\":\"Perfai Security\",\"url\":\"https://docs.perfai.ai\",\"publisher\":{\"@id\":\"https://docs.perfai.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability#webpage\",\"url\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability\",\"name\":\"Reopen vulnerability\",\"description\":\"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\",\"dateModified\":\"2026-10-23T13:24:38.958Z\",\"isPartOf\":{\"@id\":\"https://docs.perfai.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core Concepts\",\"item\":\"https://docs.perfai.ai/docs/core-concepts/apps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https://docs.perfai.ai/docs/api/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Reference\",\"item\":\"https://docs.perfai.ai/api-reference/apps/list-apps\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Reopen vulnerability\",\"item\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability#apireference\",\"headline\":\"Reopen vulnerability\",\"name\":\"Reopen vulnerability\",\"description\":\"Returns a finding to the open list. Undoes a dismissal or a fix claim — whichever state the finding is in.\",\"url\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability\",\"mainEntityOfPage\":{\"@id\":\"https://docs.perfai.ai/api-reference/vulnerabilities/reopen-vulnerability#webpage\"},\"dateModified\":\"2026-10-23T13:24:38.958Z\",\"publisher\":{\"@id\":\"https://docs.perfai.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.perfai.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Perfai Security\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Perfai Security","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://cloud.perfai.ai"},{"anchor":"Website","icon":"globe","href":"https://perfai.ai"}]},"pages":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/docs/introduction"},{"title":"Quickstart","href":"/docs/quickstart"}]},{"group":"Core Concepts","pages":[{"group":"Apps","pages":[{"title":"Apps","href":"/docs/core-concepts/apps"},{"title":"What Perfai scans","href":"/docs/core-concepts/what-perfai-scans"},{"title":"Bring Your Own Accounts","href":"/docs/use-cases/bring-your-own-accounts"},{"title":"Apps Without Public Sign-Up","href":"/docs/use-cases/private-signup-apps"},{"title":"Internal App Support","href":"/docs/use-cases/internal-app-support"},{"title":"Managing an App","href":"/docs/use-cases/managing-an-app"}]},{"title":"Insights","href":"/docs/core-concepts/insights"},{"title":"Issues","href":"/docs/core-concepts/issues"},{"group":"Reports","pages":[{"title":"Reports","href":"/docs/core-concepts/reports"},{"title":"Sample Security Report","href":"/docs/sample-security-report"}]},{"title":"Integrations","href":"/docs/core-concepts/integrations"},{"group":"AI Agents","pages":[{"title":"Perfai Cloud MCP Server","href":"/docs/mcp/overview"},{"title":"Claude Code","href":"/docs/mcp/claude-code"},{"title":"Claude","href":"/docs/mcp/claude"},{"title":"Cursor","href":"/docs/mcp/cursor"},{"title":"Replit","href":"/docs/mcp/replit"},{"title":"Lovable","href":"/docs/mcp/lovable"},{"title":"Bolt","href":"/docs/mcp/bolt"},{"title":"IBM Bob","href":"/docs/mcp/bob"},{"title":"VS Code (Copilot Agent Mode)","href":"/docs/mcp/vscode"},{"title":"Windsurf","href":"/docs/mcp/windsurf"},{"title":"Postman","href":"/docs/mcp/postman"},{"title":"Zed","href":"/docs/mcp/zed"},{"title":"AWS Kiro","href":"/docs/mcp/aws-kiro"},{"title":"Cline","href":"/docs/mcp/cline"},{"title":"LM Studio","href":"/docs/mcp/lm-studio"},{"title":"Continue.dev","href":"/docs/mcp/continue-dev"},{"title":"Generic MCP client","href":"/docs/mcp/generic"}]},{"group":"API","pages":[{"title":"Overview","href":"/docs/api/overview"},{"title":"Guide","href":"/docs/api/api-reference"},{"group":"Reference","pages":[{"title":"List apps","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /apps","href":"/api-reference/apps/list-apps"},{"title":"Register app","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /apps","href":"/api-reference/apps/register-app"},{"title":"Get app (poll registration)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /apps/{appId}","href":"/api-reference/apps/get-app-poll-registration"},{"title":"Delete app","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /apps/{appId}","href":"/api-reference/apps/delete-app"},{"title":"Run Account Setup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /apps/{appId}/account-setup","href":"/api-reference/apps/run-account-setup"},{"title":"Run Vision Agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /apps/{appId}/vision-agent","href":"/api-reference/vision-agent/run-vision-agent"},{"title":"Run Security Agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /apps/{appId}/security-agent","href":"/api-reference/security-agent/run-security-agent"},{"title":"Get task status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /tasks/{taskId}","href":"/api-reference/tasks/get-task-status"},{"title":"Get vulnerabilities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /apps/{appId}/vulnerabilities","href":"/api-reference/vulnerabilities/get-vulnerabilities"},{"title":"Get vulnerability","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /vulnerabilities/{vulnerabilityId}","href":"/api-reference/vulnerabilities/get-vulnerability"},{"title":"Dismiss vulnerability","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vulnerabilities/{vulnerabilityId}/dismiss","href":"/api-reference/vulnerabilities/dismiss-vulnerability"},{"title":"Mark vulnerability fixed","description":"Records that you have fixed the finding. This is a claim pending verification, not a verified result: if the next security test still detects the finding, the claim is dropped and the finding stays open. Reported separately from isFixed, which the platform sets on its own once a finding stops being detected.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vulnerabilities/{vulnerabilityId}/fix","href":"/api-reference/vulnerabilities/mark-vulnerability-fixed"},{"title":"Reopen vulnerability","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /vulnerabilities/{vulnerabilityId}/reopen","href":"/api-reference/vulnerabilities/reopen-vulnerability"},{"title":"Get reports","description":"Lists the security reports generated for the app, newest first. Each item carries a downloadUrl for fetching the PDF. Security reports are a paid feature — a free-tier (trial) organization receives 402.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /apps/{appId}/reports","href":"/api-reference/reports/get-reports"},{"title":"Download report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /reports/{reportId}","href":"/api-reference/reports/download-report"}]}]},{"title":"Users","href":"/docs/core-concepts/users"},{"title":"Settings","href":"/docs/core-concepts/settings"},{"title":"Plans \u0026 Limits","href":"/docs/plans-and-limits"}]},{"group":"Hybrid Deployment","pages":[{"title":"Private Agents","href":"/docs/private-agents"}]},{"group":"Changelog","pages":[{"title":"Changelog","href":"/docs/changelog"}]}]},"title":"Reopen vulnerability - Perfai Security","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-R3M_BF4L.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}