Close a finding (mark fixed or dismiss as not an issue)
Closes a finding from CI/CD or an agent: mark it ‘fixed’ or dismiss it as not an issue (‘dismissed’). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.
PATCH
/
api
/
v1
/
findings
/
{finding_id}
/
close
Close a finding (mark fixed or dismiss as not an issue)
Why the finding is being closed. Required for every close: recorded as the fix description when 'fixed' and as the dismissal rationale when 'dismissed'. Maximum 4000 characters.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Enoki Docs","description":"Security and safety testing for AI agents.","colors":{"primary":"#0F121A","light":"#F3F6E8","dark":"#0F121A"},"logo":{"light":"https://mintcdn.com/enoki-861e83a5/wytbpU7UfVc9mmSp/logo/light.svg?fit=max\u0026auto=format\u0026n=wytbpU7UfVc9mmSp\u0026q=85\u0026s=f611c233aaff582b2373aff2e0e21a40","dark":"https://mintcdn.com/enoki-861e83a5/wytbpU7UfVc9mmSp/logo/dark.svg?fit=max\u0026auto=format\u0026n=wytbpU7UfVc9mmSp\u0026q=85\u0026s=58c0a01b9ecf0447c9b3f050d5f828e0","href":"https://enokilabs.ai"},"favicon":"https://mintcdn.com/enoki-861e83a5/6T4h4W4crsrcNUEx/favicon.svg?fit=max\u0026auto=format\u0026n=6T4h4W4crsrcNUEx\u0026q=85\u0026s=c07da50da74ecba8f6c29de226c5691a","background":{"color":{"light":"#F3F6E8","dark":"#0F121A"}},"footer":{"socials":{"website":"https://enokilabs.ai"}},"fonts":{"family":"Geist"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"enoki-861e83a5","hasAudioNarration":false,"actualSubdomain":"enoki-861e83a5","customDomains":["docs.enokilabs.ai"],"gitSource":{"type":"github","owner":"ethicgate","repo":"ethicgate","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"a4b91925-c246-48d6-985e-f709097ec9ea","liveDeploymentHistoryId":"6ae072b9898aa086d1dccb6e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae072b9898aa086d1dccb6e"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae072b9898aa086d1dccb6e","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"REST API","count":16},{"language":"default","tag":"assessment","count":5},{"language":"default","tag":"Integrations","count":4},{"language":"default","tag":"target-profile","count":4},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"findings","count":3},{"language":"default","tag":"Connect","count":2},{"language":"default","tag":"MCP","count":2},{"language":"default","tag":"integration","count":2},{"language":"default","tag":"taxonomy","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":"code:not(pre code){background-color:rgba(15,18,26,.07)!important;color:#0f121a!important;border:1px solid rgba(15,18,26,.12);border-radius:.35rem;padding:.05rem .35rem;white-space:nowrap}.dark code:not(pre code){background-color:rgba(255,255,255,.1)!important;color:#f3f6e8!important;border-color:rgba(255,255,255,.14)}.callout{background-color:#fff!important;border-color:rgba(15,18,26,.1)!important}.callout,.callout *{color:#0f121a!important}.dark .callout{background-color:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}.dark .callout,.dark .callout *{color:#f3f6e8!important}"}],"page":{"pagePath":"api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue","slug":"/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue","pageMetadata":{"title":"Close a finding (mark fixed or dismiss as not an issue)","description":"Closes a finding from CI/CD or an agent: mark it 'fixed' or dismiss it as not an issue ('dismissed'). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/findings/{finding_id}/close","href":"/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue","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: \"Closes a finding from CI/CD or an agent: mark it ‘fixed’ or dismiss it as not an issue (‘dismissed’). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\"\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":"Close a finding (mark fixed or dismiss as not an issue)","description":"Closes a finding from CI/CD or an agent: mark it 'fixed' or dismiss it as not an issue ('dismissed'). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/findings/{finding_id}/close","href":"/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["findings"],"summary":"Close a finding (mark fixed or dismiss as not an issue)","description":"Closes a finding from CI/CD or an agent: mark it 'fixed' or dismiss it as not an issue ('dismissed'). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.","operationId":"api_close_finding_api_v1_findings__finding_id__close_patch","parameters":["7913985a-9d40-4272-9735-62c5bdbb50f1","b16bb8bd-97ce-4ece-9806-195680a816bd"],"requestBody":"7c57688b-535b-4cc6-a150-885913abddac","responses":{"200":"8463b92b-7110-42f8-8805-3ced86af9f2e","403":"011b2790-5118-4a5d-9155-d688a9cd575b","404":"6443afd7-8a5c-42b6-881a-f27de9569271","422":"cb9b447f-88ac-4e39-8a6c-b9f14b263388"},"method":"patch","type":"path","servers":["ecc94452-5a0c-4247-b9b2-b494520b154a"],"security":[],"path":"/api/v1/findings/{finding_id}/close","baseUrlOptions":["https://api.enokilabs.ai"],"title":"Close a finding (mark fixed or dismiss as not an issue)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"7913985a-9d40-4272-9735-62c5bdbb50f1":{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"b16bb8bd-97ce-4ece-9806-195680a816bd":{"name":"Authorization","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Authorization","description":"Bearer token with API key","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Authorization","description":"Bearer token with API key","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Bearer token with API key"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","enum":["fixed","dismissed"],"title":"Status","description":"Close action: 'fixed' (resolved) or 'dismissed' (not an issue).","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"explanation":{"type":"string","maxLength":4000,"minLength":1,"title":"Explanation","description":"Why the finding is being closed. Required for every close: recorded as the fix description when 'fixed' and as the dismissal rationale when 'dismissed'. Maximum 4000 characters.","isRequired":true,"uniqueKey":"explanation","typeLabel":"string"},"reason_code":{"oneOf":[{"type":"string","title":"Reason Code","description":"Dismissal category. Required when status is 'dismissed'; ignored otherwise. Allowed values: data_is_public, authenticated_users_only, working_as_designed, mitigated_elsewhere, accepted_risk, false_positive, other.","enum":["data_is_public","authenticated_users_only","working_as_designed","mitigated_elsewhere","accepted_risk","false_positive","other"],"uniqueKey":"reason_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Reason Code","description":"Dismissal category. Required when status is 'dismissed'; ignored otherwise. Allowed values: data_is_public, authenticated_users_only, working_as_designed, mitigated_elsewhere, accepted_risk, false_positive, other.","uniqueKey":"reason_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason_code","typeLabel":"enum\u003cstring> | null"}},"type":"object","required":["status","explanation"],"title":"ApiFindingCloseRequest","description":"Request body to close a finding.\n\nEvery close needs an explanation, and a dismissal also needs a reason code.","uniqueKey":"","typeLabel":"ApiFindingCloseRequest · object"},"examples":{"Example":{"title":"Example","value":{"explanation":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8463b92b-7110-42f8-8805-3ced86af9f2e":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"finding_id":{"type":"string","title":"Finding Id","isRequired":true,"uniqueKey":"finding_id","typeLabel":"string"},"lens":{"type":"string","enum":["security","safety","quality","policy"],"title":"Lens","description":"The kind of testing a finding came from.","isRequired":true,"uniqueKey":"lens","typeLabel":"enum\u003cstring>"},"category":{"type":"string","title":"Category","isRequired":true,"uniqueKey":"category","typeLabel":"string"},"severity":{"type":"string","enum":["critical","high","medium","low"],"title":"FindingSeverity","description":"Business-impact severity levels, ordered from most to least severe.","isRequired":true,"uniqueKey":"severity","typeLabel":"enum\u003cstring>"},"description":{"type":"string","title":"Description","isRequired":true,"uniqueKey":"description","typeLabel":"string"},"expected_behavior":{"type":"string","title":"Expected Behavior","isRequired":true,"uniqueKey":"expected_behavior","typeLabel":"string"},"status":{"type":"string","title":"Status","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"created_at":{"type":"string","title":"Created At","isRequired":true,"uniqueKey":"created_at","typeLabel":"string"},"attacks":{"items":{"properties":{"attack_id":{"type":"string","title":"Attack Id","isRequired":true,"uniqueKey":"attacks.items.[INDEX].attack_id","typeLabel":"string"},"score":{"type":"integer","title":"Score","isRequired":true,"uniqueKey":"attacks.items.[INDEX].score","typeLabel":"integer"},"source":{"properties":{"source_type":{"type":"string","enum":["manual","adaptive_attacker","compliance","test_suite","drill_down","policy"],"title":"FindingSourceType","description":"What produced the test behind a finding.\n\nAn assessment, a reporting top-up, a policy assessment, a manual entry, or a\nfollow-up on an existing finding.","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.source_type","typeLabel":"enum\u003cstring>"},"assessment_id":{"type":"string","title":"Assessment Id","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.assessment_id","typeLabel":"string"},"attack_index":{"type":"integer","title":"Attack Index","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.attack_index","typeLabel":"integer"},"date":{"oneOf":[{"type":"string","title":"Date","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.date.oneOf.0","typeLabel":"string"},{"type":"null","title":"Date","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attacks.items.[INDEX].source.date","typeLabel":"string | null"}},"type":"object","required":["source_type","assessment_id","attack_index","date"],"title":"ApiAttackSource","description":"Provenance block of one attack in the external API response.","isRequired":true,"uniqueKey":"attacks.items.[INDEX].source","typeLabel":"ApiAttackSource · object"},"replay_script":{"items":{"properties":{"step":{"type":"string","enum":["chat","http","assert"],"title":"Step","isRequired":true,"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].step","typeLabel":"enum\u003cstring>"},"message":{"oneOf":[{"type":"string","title":"Message","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].message.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].message","typeLabel":"string | null"},"response":{"oneOf":[{"type":"string","title":"Response","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response.oneOf.0","typeLabel":"string"},{"type":"null","title":"Response","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response","typeLabel":"string | null"},"session_id":{"oneOf":[{"type":"string","title":"Session Id","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].session_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Session Id","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].session_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].session_id","typeLabel":"string | null"},"method":{"oneOf":[{"type":"string","title":"Method","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].method.oneOf.0","typeLabel":"string"},{"type":"null","title":"Method","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].method.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].method","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","title":"Url","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].url","typeLabel":"string | null"},"headers":{"oneOf":[{"type":"object","title":"Headers","additionalProperties":{"type":"string","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].headers.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].headers.oneOf.0","typeLabel":"Headers · object"},{"type":"null","title":"Headers","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].headers","typeLabel":"Headers · object | null"},"body":{"oneOf":[{"type":"string","title":"Body","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].body.oneOf.0","typeLabel":"string"},{"type":"null","title":"Body","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].body.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].body","typeLabel":"string | null"},"response_status":{"oneOf":[{"type":"integer","title":"Response Status","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_status.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Response Status","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_status","typeLabel":"integer | null"},"response_body":{"oneOf":[{"type":"string","title":"Response Body","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_body.oneOf.0","typeLabel":"string"},{"type":"null","title":"Response Body","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_body.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].response_body","typeLabel":"string | null"},"target":{"oneOf":[{"type":"string","title":"Target","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].target.oneOf.0","typeLabel":"string"},{"type":"null","title":"Target","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].target.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].target","typeLabel":"string | null"},"assertion":{"oneOf":[{"type":"string","title":"Assertion","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].assertion.oneOf.0","typeLabel":"string"},{"type":"null","title":"Assertion","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].assertion.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].assertion","typeLabel":"string | null"},"expected_behavior":{"oneOf":[{"type":"string","title":"Expected Behavior","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].expected_behavior.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expected Behavior","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].expected_behavior.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].expected_behavior","typeLabel":"string | null"},"capture_as":{"oneOf":[{"type":"string","title":"Capture As","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].capture_as.oneOf.0","typeLabel":"string"},{"type":"null","title":"Capture As","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].capture_as.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX].capture_as","typeLabel":"string | null"}},"type":"object","required":["step"],"title":"ReplayStepResponse","description":"One step of a replay script; `step` says which kind.","uniqueKey":"attacks.items.[INDEX].replay_script.items.[INDEX]","typeLabel":"ReplayStepResponse · object"},"type":"array","title":"Replay Script","isRequired":true,"uniqueKey":"attacks.items.[INDEX].replay_script","typeLabel":"ReplayStepResponse · object[]"},"last_replay_status":{"type":"string","enum":["pending","succeeded","failed","inconclusive","stale"],"title":"Last Replay Status","isRequired":true,"uniqueKey":"attacks.items.[INDEX].last_replay_status","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","title":"Created At","isRequired":true,"uniqueKey":"attacks.items.[INDEX].created_at","typeLabel":"string"},"last_replayed_at":{"oneOf":[{"type":"string","title":"Last Replayed At","uniqueKey":"attacks.items.[INDEX].last_replayed_at.oneOf.0","typeLabel":"string"},{"type":"null","title":"Last Replayed At","uniqueKey":"attacks.items.[INDEX].last_replayed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"attacks.items.[INDEX].last_replayed_at","typeLabel":"string | null"}},"type":"object","required":["attack_id","score","source","replay_script","last_replay_status","created_at"],"title":"ApiAttackItem","description":"One attack inside a finding in the external API response.","uniqueKey":"attacks.items.[INDEX]","typeLabel":"ApiAttackItem · object"},"type":"array","title":"Attacks","isRequired":true,"uniqueKey":"attacks","typeLabel":"ApiAttackItem · object[]"}},"type":"object","required":["finding_id","lens","category","severity","description","expected_behavior","status","created_at","attacks"],"title":"ApiFindingItem","description":"One finding, with the attacks that reproduce it in `attacks`.","uniqueKey":"","typeLabel":"ApiFindingItem · object"},"examples":{"Example":{"title":"Example","value":{"finding_id":"\u003cstring>","lens":"security","category":"\u003cstring>","severity":"critical","description":"\u003cstring>","expected_behavior":"\u003cstring>","status":"\u003cstring>","created_at":"\u003cstring>","attacks":[{"attack_id":"\u003cstring>","score":123,"source":{"source_type":"manual","assessment_id":"\u003cstring>","attack_index":123,"date":"\u003cstring>"},"replay_script":[{"step":"chat","message":"\u003cstring>","response":"\u003cstring>","session_id":"\u003cstring>","method":"\u003cstring>","url":"\u003cstring>","headers":{},"body":"\u003cstring>","response_status":123,"response_body":"\u003cstring>","target":"\u003cstring>","assertion":"\u003cstring>","expected_behavior":"\u003cstring>","capture_as":"\u003cstring>"}],"last_replay_status":"pending","created_at":"\u003cstring>","last_replayed_at":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"011b2790-5118-4a5d-9155-d688a9cd575b":{"description":"The workspace's plan withholds this finding's proof, so its status cannot be changed","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"6443afd7-8a5c-42b6-881a-f27de9569271":{"description":"Finding not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"cb9b447f-88ac-4e39-8a6c-b9f14b263388":{"description":"Invalid status, category, or explanation","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"ecc94452-5a0c-4247-b9b2-b494520b154a":{"url":"https://api.enokilabs.ai","description":"Enoki API"}}},"originalFileLocation":"openapi.json"},"subdomain":"enoki-861e83a5","siteName":"Enoki Docs","title":"Close a finding (mark fixed or dismiss as not an issue) - Enoki Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T09:45:34.192Z","originalFileLocation":"api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;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=\"system\"}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=\"Closes a finding from CI/CD or an agent: mark it \u0026#x27;fixed\u0026#x27; or dismiss it as not an issue (\u0026#x27;dismissed\u0026#x27;). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Enoki Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Close a finding (mark fixed or dismiss as not an issue) - Enoki Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Closes a finding from CI/CD or an agent: mark it \u0026#x27;fixed\u0026#x27; or dismiss it as not an issue (\u0026#x27;dismissed\u0026#x27;). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Enoki Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://enoki-861e83a5.mintlify.app/_mintlify/api/og/v2?division=findings\u0026amp;title=Close+a+finding+%28mark+fixed+or+dismiss+as+not+an+issue%29\u0026amp;description=Closes+a+finding+from+CI%2FCD+or+an+agent%3A+mark+it+%27fixed%27+or+dismiss+it+as+not+an+issue+%28%27dismissed%27%29.+Every+close+requires+an+explanation%2C+and+a+dismissal+also+\u0026amp;theme=7dab79a77306f37c8b6ebe93\u0026amp;signature=9f97ad810862b93d7c20469ed9d379ef8c7831129ebaa56fb99a0cb9c06a7dd5\">\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=\"Close a finding (mark fixed or dismiss as not an issue) - Enoki Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Closes a finding from CI/CD or an agent: mark it \u0026#x27;fixed\u0026#x27; or dismiss it as not an issue (\u0026#x27;dismissed\u0026#x27;). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://enoki-861e83a5.mintlify.app/_mintlify/api/og/v2?division=findings\u0026amp;title=Close+a+finding+%28mark+fixed+or+dismiss+as+not+an+issue%29\u0026amp;description=Closes+a+finding+from+CI%2FCD+or+an+agent%3A+mark+it+%27fixed%27+or+dismiss+it+as+not+an+issue+%28%27dismissed%27%29.+Every+close+requires+an+explanation%2C+and+a+dismissal+also+\u0026amp;theme=7dab79a77306f37c8b6ebe93\u0026amp;signature=9f97ad810862b93d7c20469ed9d379ef8c7831129ebaa56fb99a0cb9c06a7dd5\">\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/enoki-861e83a5/kOa2A3QnLxOcGLaX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Enoki Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F121A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.enokilabs.ai/#organization\",\"name\":\"Enoki Docs\",\"url\":\"https://docs.enokilabs.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/enoki-861e83a5/wytbpU7UfVc9mmSp/logo/light.svg?fit=max\u0026auto=format\u0026n=wytbpU7UfVc9mmSp\u0026q=85\u0026s=f611c233aaff582b2373aff2e0e21a40\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.enokilabs.ai#website\",\"name\":\"Enoki Docs\",\"url\":\"https://docs.enokilabs.ai\",\"publisher\":{\"@id\":\"https://docs.enokilabs.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue#webpage\",\"url\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue\",\"name\":\"Close a finding (mark fixed or dismiss as not an issue)\",\"description\":\"Closes a finding from CI/CD or an agent: mark it 'fixed' or dismiss it as not an issue ('dismissed'). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\",\"dateModified\":\"2026-10-27T09:45:34.192Z\",\"isPartOf\":{\"@id\":\"https://docs.enokilabs.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST API\",\"item\":\"https://docs.enokilabs.ai/api-reference\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"findings\",\"item\":\"https://docs.enokilabs.ai/api-reference/findings/retrieve-findings-for-a-completed-run\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Close a finding (mark fixed or dismiss as not an issue)\",\"item\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue#apireference\",\"headline\":\"Close a finding (mark fixed or dismiss as not an issue)\",\"name\":\"Close a finding (mark fixed or dismiss as not an issue)\",\"description\":\"Closes a finding from CI/CD or an agent: mark it 'fixed' or dismiss it as not an issue ('dismissed'). Every close requires an explanation, and a dismissal also requires a category (reason_code). Workspace-scoped: a finding from another workspace resolves to 404.\",\"url\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue\",\"mainEntityOfPage\":{\"@id\":\"https://docs.enokilabs.ai/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue#webpage\"},\"dateModified\":\"2026-10-27T09:45:34.192Z\",\"publisher\":{\"@id\":\"https://docs.enokilabs.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.enokilabs.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Enoki Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Enoki Docs","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Enoki documentation","href":"/index"},{"title":"What we test for","href":"/what-we-test"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Connect","pages":[{"title":"Connect your agent","href":"/connect-your-agent"},{"title":"API keys \u0026 scopes","href":"/api-keys"}]},{"group":"Integrations","pages":[{"title":"Webhooks","href":"/integrations/webhooks"},{"title":"Linear","href":"/integrations/linear"},{"title":"Jira","href":"/integrations/jira"},{"title":"GitHub","href":"/integrations/github"}]},{"group":"MCP","pages":[{"title":"MCP tool reference","href":"/mcp-tools"},{"title":"Troubleshooting","href":"/troubleshooting"}]},{"group":"REST API","pages":[{"title":"REST API reference","href":"/api-reference"},{"group":"assessment","pages":[{"title":"Trigger an assessment run","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/run","href":"/api-reference/assessment/trigger-an-assessment-run"},{"title":"Poll run status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/run/{run_id}","href":"/api-reference/assessment/poll-run-status"},{"title":"Retrieve what a completed run covered, per category","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/run/{run_id}/coverage","href":"/api-reference/assessment/retrieve-what-a-completed-run-covered-per-category"},{"title":"Cancel a running assessment","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/run/{run_id}/cancel","href":"/api-reference/assessment/cancel-a-running-assessment"},{"title":"List runs for a model","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/model/{model_id}/run","href":"/api-reference/assessment/list-runs-for-a-model"}]},{"group":"integration","pages":[{"title":"List inventory models","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/model","href":"/api-reference/integration/list-inventory-models"},{"title":"Register an agent target (atomic prove-then-persist)","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/model","href":"/api-reference/integration/register-an-agent-target-atomic-prove-then-persist"}]},{"group":"findings","pages":[{"title":"Retrieve findings for a completed run","description":"Returns structured findings for a completed assessment run. Returns 409 while the run is still running — partial findings are not exposed. A finding whose proof the workspace's plan withholds is still returned, carrying its id and severity, no attacks, and '[redacted]' in place of its text — so 'count' and the run's pass/fail verdict are the same either way.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/run/{run_id}/findings","href":"/api-reference/findings/retrieve-findings-for-a-completed-run"},{"title":"Close a finding (mark fixed or dismiss as not an issue)","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/findings/{finding_id}/close","href":"/api-reference/findings/close-a-finding-mark-fixed-or-dismiss-as-not-an-issue"},{"title":"Re-run a finding's attacks to confirm a fix","description":"Re-runs every attack under the finding against the live target and drives its verification status. Call AFTER marking the finding fixed (PATCH .../close status=fixed) -- validating a finding that is not marked fixed returns verdict='not_eligible'. Returns the terminal verdict when the re-run finishes quickly; otherwise returns verdict='validating' with a replay_run_id -- re-read the finding's status via the findings list. Cross-workspace ids resolve to 404.","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/findings/{finding_id}/validate","href":"/api-reference/findings/re-run-a-findings-attacks-to-confirm-a-fix"}]},{"group":"taxonomy","pages":[{"title":"List taxonomy categories","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/category","href":"/api-reference/taxonomy/list-taxonomy-categories"}]},{"group":"target-profile","pages":[{"title":"Read a target's profile","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/model/{model_id}/profile","href":"/api-reference/target-profile/read-a-targets-profile"},{"title":"Change a target's profile","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/model/{model_id}/profile","href":"/api-reference/target-profile/change-a-targets-profile"},{"title":"Confirm values of a target's profile","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/model/{model_id}/profile/confirm","href":"/api-reference/target-profile/confirm-values-of-a-targets-profile"},{"title":"Retract a dismissal from a target's profile","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/model/{model_id}/profile/non-issues/{finding_id}","href":"/api-reference/target-profile/retract-a-dismissal-from-a-targets-profile"}]}]}]},"title":"Close a finding (mark fixed or dismiss as not an issue) - Enoki Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}