An Earnie API key, sent as Authorization: Bearer sk_earnie_.... Create one under Settings > API keys. The key's scopes decide which operations it may call.
A triage resolution reason. The canonical slugs cover five families: OSS (confirm_match, mark_original, replace_component), declared dependencies (accept_dependency, dismiss_dependency), crypto (confirm_usage, false_positive, accepted_risk), AI usage (confirm_ai_usage, not_ai_usage, approve_ai_usage), and identified AI models (approve_model, reject_model, wrong_identification). Each slug decides findings of its own family only; any other finding answers 400 reason_domain_mismatch. Callers MUST supply a non-empty slug by default; the org-level triage_reason_required setting controls whether an empty slug is permitted (see CAP2). Each slug carries a gate posture, reported by the suppresses field below and applied by the resolve path: resolving with a suppressing reason drops the finding from PR-gate impact, and reopening it undoes that suppression.
License the operator concluded for the resolved component (an SPDX identifier when picked from the SPDX list). Structured evidence, not free text: SBOM export renders it as the component's concluded license instead of NOASSERTION. Null when none was recorded.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SCANOSS documentation","colors":{"primary":"#FF6A1A","light":"#FF6A1A","dark":"#FF6A1A"},"logo":{"light":"https://mintcdn.com/scanoss/9UP7eHL2Z_rQPx8l/scanoss-logo-horizontal-positive.svg?fit=max\u0026auto=format\u0026n=9UP7eHL2Z_rQPx8l\u0026q=85\u0026s=686c4487013423ef804e2e83983c76ef","dark":"https://mintcdn.com/scanoss/9UP7eHL2Z_rQPx8l/scanoss-logo-horizontal-negative.svg?fit=max\u0026auto=format\u0026n=9UP7eHL2Z_rQPx8l\u0026q=85\u0026s=03cf2002f3fff2726f8e9b19bb2781ec","href":"https://scanoss.com"},"favicon":"https://mintcdn.com/scanoss/SuvZQ2xWfRUv4OAb/scan-favicon.png?fit=max\u0026auto=format\u0026n=SuvZQ2xWfRUv4OAb\u0026q=85\u0026s=4f02839460dfdc66102d3b028b507df6","appearance":{"default":"system","strict":false},"footer":{"socials":{"x":"https://x.com/SCANOSS_","github":"https://github.com/scanoss","linkedin":"https://es.linkedin.com/company/scanoss"}},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Space Grotesk","weight":700,"format":"woff2"},"body":{"family":"Space Grotesk","format":"woff2"}},"integrations":{"ga4":{"measurementId":"G-NWY31TXG8Y"}},"banner":{"content":"**Earnie is here** — SCANOSS's major release for AI governance, cryptography, PQC readiness, and open source compliance. [Watch the release demo →](https://youtu.be/MKgIpH4bEQ4?si=wXECS3umWGx11mB7)","dismissible":true},"contextual":{"options":["copy","view","claude","chatgpt","cursor","vscode","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scanoss","hasAudioNarration":false,"actualSubdomain":"scanoss","customDomains":["docs.scanoss.com"],"gitSource":{"type":"github","owner":"scanoss","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4b3c4e7bd3811c8096878","collectionId":"831dc21a-9225-4084-b126-901b3d6341ce","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4b3c4e7bd3811c8096878"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4b3c4e7bd3811c8096878","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Earnie","count":163},{"language":"default","tag":"API Reference","count":137},{"language":"default","tag":"Guides","count":87},{"language":"default","tag":"Developer Tools","count":67},{"language":"default","tag":"API reference","count":48},{"language":"default","tag":"v3 endpoints","count":47},{"language":"default","tag":"Scans","count":44},{"language":"default","tag":"scans","count":44},{"language":"default","tag":"Policies","count":22},{"language":"default","tag":"CLI Tools","count":21}]},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@scanoss.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695fa5b6a879c7d6b0e8a169","deploymentId":"68551e34bde804c6773f4df2","questionText":"Cannot import/export projects?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T12:40:22.697Z","updatedAt":"2026-01-08T12:40:22.697Z","__v":0},{"_id":"695fa5a4a879c7d6b0e8a064","deploymentId":"68551e34bde804c6773f4df2","questionText":"Dependency files not detected during scan?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T12:40:04.675Z","updatedAt":"2026-01-08T12:40:04.675Z","__v":0},{"_id":"695fa566a879c7d6b0e89d1e","deploymentId":"68551e34bde804c6773f4df2","questionText":"How do I configure the SCANOSS API key?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T12:39:02.662Z","updatedAt":"2026-01-08T12:39:02.662Z","__v":0}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#banner{background-color:#ff6a1a!important;color:#fff!important}html:not(.dark) #assistant-entry,html:not(.dark) #background-color,html:not(.dark) #chat-assistant-sheet,html:not(.dark) #chat-assistant-sheet .bg-background-light,html:not(.dark) #navbar-transition,html:not(.dark) .chat-assistant-floating-input .bg-background-light,html:not(.dark) .chat-assistant-floating-input::before{background-color:#f4f6f9!important}html:not(.dark) h1{color:#081320!important}html:not(.dark) nav a[aria-current=page]{background-color:rgba(8,19,32,.1)!important}html.dark #background-color,html.dark #navbar-transition{background-color:#081320!important}html.dark .prose :where(h1, h2, h3, h4, h5, h6),html.dark .prose :where(p, li, td, th):not(svg *),html.dark h1{color:#fff!important}html.dark nav a[aria-current=page]{background-color:rgba(255,106,26,.15)!important}html.dark #assistant-entry,html.dark #chat-assistant-sheet,html.dark #chat-assistant-sheet .dark\\:bg-background-dark,html.dark .chat-assistant-floating-input .dark\\:bg-background-dark,html.dark .chat-assistant-floating-input::before{background-color:#081320!important}nav#sidebar .sticky.top-0.h-8,span[style*=radial-gradient]{display:none!important}#sidebar #navigation-items{padding-top:2rem}.eyebrow,nav a.text-primary{color:#ff6a1a!important}"}],"page":{"pagePath":"earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution","slug":"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution","pageMetadata":{"title":"Revert a pending_review resolution","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/resolutions/{resolutionId}/actions/revert","href":"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution","autogeneratedByOpenApi":true},"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":"Revert a pending_review resolution","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/resolutions/{resolutionId}/actions/revert","href":"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"PostV1ResolutionActionsRevert","summary":"Revert a pending_review resolution","tags":["resolutions"],"parameters":["510f228a-90d2-4940-80f0-ba4970b742bc"],"requestBody":"6bf0e92d-b761-4fc0-b9a5-dd62accf1ba1","responses":{"200":"ca23b85d-dc41-47eb-bc26-1e8a9fb8d9ad","400":"99e2fd77-6b6e-4b32-b3d9-89c761273271","401":"3efbb323-eb53-486a-bebf-ae002fdc463e","403":"2300c5c1-9790-44c6-84c7-374079c84970","404":"112f349d-8152-44f5-9633-043a71336b40","500":"3991f777-44d3-465c-a811-7812afecbdc7"},"method":"post","type":"path","servers":["4d816cad-ef08-4835-941f-5a852e437ef9"],"security":["c8d1323b-1149-4c60-81d6-3e183ff9fead"],"path":"/v1/resolutions/{resolutionId}/actions/revert","baseUrlOptions":["https://{tenant}.earnie.dev"],"title":"Revert a pending_review resolution","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"510f228a-90d2-4940-80f0-ba4970b742bc":{"name":"resolutionId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"justification":{"type":"string","uniqueKey":"justification","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"justification":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ca23b85d-dc41-47eb-bc26-1e8a9fb8d9ad":{"description":"Resolution after revert","content":{"application/json":{"schema":{"type":"object","required":["id","org_id","finding_id","domain_slug","reason","resolved_by","status","autonomous_run","created_at"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"org_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"org_id","typeLabel":"string\u003cuuid>"},"finding_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"finding_id","typeLabel":"string\u003cuuid>"},"domain_slug":{"type":"string","isRequired":true,"uniqueKey":"domain_slug","typeLabel":"string"},"reason":{"type":"object","description":"A triage resolution reason. The canonical slugs cover five families: OSS (confirm_match, mark_original, replace_component), declared dependencies (accept_dependency, dismiss_dependency), crypto (confirm_usage, false_positive, accepted_risk), AI usage (confirm_ai_usage, not_ai_usage, approve_ai_usage), and identified AI models (approve_model, reject_model, wrong_identification). Each slug decides findings of its own family only; any other finding answers 400 reason_domain_mismatch. Callers MUST supply a non-empty slug by default; the org-level triage_reason_required setting controls whether an empty slug is permitted (see CAP2). Each slug carries a gate posture, reported by the suppresses field below and applied by the resolve path: resolving with a suppressing reason drops the finding from PR-gate impact, and reopening it undoes that suppression.","required":["domain_slug","slug","display_name"],"properties":{"domain_slug":{"type":"string","description":"Owning domain for this reason. For canonical reasons the value is \"triage\"; legacy rows produced before the canonical registry was introduced may carry the producer domain slug.","isRequired":true,"uniqueKey":"reason.domain_slug","typeLabel":"string"},"slug":{"type":"string","description":"Machine-readable reason identifier. Stable wire values: confirm_match, mark_original, replace_component (OSS), accept_dependency, dismiss_dependency (declared dependencies), confirm_usage, false_positive, accepted_risk (crypto), confirm_ai_usage, not_ai_usage, approve_ai_usage (AI usage), and approve_model, reject_model, wrong_identification (AI models). Do NOT use confirm or original — those are NOT valid slugs.","isRequired":true,"uniqueKey":"reason.slug","typeLabel":"string"},"display_name":{"type":"string","description":"Human-readable label for UI rendering.","isRequired":true,"uniqueKey":"reason.display_name","typeLabel":"string"},"suppresses":{"oneOf":[{"type":"boolean","description":"The reason's gate posture. true for mark_original, dismiss_dependency, false_positive, accepted_risk, not_ai_usage, approve_ai_usage, approve_model and wrong_identification: resolving with one of these removes the finding from PR-gate impact for as long as it stays resolved. false for confirm_match, confirm_usage, confirm_ai_usage, reject_model, accept_dependency and replace_component: the finding keeps gate impact — a non-suppressing reason adds no suppression, and equally never lifts one applied through the suppress endpoint. Reopening a finding undoes the suppression its resolution applied, but never one applied through the suppress endpoint. null means the reason carries no declared posture (a slug outside the canonical registry) — do NOT read an absent or null value as suppresses=false.","uniqueKey":"reason.suppresses.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"The reason's gate posture. true for mark_original, dismiss_dependency, false_positive, accepted_risk, not_ai_usage, approve_ai_usage, approve_model and wrong_identification: resolving with one of these removes the finding from PR-gate impact for as long as it stays resolved. false for confirm_match, confirm_usage, confirm_ai_usage, reject_model, accept_dependency and replace_component: the finding keeps gate impact — a non-suppressing reason adds no suppression, and equally never lifts one applied through the suppress endpoint. Reopening a finding undoes the suppression its resolution applied, but never one applied through the suppress endpoint. null means the reason carries no declared posture (a slug outside the canonical registry) — do NOT read an absent or null value as suppresses=false.","uniqueKey":"reason.suppresses.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason.suppresses","typeLabel":"boolean | null"}},"isRequired":true,"uniqueKey":"reason","typeLabel":"object"},"resolved_by":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["user","apikey","worker","agent"],"isRequired":true,"uniqueKey":"resolved_by.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"resolved_by.id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"resolved_by","typeLabel":"object"},"status":{"type":"string","enum":["pending_review","confirmed","reverted"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"autonomous_run":{"type":"boolean","isRequired":true,"uniqueKey":"autonomous_run","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"scope":{"oneOf":[{"type":"object","required":["kind","value"],"properties":{"kind":{"type":"string","enum":["path","purl","rule_param"],"isRequired":true,"uniqueKey":"scope.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","isRequired":true,"uniqueKey":"scope.oneOf.0.value","typeLabel":"string"}},"uniqueKey":"scope.oneOf.0","typeLabel":"object"},{"type":"null","required":["kind","value"],"properties":{"kind":{"type":"string","enum":["path","purl","rule_param"]},"value":{"type":"string"}},"uniqueKey":"scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"scope","typeLabel":"object | null"},"justification":{"oneOf":[{"type":"string","uniqueKey":"justification.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"justification.oneOf.1","typeLabel":"null"}],"uniqueKey":"justification","typeLabel":"string | null"},"replacement_purl":{"oneOf":[{"type":"string","description":"Versioned PURL of the corrected component. Populated for replace_component resolutions only; null otherwise.","uniqueKey":"replacement_purl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Versioned PURL of the corrected component. Populated for replace_component resolutions only; null otherwise.","uniqueKey":"replacement_purl.oneOf.1","typeLabel":"null"}],"uniqueKey":"replacement_purl","typeLabel":"string | null"},"concluded_license":{"oneOf":[{"type":"string","description":"License the operator concluded for the resolved component (an SPDX identifier when picked from the SPDX list). Structured evidence, not free text: SBOM export renders it as the component's concluded license instead of NOASSERTION. Null when none was recorded.","uniqueKey":"concluded_license.oneOf.0","typeLabel":"string"},{"type":"null","description":"License the operator concluded for the resolved component (an SPDX identifier when picked from the SPDX list). Structured evidence, not free text: SBOM export renders it as the component's concluded license instead of NOASSERTION. Null when none was recorded.","uniqueKey":"concluded_license.oneOf.1","typeLabel":"null"}],"uniqueKey":"concluded_license","typeLabel":"string | null"},"decided_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"decided_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"decided_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"decided_at","typeLabel":"string\u003cdate-time> | null"},"decided_by":{"oneOf":[{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["user","apikey","worker","agent"],"isRequired":true,"uniqueKey":"decided_by.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"decided_by.oneOf.0.id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"decided_by.oneOf.0","typeLabel":"object"},{"type":"null","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["user","apikey","worker","agent"]},"id":{"type":"string","format":"uuid"}},"uniqueKey":"decided_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"decided_by","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","org_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","finding_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","domain_slug":"\u003cstring>","reason":{"domain_slug":"\u003cstring>","slug":"\u003cstring>","display_name":"\u003cstring>","suppresses":true},"resolved_by":{"kind":"user","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"status":"pending_review","autonomous_run":true,"created_at":"2023-11-07T05:31:56Z","scope":{"kind":"path","value":"\u003cstring>"},"justification":"\u003cstring>","replacement_purl":"\u003cstring>","concluded_license":"\u003cstring>","decided_at":"2023-11-07T05:31:56Z","decided_by":{"kind":"user","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"99e2fd77-6b6e-4b32-b3d9-89c761273271":{"description":"Resolution already confirmed or reverted","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3efbb323-eb53-486a-bebf-ae002fdc463e":{"description":"Not authenticated","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2300c5c1-9790-44c6-84c7-374079c84970":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"112f349d-8152-44f5-9633-043a71336b40":{"description":"Resolution not found","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3991f777-44d3-465c-a811-7812afecbdc7":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c8d1323b-1149-4c60-81d6-3e183ff9fead":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An Earnie API key, sent as `Authorization: Bearer sk_earnie_...`. Create one under Settings > API keys. The key's scopes decide which operations it may call.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"4d816cad-ef08-4835-941f-5a852e437ef9":{"url":"https://{tenant}.earnie.dev","description":"Your Earnie deployment","variables":{"tenant":{"default":"your-company","description":"Your organization's Earnie address, as shown in your browser when you sign in."}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An Earnie API key, sent as `Authorization: Bearer sk_earnie_...`. Create one under Settings > API keys. The key's scopes decide which operations it may call.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An Earnie API key, sent as `Authorization: Bearer sk_earnie_...`. Create one under Settings > API keys. The key's scopes decide which operations it may call.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/earnie/triage-openapi.json"},"subdomain":"scanoss","siteName":"SCANOSS documentation","title":"Revert a pending_review resolution - SCANOSS documentation","navMaps":{"firstHrefInVersion":{"v2":{"href":"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution","matchLevel":0},"v1":{"href":"/en/latest/introduction/what-is-scanoss","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T15:12:17.622Z","originalFileLocation":"earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution.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=\"application-name\" content=\"SCANOSS documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_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/scanoss/KZfWE-Zg_gP00ddS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Revert a pending_review resolution - SCANOSS documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SCANOSS documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scanoss.mintlify.app/_mintlify/api/og/v2?division=resolutions\u0026amp;title=Revert+a+pending_review+resolution\u0026amp;theme=e384d94a4a6a8eabee7f937e\u0026amp;signature=30d19a5e4c383fe4752ceddd7c0eb2ffc16a0a77c08af28d7be85621130dbcb3\">\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=\"Revert a pending_review resolution - SCANOSS documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scanoss.mintlify.app/_mintlify/api/og/v2?division=resolutions\u0026amp;title=Revert+a+pending_review+resolution\u0026amp;theme=e384d94a4a6a8eabee7f937e\u0026amp;signature=30d19a5e4c383fe4752ceddd7c0eb2ffc16a0a77c08af28d7be85621130dbcb3\">\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/scanoss/KZfWE-Zg_gP00ddS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SCANOSS documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF6A1A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.scanoss.com/#organization\",\"name\":\"SCANOSS documentation\",\"url\":\"https://docs.scanoss.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scanoss/9UP7eHL2Z_rQPx8l/scanoss-logo-horizontal-positive.svg?fit=max\u0026auto=format\u0026n=9UP7eHL2Z_rQPx8l\u0026q=85\u0026s=686c4487013423ef804e2e83983c76ef\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.scanoss.com#website\",\"name\":\"SCANOSS documentation\",\"url\":\"https://docs.scanoss.com\",\"publisher\":{\"@id\":\"https://docs.scanoss.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution#webpage\",\"url\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution\",\"name\":\"Revert a pending_review resolution\",\"dateModified\":\"2026-10-30T15:12:17.622Z\",\"isPartOf\":{\"@id\":\"https://docs.scanoss.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.scanoss.com/en/latest/earnie/api/using-the-api\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Findings\",\"item\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"resolutions\",\"item\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/list-resolutions-pending-review-queue\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Revert a pending_review resolution\",\"item\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution#apireference\",\"headline\":\"Revert a pending_review resolution\",\"name\":\"Revert a pending_review resolution\",\"url\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution\",\"mainEntityOfPage\":{\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution#webpage\"},\"dateModified\":\"2026-10-30T15:12:17.622Z\",\"publisher\":{\"@id\":\"https://docs.scanoss.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.scanoss.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SCANOSS documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SCANOSS documentation","nav":{"global":null,"versions":[{"version":"v2","default":true,"tabs":[{"tab":"Earnie","hidden":false,"groups":[{"group":"Get Started","expanded":false,"pages":[{"title":"What Is Earnie?","sidebarTitle":"What Is Earnie?","href":"/en/latest/earnie/introduction"},{"title":"Deployment Options and Data Flow","sidebarTitle":"Deployment and Data Flow","href":"/en/latest/earnie/deployment"},{"group":"Self-Hosting","expanded":false,"pages":[{"title":"Self-Hosting Requirements","sidebarTitle":"Self-Hosting Requirements","href":"/en/latest/earnie/self-hosting/self-hosting-requirements"},{"title":"Installing Earnie","sidebarTitle":"Installing Earnie","href":"/en/latest/earnie/self-hosting/installation"},{"title":"Running Earnie on a Cloud Provider","sidebarTitle":"Cloud Providers","href":"/en/latest/earnie/self-hosting/cloud-providers"},{"title":"Upgrading and Backing Up","sidebarTitle":"Upgrading and Backing Up","href":"/en/latest/earnie/self-hosting/upgrading-and-backups"},{"title":"Releases and Release Notes","sidebarTitle":"Releases","href":"/en/latest/earnie/self-hosting/releases"},{"title":"Outbound Network Calls","sidebarTitle":"Outbound Network Calls","href":"/en/latest/earnie/self-hosting/outbound-network-calls"}]},{"title":"Setting Up Your Workspace","sidebarTitle":"Workspace Setup","href":"/en/latest/earnie/getting-started/workspace-setup"},{"title":"Connecting a Repository","sidebarTitle":"Connecting a Repository","href":"/en/latest/earnie/getting-started/connecting-a-repository"},{"title":"Your First Scan","sidebarTitle":"First Scan","href":"/en/latest/earnie/getting-started/first-scan"}]},{"group":"Development","expanded":false,"pages":[{"title":"Earnie CLI","sidebarTitle":"Earnie CLI","href":"/en/latest/earnie/using-earnie/earnie-cli"},{"group":"Coding Agents (MCP)","expanded":false,"pages":[{"title":"Earnie MCP","sidebarTitle":"Overview","href":"/en/latest/earnie/mcp/overview"},{"title":"Connecting an AI Client","sidebarTitle":"Connecting a Client","href":"/en/latest/earnie/mcp/connecting-a-client"},{"title":"Using Earnie Through MCP","sidebarTitle":"Tools","href":"/en/latest/earnie/mcp/tools"},{"title":"Troubleshooting Earnie MCP","sidebarTitle":"Troubleshooting","href":"/en/latest/earnie/mcp/troubleshooting"}]},{"title":"Self-Checks","sidebarTitle":"Self-Checks","href":"/en/latest/earnie/using-earnie/self-checks"}]},{"group":"Pull Requests \u0026 CI","expanded":false,"pages":[{"title":"When the Gate Blocks a Merge","sidebarTitle":"Merge Gate","href":"/en/latest/earnie/using-earnie/merge-gate"},{"title":"Scan Configuration","sidebarTitle":"Scan Configuration","href":"/en/latest/earnie/using-earnie/scan-configuration"}]},{"group":"Governance","expanded":false,"pages":[{"title":"Reading the Dashboard","sidebarTitle":"Dashboard","href":"/en/latest/earnie/using-earnie/dashboard"},{"title":"Dependencies","sidebarTitle":"Dependencies","href":"/en/latest/earnie/using-earnie/dependencies"},{"title":"Vulnerability Statements (VEX)","sidebarTitle":"Vulnerabilities","href":"/en/latest/earnie/using-earnie/vulnerabilities"},{"title":"Every Algorithm in a Project","sidebarTitle":"Algorithms","href":"/en/latest/earnie/using-earnie/algorithms"},{"title":"Across Every Project","sidebarTitle":"All Projects","href":"/en/latest/earnie/using-earnie/all-projects"},{"title":"Triaging Findings","sidebarTitle":"Triaging Findings","href":"/en/latest/earnie/using-earnie/triaging-findings"},{"title":"Setting Your First Policy","sidebarTitle":"Setting Policies","href":"/en/latest/earnie/using-earnie/setting-policies"},{"title":"Notifications","sidebarTitle":"Notifications","href":"/en/latest/earnie/using-earnie/notifications"},{"title":"Language","sidebarTitle":"Language","href":"/en/latest/earnie/using-earnie/language"},{"group":"Domains","expanded":false,"pages":[{"title":"Cryptography","sidebarTitle":"Cryptography","href":"/en/latest/earnie/domains/cryptography"},{"title":"AI Provenance","sidebarTitle":"AI Provenance","href":"/en/latest/earnie/using-earnie/ai-provenance"}]}]},{"group":"Evidence \u0026 Audit","expanded":false,"pages":[{"title":"Exporting an SBOM","sidebarTitle":"Exporting SBOMs","href":"/en/latest/earnie/evidence/exporting-sboms"},{"title":"Reports","sidebarTitle":"Reports","href":"/en/latest/earnie/evidence/project-reports"},{"title":"Compliance Packages","sidebarTitle":"Compliance Packages","href":"/en/latest/earnie/evidence/compliance-packages"},{"title":"Audit Log","sidebarTitle":"Audit Log","href":"/en/latest/earnie/evidence/audit-log"}]},{"group":"Administration","expanded":false,"pages":[{"title":"Team and Roles","sidebarTitle":"Team \u0026 Roles","href":"/en/latest/earnie/administration/team-and-roles"},{"title":"API Keys","sidebarTitle":"API Keys","href":"/en/latest/earnie/administration/api-keys"}]},{"group":"Migrating","expanded":false,"pages":[{"title":"Migrating from SCANOSS Tools","sidebarTitle":"From SCANOSS Tools","href":"/en/latest/earnie/migrating/from-scanoss-tools"}]},{"group":"API Reference","expanded":false,"pages":[{"title":"Using the API","sidebarTitle":"Using the API","href":"/en/latest/earnie/api/using-the-api"},{"group":"Projects","pages":[{"group":"projects","pages":[{"title":"List projects for the authenticated organisation","deprecated":null,"version":null,"openapi":"/api-reference/earnie/projects-openapi.json get /v1/projects","href":"/earnie/api-reference/projects/projects/list-projects-for-the-authenticated-organisation"},{"title":"Create a new project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/projects-openapi.json post /v1/projects","href":"/earnie/api-reference/projects/projects/create-a-new-project"},{"title":"Get a project by ID","deprecated":null,"version":null,"openapi":"/api-reference/earnie/projects-openapi.json get /v1/projects/{projectId}","href":"/earnie/api-reference/projects/projects/get-a-project-by-id"},{"title":"Update a project's name or description","deprecated":null,"version":null,"openapi":"/api-reference/earnie/projects-openapi.json patch /v1/projects/{projectId}","href":"/earnie/api-reference/projects/projects/update-a-projects-name-or-description"},{"title":"Resolve one accessible project for a customer CLI","deprecated":null,"version":null,"openapi":"/api-reference/earnie/projects-openapi.json get /v1/projects:resolve","href":"/earnie/api-reference/projects/projects/resolve-one-accessible-project-for-a-customer-cli"}]}]},{"group":"Scans","pages":[{"group":"scans","pages":[{"title":"The organization's AI provenance posture across a scope of projects","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/ai/posture","href":"/earnie/api-reference/scans/scans/the-organizations-ai-provenance-posture-across-a-scope-of-projects"},{"title":"The curated rules Earnie assesses crypto findings against","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/crypto/assessment-rules","href":"/earnie/api-reference/scans/scans/the-curated-rules-earnie-assesses-crypto-findings-against"},{"title":"The organization's crypto posture across a scope of projects","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/crypto/posture","href":"/earnie/api-reference/scans/scans/the-organizations-crypto-posture-across-a-scope-of-projects"},{"title":"Get the project's AI scanner settings","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/ai-settings","href":"/earnie/api-reference/scans/scans/get-the-projects-ai-scanner-settings"},{"title":"Replace the project's AI scanner settings","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json put /v1/projects/{projectId}/ai-settings","href":"/earnie/api-reference/scans/scans/replace-the-projects-ai-scanner-settings"},{"title":"Crypto algorithms detected in one project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/crypto-algorithms","href":"/earnie/api-reference/scans/scans/crypto-algorithms-detected-in-one-project"},{"title":"Dependency-internal crypto inventory for one component","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/crypto-inventory","href":"/earnie/api-reference/scans/scans/dependency-internal-crypto-inventory-for-one-component"},{"title":"Declare a model upload, or resume the one in flight","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/projects/{projectId}/model-uploads","href":"/earnie/api-reference/scans/scans/declare-a-model-upload-or-resume-the-one-in-flight"},{"title":"Read an upload and its offset","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/model-uploads/{uploadId}","href":"/earnie/api-reference/scans/scans/read-an-upload-and-its-offset"},{"title":"Send one window of an upload","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json put /v1/projects/{projectId}/model-uploads/{uploadId}","href":"/earnie/api-reference/scans/scans/send-one-window-of-an-upload"},{"title":"Abandon an upload","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json delete /v1/projects/{projectId}/model-uploads/{uploadId}","href":"/earnie/api-reference/scans/scans/abandon-an-upload"},{"title":"List the project's Models and its uploads in flight","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/models","href":"/earnie/api-reference/scans/scans/list-the-projects-models-and-its-uploads-in-flight"},{"title":"Get one Model","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/projects/{projectId}/models/{modelId}","href":"/earnie/api-reference/scans/scans/get-one-model"},{"title":"Delete a Model","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json delete /v1/projects/{projectId}/models/{modelId}","href":"/earnie/api-reference/scans/scans/delete-a-model"},{"title":"List scans","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans","href":"/earnie/api-reference/scans/scans/list-scans"},{"title":"Upload a source archive and start a scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans","href":"/earnie/api-reference/scans/scans/upload-a-source-archive-and-start-a-scan"},{"title":"Get authoritative project scan summary","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/projects/{projectId}/state","href":"/earnie/api-reference/scans/scans/get-authoritative-project-scan-summary"},{"title":"Project posture rollup for the Audit landing","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/projects/{projectId}/summary","href":"/earnie/api-reference/scans/scans/project-posture-rollup-for-the-audit-landing"},{"title":"Project crypto posture rollup","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/projects/{projectId}/summary/crypto","href":"/earnie/api-reference/scans/scans/project-crypto-posture-rollup"},{"title":"Posture for every project in scope, in one response","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/projects:posture","href":"/earnie/api-reference/scans/scans/posture-for-every-project-in-scope-in-one-response"},{"title":"Get this deployment's upload limits","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/upload-limits","href":"/earnie/api-reference/scans/scans/get-this-deployments-upload-limits"},{"title":"Fetch a single scan by id","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}","href":"/earnie/api-reference/scans/scans/fetch-a-single-scan-by-id"},{"title":"Upload or resume a user-supplied archive object","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json put /v1/scans/{scanId}/archive","href":"/earnie/api-reference/scans/scans/upload-or-resume-a-user-supplied-archive-object"},{"title":"Read the upload offset of an archive object","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json head /v1/scans/{scanId}/archive","href":"/earnie/api-reference/scans/scans/read-the-upload-offset-of-an-archive-object"},{"title":"The Scan's Audit Trail","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/audit","href":"/earnie/api-reference/scans/scans/the-scans-audit-trail"},{"title":"Compare crypto findings with another completed scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/crypto/diff","href":"/earnie/api-reference/scans/scans/compare-crypto-findings-with-another-completed-scan"},{"title":"List all files in the scan (flat)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/files","href":"/earnie/api-reference/scans/scans/list-all-files-in-the-scan-flat"},{"title":"Stream a single file's bytes from the retained archive","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/files/content","href":"/earnie/api-reference/scans/scans/stream-a-single-files-bytes-from-the-retained-archive"},{"title":"Keep-set ingest cursor — received and missing paths","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/ingest","href":"/earnie/api-reference/scans/scans/keep-set-ingest-cursor-—-received-and-missing-paths"},{"title":"Stream kept files as a tar","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json put /v1/scans/{scanId}/ingest","href":"/earnie/api-reference/scans/scans/stream-kept-files-as-a-tar"},{"title":"Match metadata + component + licenses for one file","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/matches","href":"/earnie/api-reference/scans/scans/match-metadata-+-component-+-licenses-for-one-file"},{"title":"Proxy the bytes of an OSS file from the SCANOSS file-content service","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/oss-files/content","href":"/earnie/api-reference/scans/scans/proxy-the-bytes-of-an-oss-file-from-the-scanoss-file-content-service"},{"title":"Per-scan rollup for the results-overview dashboard","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/summary","href":"/earnie/api-reference/scans/scans/per-scan-rollup-for-the-results-overview-dashboard"},{"title":"Lazy folder expansion with aggregated state","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/scans/{scanId}/tree","href":"/earnie/api-reference/scans/scans/lazy-folder-expansion-with-aggregated-state"},{"title":"Cancel an in-progress scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans/{scanId}:cancel","href":"/earnie/api-reference/scans/scans/cancel-an-in-progress-scan"},{"title":"Seal the keep-set archive and start scanning","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans/{scanId}:commit-ingest","href":"/earnie/api-reference/scans/scans/seal-the-keep-set-archive-and-start-scanning"},{"title":"Explicitly rerun a scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans/{scanId}:rerun","href":"/earnie/api-reference/scans/scans/explicitly-rerun-a-scan"},{"title":"Retry a degraded provider publication","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans/{scanId}:retry-publication","href":"/earnie/api-reference/scans/scans/retry-a-degraded-provider-publication"},{"title":"Import a foreign SBOM document as a partial-coverage scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans:import-sbom","href":"/earnie/api-reference/scans/scans/import-a-foreign-sbom-document-as-a-partial-coverage-scan"},{"title":"Create a receiving scan for a resumable archive object","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans:plan-archive","href":"/earnie/api-reference/scans/scans/create-a-receiving-scan-for-a-resumable-archive-object"},{"title":"Plan a folder scan — keep engine then 202 receiving","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/scans:plan-folder","href":"/earnie/api-reference/scans/scans/plan-a-folder-scan-—-keep-engine-then-202-receiving"},{"title":"List Self-checks","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/self-checks","href":"/earnie/api-reference/scans/scans/list-self-checks"},{"title":"Run a Self-check over an inline SourceSet","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json post /v1/self-checks","href":"/earnie/api-reference/scans/scans/run-a-self-check-over-an-inline-sourceset"},{"title":"Get one Self-check","deprecated":null,"version":null,"openapi":"/api-reference/earnie/scans-openapi.json get /v1/self-checks/{selfCheckId}","href":"/earnie/api-reference/scans/scans/get-one-self-check"}]}]},{"group":"Findings","pages":[{"group":"audit","pages":[{"title":"List the durable audit-event trail for a subject (e.g. a finding)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/audit/events","href":"/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding"}]},{"group":"findings","pages":[{"title":"List findings with optional filters","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings","href":"/earnie/api-reference/triage/findings/list-findings-with-optional-filters"},{"title":"Create a new finding (source=api)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings","href":"/earnie/api-reference/triage/findings/create-a-new-finding-source=api"},{"title":"Bulk-reopen findings by component/path scope","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/actions/bulk-reopen","href":"/earnie/api-reference/triage/findings/bulk-reopen-findings-by-componentpath-scope"},{"title":"Bulk-resolve open OSS findings by component/path scope","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/actions/bulk-resolve","href":"/earnie/api-reference/triage/findings/bulk-resolve-open-oss-findings-by-componentpath-scope"},{"title":"Bulk-resolve open OSS findings across every project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/actions/bulk-resolve-org-wide","href":"/earnie/api-reference/triage/findings/bulk-resolve-open-oss-findings-across-every-project"},{"title":"Count the open findings a bulk-resolve would affect","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/actions/bulk-resolve-preview","href":"/earnie/api-reference/triage/findings/count-the-open-findings-a-bulk-resolve-would-affect"},{"title":"List findings aggregated by component (purl@version)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/components","href":"/earnie/api-reference/triage/findings/list-findings-aggregated-by-component-purl@version"},{"title":"Membership Audit Trail for a component (base purl) selection","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/components/audit-trail","href":"/earnie/api-reference/triage/findings/membership-audit-trail-for-a-component-base-purl-selection"},{"title":"List the filterable facet values a set of findings carries, with counts","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/facets","href":"/earnie/api-reference/triage/findings/list-the-filterable-facet-values-a-set-of-findings-carries-with-counts"},{"title":"List findings aggregated by source file (review queue rows)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/files","href":"/earnie/api-reference/triage/findings/list-findings-aggregated-by-source-file-review-queue-rows"},{"title":"Get a single finding by ID","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/{findingId}","href":"/earnie/api-reference/triage/findings/get-a-single-finding-by-id"},{"title":"Assign a finding to an actor (also serves as defer/reassign)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/{findingId}/actions/assign","href":"/earnie/api-reference/triage/findings/assign-a-finding-to-an-actor-also-serves-as-deferreassign"},{"title":"Create a configuration rule directly from a finding (mark-as-original)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/{findingId}/actions/create-rule","href":"/earnie/api-reference/triage/findings/create-a-configuration-rule-directly-from-a-finding-mark-as-original"},{"title":"Reopen a resolved or assigned finding","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/{findingId}/actions/reopen","href":"/earnie/api-reference/triage/findings/reopen-a-resolved-or-assigned-finding"},{"title":"Resolve a finding with a reason","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/{findingId}/actions/resolve","href":"/earnie/api-reference/triage/findings/resolve-a-finding-with-a-reason"},{"title":"Suppress or unsuppress a finding (orthogonal to triage state)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/findings/{findingId}/actions/suppress","href":"/earnie/api-reference/triage/findings/suppress-or-unsuppress-a-finding-orthogonal-to-triage-state"},{"title":"Stream the dependency's resolved source for a crypto finding","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/findings/{findingId}/crypto-source","href":"/earnie/api-reference/triage/findings/stream-the-dependencys-resolved-source-for-a-crypto-finding"}]},{"group":"resolutions","pages":[{"title":"List resolutions (pending review queue)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/resolutions","href":"/earnie/api-reference/triage/resolutions/list-resolutions-pending-review-queue"},{"title":"Weekly decision throughput for a project, split by actor class","description":"Returns how many findings were CLOSED per week for one project, split into machine-closed (agent / CI) and human-closed. Powers the Dashboard's Decision throughput card. Reverted resolutions are excluded: a decision that was undone did not close anything. `pending_review` rows ARE counted; the finding is closed from the reviewer's point of view the moment the resolution is written, and excluding them would make an org that reviews its own decisions look idle. Actor classing follows the acting principal, not the permission: a resolution is MACHINE when `autonomous_run` is set or the resolving actor kind is api_key / worker / agent, and HUMAN otherwise. The two are disjoint and sum to the week's total. Weeks are ISO weeks in UTC, newest last, and every week in the window is present — a week with no decisions returns explicit zeros rather than being omitted, so the client never has to distinguish a gap in the array from a quiet week. This is a SEPARATE endpoint from ProjectSummary on purpose: when the findings store is unreachable this request fails alone and the card reads \"Unavailable\" while every other card on the dashboard still renders. Folding it into the summary would take the whole page down with it.","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json get /v1/resolutions/throughput","href":"/earnie/api-reference/triage/resolutions/weekly-decision-throughput-for-a-project-split-by-actor-class"},{"title":"Revert a pending_review resolution","deprecated":null,"version":null,"openapi":"/api-reference/earnie/triage-openapi.json post /v1/resolutions/{resolutionId}/actions/revert","href":"/earnie/api-reference/triage/resolutions/revert-a-pending_review-resolution"}]}]},{"group":"Policies","pages":[{"group":"policies","pages":[{"title":"List current policy verdicts for a finding","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/findings/{findingId}/policy-verdicts","href":"/earnie/api-reference/policies/policies/list-current-policy-verdicts-for-a-finding"},{"title":"List named regulatory policy template sets","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/template-sets","href":"/earnie/api-reference/policies/policies/list-named-regulatory-policy-template-sets"},{"title":"List the projects a policy is attached to","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/{id}/attachments","href":"/earnie/api-reference/policies/policies/list-the-projects-a-policy-is-attached-to"},{"title":"List (and page) policy approval history for a project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/approvals","href":"/earnie/api-reference/policies/policies/list-and-page-policy-approval-history-for-a-project"},{"title":"List policies directly attached to a project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/policies","href":"/earnie/api-reference/policies/policies/list-policies-directly-attached-to-a-project"},{"title":"Attach a policy directly to a project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json put /v1/projects/{projectId}/policies/{policyId}","href":"/earnie/api-reference/policies/policies/attach-a-policy-directly-to-a-project"},{"title":"Clone a policy attached (or attachable) to a project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json post /v1/projects/{projectId}/policies/{policyId}/clone","href":"/earnie/api-reference/policies/policies/clone-a-policy-attached-or-attachable-to-a-project"},{"title":"List immutable evaluation snapshots for an attached policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/policies/{policyId}/evaluations","href":"/earnie/api-reference/policies/policies/list-immutable-evaluation-snapshots-for-an-attached-policy"},{"title":"List current findings violating an attached policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/policies/{policyId}/violations","href":"/earnie/api-reference/policies/policies/list-current-findings-violating-an-attached-policy"},{"title":"Materialize an arbitrary, operator-chosen list of seeded templates","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json post /v1/projects/{projectId}/policies:from-templates","href":"/earnie/api-reference/policies/policies/materialize-an-arbitrary-operator-chosen-list-of-seeded-templates"},{"title":"Get the project's current policy posture","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/policy-posture","href":"/earnie/api-reference/policies/policies/get-the-projects-current-policy-posture"},{"title":"Enable one named regulatory policy template set","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json post /v1/projects/{projectId}/policy-template-sets/{setSlug}:enable","href":"/earnie/api-reference/policies/policies/enable-one-named-regulatory-policy-template-set"},{"title":"Get the project's append-only posture time series","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/projects/{projectId}/posture-history","href":"/earnie/api-reference/policies/policies/get-the-projects-append-only-posture-time-series"},{"title":"What this scan was gated by","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/scans/{scanId}/policy-verdicts","href":"/earnie/api-reference/policies/policies/what-this-scan-was-gated-by"}]},{"group":"API Reference","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies","href":"/earnie/api-reference/policies/list-policies"},{"title":"Create a policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json post /v1/policies","href":"/earnie/api-reference/policies/create-a-policy"},{"title":"Get the field catalog visible to the caller","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/fields","href":"/earnie/api-reference/policies/get-the-field-catalog-visible-to-the-caller"},{"title":"Search values for an endpoint-sourced field","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/fields/{path}/values","href":"/earnie/api-reference/policies/search-values-for-an-endpoint-sourced-field"},{"title":"List seeded policy templates","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/templates","href":"/earnie/api-reference/policies/list-seeded-policy-templates"},{"title":"Read one policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json get /v1/policies/{id}","href":"/earnie/api-reference/policies/read-one-policy"},{"title":"Delete a policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json delete /v1/policies/{id}","href":"/earnie/api-reference/policies/delete-a-policy"},{"title":"Partial update of a policy","deprecated":null,"version":null,"openapi":"/api-reference/earnie/policies-openapi.json patch /v1/policies/{id}","href":"/earnie/api-reference/policies/partial-update-of-a-policy"}]}]},{"group":"SBOM","pages":[{"group":"sbom","pages":[{"title":"List a project's SBOM snapshots (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json get /v1/sbom/projects/{projectId}/snapshots","href":"/earnie/api-reference/sbom/sbom/list-a-projects-sbom-snapshots-newest-first"},{"title":"Generate an SBOM snapshot from a scan","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json post /v1/sbom/scans/{scanId}:generate","href":"/earnie/api-reference/sbom/sbom/generate-an-sbom-snapshot-from-a-scan"},{"title":"Fetch snapshot metadata","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json get /v1/sbom/snapshots/{snapshotId}","href":"/earnie/api-reference/sbom/sbom/fetch-snapshot-metadata"},{"title":"Delete a snapshot (metadata + rendered artifacts + inventory)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json delete /v1/sbom/snapshots/{snapshotId}","href":"/earnie/api-reference/sbom/sbom/delete-a-snapshot-metadata-+-rendered-artifacts-+-inventory"},{"title":"Download a rendered SBOM document (original bytes)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json get /v1/sbom/snapshots/{snapshotId}/document","href":"/earnie/api-reference/sbom/sbom/download-a-rendered-sbom-document-original-bytes"},{"title":"Render an existing snapshot into another format","deprecated":null,"version":null,"openapi":"/api-reference/earnie/sbom-openapi.json post /v1/sbom/snapshots/{snapshotId}:render","href":"/earnie/api-reference/sbom/sbom/render-an-existing-snapshot-into-another-format"}]}]},{"group":"Estate Actions","pages":[{"group":"estate","pages":[{"title":"Poll a queued fan-out run","deprecated":null,"version":null,"openapi":"/api-reference/earnie/estate-openapi.json get /v1/estate/actions/{runId}","href":"/earnie/api-reference/estate/estate/poll-a-queued-fan-out-run"},{"title":"Attach a policy to every selected, eligible project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/estate-openapi.json post /v1/estate/projects:apply-policy","href":"/earnie/api-reference/estate/estate/attach-a-policy-to-every-selected-eligible-project"},{"title":"Generate an SBOM snapshot for every selected, eligible project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/estate-openapi.json post /v1/estate/projects:generate-sbom","href":"/earnie/api-reference/estate/estate/generate-an-sbom-snapshot-for-every-selected-eligible-project"},{"title":"Render a notice file for every selected, eligible project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/estate-openapi.json post /v1/estate/projects:render-notice","href":"/earnie/api-reference/estate/estate/render-a-notice-file-for-every-selected-eligible-project"},{"title":"Request a re-scan for every selected, eligible project","deprecated":null,"version":null,"openapi":"/api-reference/earnie/estate-openapi.json post /v1/estate/projects:request-scan","href":"/earnie/api-reference/estate/estate/request-a-re-scan-for-every-selected-eligible-project"}]}]},{"group":"Organization Settings","pages":[{"group":"organization","pages":[{"title":"Get organization profile","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/organization","href":"/earnie/api-reference/platform/organization/get-organization-profile"},{"title":"Get the organization logo","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/organization/branding/logo","href":"/earnie/api-reference/platform/organization/get-the-organization-logo"},{"title":"List the scanners enabled for your organization","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/organization/modules","href":"/earnie/api-reference/platform/organization/list-the-scanners-enabled-for-your-organization"},{"title":"Get the organization's pull-request controls","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/organization/pr-feedback","href":"/earnie/api-reference/platform/organization/get-the-organizations-pull-request-controls"},{"title":"Replace the organization's pull-request controls","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/organization/pr-feedback","href":"/earnie/api-reference/platform/organization/replace-the-organizations-pull-request-controls"},{"title":"Get the organization's Scan Configuration","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/organization/scan-configuration","href":"/earnie/api-reference/platform/organization/get-the-organizations-scan-configuration"},{"title":"Replace the organization's Scan Configuration","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/organization/scan-configuration","href":"/earnie/api-reference/platform/organization/replace-the-organizations-scan-configuration"},{"title":"Get a project's auto-scan-on-merge setting","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/projects/{projectId}/auto-scan","href":"/earnie/api-reference/platform/organization/get-a-projects-auto-scan-on-merge-setting"},{"title":"Enable or pause a project's auto-scan-on-merge","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/projects/{projectId}/auto-scan","href":"/earnie/api-reference/platform/organization/enable-or-pause-a-projects-auto-scan-on-merge"},{"title":"Get a project's pre-commit hook setting","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/projects/{projectId}/hook-settings","href":"/earnie/api-reference/platform/organization/get-a-projects-pre-commit-hook-setting"},{"title":"Set a project's pre-commit hook setting","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/projects/{projectId}/hook-settings","href":"/earnie/api-reference/platform/organization/set-a-projects-pre-commit-hook-setting"},{"title":"Get a project's pull-request feedback setting","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/projects/{projectId}/pr-feedback","href":"/earnie/api-reference/platform/organization/get-a-projects-pull-request-feedback-setting"},{"title":"Set a project's pull-request controls","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/projects/{projectId}/pr-feedback","href":"/earnie/api-reference/platform/organization/set-a-projects-pull-request-controls"},{"title":"Get a project's Scan Configuration sources","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json get /v1/projects/{projectId}/scan-configuration","href":"/earnie/api-reference/platform/organization/get-a-projects-scan-configuration-sources"},{"title":"Replace a project's Scan Configuration","deprecated":null,"version":null,"openapi":"/api-reference/earnie/platform-openapi.json put /v1/projects/{projectId}/scan-configuration","href":"/earnie/api-reference/platform/organization/replace-a-projects-scan-configuration"}]}]},{"group":"Integrations","pages":[{"group":"integrations","pages":[{"title":"Each connection's recorded health, and their aggregate","deprecated":null,"version":null,"openapi":"/api-reference/earnie/integrations-openapi.json get /v1/integrations/connections","href":"/earnie/api-reference/integrations/integrations/each-connections-recorded-health-and-their-aggregate"},{"title":"GitHub connection status (liveness-checked)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/integrations-openapi.json get /v1/integrations/github","href":"/earnie/api-reference/integrations/integrations/github-connection-status-liveness-checked"},{"title":"List GitLab connections with what their tokens were checked to be","deprecated":null,"version":null,"openapi":"/api-reference/earnie/integrations-openapi.json get /v1/integrations/gitlab/connections","href":"/earnie/api-reference/integrations/integrations/list-gitlab-connections-with-what-their-tokens-were-checked-to-be"},{"title":"List the repositories the connections can access (live)","deprecated":null,"version":null,"openapi":"/api-reference/earnie/integrations-openapi.json get /v1/integrations/repositories","href":"/earnie/api-reference/integrations/integrations/list-the-repositories-the-connections-can-access-live"}]}]},{"group":"Components","pages":[{"group":"API Reference","pages":[{"title":"Search the SCANOSS component knowledgebase","deprecated":null,"version":null,"openapi":"/api-reference/earnie/components-openapi.json get /v1/components","href":"/earnie/api-reference/components/search-the-scanoss-component-knowledgebase"}]}]},{"group":"Audit log","pages":[{"group":"API Reference","pages":[{"title":"List instance-wide audit events","deprecated":null,"version":null,"openapi":"/api-reference/earnie/audit-openapi.json get /v1/audit-log","href":"/earnie/api-reference/audit/list-instance-wide-audit-events"},{"title":"Get one audit event","deprecated":null,"version":null,"openapi":"/api-reference/earnie/audit-openapi.json get /v1/audit-log/{eventId}","href":"/earnie/api-reference/audit/get-one-audit-event"}]}]}]}]},{"tab":"Developer Tools","hidden":false,"pages":[{"title":"Developer Tools","href":"/en/latest/developer-tools/overview"}]}]},{"version":"v1","pages":[{"title":"v1","href":"/en/latest/introduction/what-is-scanoss"}]}]},"basePath":"","title":"Revert a pending_review resolution - SCANOSS documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-CXEEkV6J.js","dist-lvhuD9Du.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D1Z-ELXV.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","AssistantPageLink-CKfC4ywL.js"]}