List the durable audit-event trail for a subject (e.g. a finding)
Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows’ own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).
GET
/
v1
/
audit
/
events
List the durable audit-event trail for a subject (e.g. a finding)
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.
{"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":"6ae4b3963ba31227325e8be3","collectionId":"d9114605-ddef-42c8-ac16-d4fe7eeb21bc","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4b3963ba31227325e8be3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4b3c4e7bd3811c8096878","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Earnie","count":161},{"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":"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":"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/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding","slug":"/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding","pageMetadata":{"title":"List the durable audit-event trail for a subject (e.g. a finding)","description":"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows' own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows’ own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\"\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":"List the durable audit-event trail for a subject (e.g. a finding)","description":"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows' own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"GetV1AuditEvents","summary":"List the durable audit-event trail for a subject (e.g. a finding)","description":"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows' own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).","tags":["audit"],"parameters":["13f51a07-9898-46c3-803c-ee290568f286","0d3bc1d2-1654-446a-a571-c1c2b06e830c"],"responses":{"200":"7cc7063b-7959-41cf-9531-a78dcb6501ba","400":"bc18ff63-b9dd-4f93-8460-1775c1a9415a","401":"84f5c926-c2cc-4259-a22a-9ea6b46b5da0","403":"968fc09b-2506-439d-bd53-62181a5bfd5f","404":"2a6467d9-e0e2-4928-bb0f-2602d77f81ee","500":"8c4c197b-c8a4-48c7-ae5f-603c248fe6f2"},"method":"get","type":"path","servers":["4d816cad-ef08-4835-941f-5a852e437ef9"],"security":["c8d1323b-1149-4c60-81d6-3e183ff9fead"],"path":"/v1/audit/events","baseUrlOptions":["https://{tenant}.earnie.dev"],"title":"List the durable audit-event trail for a subject (e.g. a finding)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"13f51a07-9898-46c3-803c-ee290568f286":{"name":"subject_kind","in":"query","required":true,"schema":{"type":"string","enum":["finding","selfcheck"],"isRequired":true,"uniqueKey":"","typeLabel":"enum\u003cstring>"}},"0d3bc1d2-1654-446a-a571-c1c2b06e830c":{"name":"subject_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"7cc7063b-7959-41cf-9531-a78dcb6501ba":{"description":"Ordered audit-event trail for the subject","content":{"application/json":{"schema":{"type":"object","required":["events"],"properties":{"events":{"type":"array","items":{"type":"object","description":"One durable audit event in an entity's trail. The actor is who performed the event; previous_state/state describe the transition (state is derived from the event type and is null for non-transition events).","required":["event_type","actor","occurred_at"],"properties":{"event_type":{"type":"string","description":"Dot-separated event identifier, e.g. finding.detected.","isRequired":true,"uniqueKey":"events.items.[INDEX].event_type","typeLabel":"string"},"actor":{"type":"object","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["user","apikey","worker","agent"],"isRequired":true,"uniqueKey":"events.items.[INDEX].actor.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"events.items.[INDEX].actor.id","typeLabel":"string\u003cuuid>"}},"isRequired":true,"uniqueKey":"events.items.[INDEX].actor","typeLabel":"object"},"occurred_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"events.items.[INDEX].occurred_at","typeLabel":"string\u003cdate-time>"},"previous_state":{"oneOf":[{"type":"string","description":"State before this event, when the event is a transition.","uniqueKey":"events.items.[INDEX].previous_state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State before this event, when the event is a transition.","uniqueKey":"events.items.[INDEX].previous_state.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].previous_state","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State after this event, derived from the event type. Null for non-transition events such as suppression.","uniqueKey":"events.items.[INDEX].state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State after this event, derived from the event type. Null for non-transition events such as suppression.","uniqueKey":"events.items.[INDEX].state.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].state","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Optional justification/note recorded with a decision.","uniqueKey":"events.items.[INDEX].note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional justification/note recorded with a decision.","uniqueKey":"events.items.[INDEX].note.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].note","typeLabel":"string | null"},"resolution_id":{"oneOf":[{"type":"string","format":"uuid","description":"Linked resolution, when the event resolved the finding.","uniqueKey":"events.items.[INDEX].resolution_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Linked resolution, when the event resolved the finding.","uniqueKey":"events.items.[INDEX].resolution_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].resolution_id","typeLabel":"string\u003cuuid> | null"},"actor_display_name":{"oneOf":[{"type":"string","description":"Human-readable actor identity captured at emit time (user email, scanner tool + version). Immutable. Absent when unresolved — clients fall back to actor.kind + actor.id.","uniqueKey":"events.items.[INDEX].actor_display_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable actor identity captured at emit time (user email, scanner tool + version). Immutable. Absent when unresolved — clients fall back to actor.kind + actor.id.","uniqueKey":"events.items.[INDEX].actor_display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].actor_display_name","typeLabel":"string | null"},"reason_slug":{"oneOf":[{"type":"string","description":"Resolution reason slug from the event payload (e.g. confirm_match, replace_component). Present on resolved-family events when recorded.","uniqueKey":"events.items.[INDEX].reason_slug.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolution reason slug from the event payload (e.g. confirm_match, replace_component). Present on resolved-family events when recorded.","uniqueKey":"events.items.[INDEX].reason_slug.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].reason_slug","typeLabel":"string | null"},"replacement_purl":{"oneOf":[{"type":"string","description":"Replacement component purl from the resolve payload when the reason is replace_component. Null otherwise.","uniqueKey":"events.items.[INDEX].replacement_purl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Replacement component purl from the resolve payload when the reason is replace_component. Null otherwise.","uniqueKey":"events.items.[INDEX].replacement_purl.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].replacement_purl","typeLabel":"string | null"},"caused_by_finding_id":{"oneOf":[{"type":"string","format":"uuid","description":"The finding whose decision this event records the consequence of. On a finding resolved with another_candidate_identified it is the candidate a reviewer confirmed for the same file. Null otherwise.","uniqueKey":"events.items.[INDEX].caused_by_finding_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"The finding whose decision this event records the consequence of. On a finding resolved with another_candidate_identified it is the candidate a reviewer confirmed for the same file. Null otherwise.","uniqueKey":"events.items.[INDEX].caused_by_finding_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].caused_by_finding_id","typeLabel":"string\u003cuuid> | null"},"gate":{"oneOf":[{"type":"string","description":"Self-check gate (pass, warn, block, require, error, none) from a selfcheck.completed event. Null on every other event, and on a Finding event.","uniqueKey":"events.items.[INDEX].gate.oneOf.0","typeLabel":"string"},{"type":"null","description":"Self-check gate (pass, warn, block, require, error, none) from a selfcheck.completed event. Null on every other event, and on a Finding event.","uniqueKey":"events.items.[INDEX].gate.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].gate","typeLabel":"string | null"},"coverage":{"oneOf":[{"type":"string","description":"Self-check coverage from a selfcheck.completed event. Null on every other event, and on a Finding event.","uniqueKey":"events.items.[INDEX].coverage.oneOf.0","typeLabel":"string"},{"type":"null","description":"Self-check coverage from a selfcheck.completed event. Null on every other event, and on a Finding event.","uniqueKey":"events.items.[INDEX].coverage.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].coverage","typeLabel":"string | null"},"policies_evaluated":{"oneOf":[{"type":"integer","description":"Count of policies evaluated on a selfcheck.completed event (length of its policies array, so the two can never disagree). Null on every other event.","uniqueKey":"events.items.[INDEX].policies_evaluated.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Count of policies evaluated on a selfcheck.completed event (length of its policies array, so the two can never disagree). Null on every other event.","uniqueKey":"events.items.[INDEX].policies_evaluated.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].policies_evaluated","typeLabel":"integer | null"},"detail_counts":{"oneOf":[{"type":"object","description":"Violation and detection counts from a selfcheck.completed event. Null on every other event.","properties":{"violations":{"type":"integer","uniqueKey":"events.items.[INDEX].detail_counts.oneOf.0.violations","typeLabel":"integer"},"detections":{"type":"integer","uniqueKey":"events.items.[INDEX].detail_counts.oneOf.0.detections","typeLabel":"integer"}},"uniqueKey":"events.items.[INDEX].detail_counts.oneOf.0","typeLabel":"object"},{"type":"null","description":"Violation and detection counts from a selfcheck.completed event. Null on every other event.","properties":{"violations":{"type":"integer"},"detections":{"type":"integer"}},"uniqueKey":"events.items.[INDEX].detail_counts.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].detail_counts","typeLabel":"object | null"},"files_total":{"oneOf":[{"type":"integer","description":"Total files submitted, from a selfcheck.submitted event. Null on every other event.","uniqueKey":"events.items.[INDEX].files_total.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Total files submitted, from a selfcheck.submitted event. Null on every other event.","uniqueKey":"events.items.[INDEX].files_total.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].files_total","typeLabel":"integer | null"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"The run's retention expiry, from a selfcheck.submitted event. Null on every other event.","uniqueKey":"events.items.[INDEX].expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"The run's retention expiry, from a selfcheck.submitted event. Null on every other event.","uniqueKey":"events.items.[INDEX].expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].expires_at","typeLabel":"string\u003cdate-time> | null"},"error_code":{"oneOf":[{"type":"string","description":"Failure code from a selfcheck.failed event. Null on every other event. The failure message reuses the existing note field.","uniqueKey":"events.items.[INDEX].error_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Failure code from a selfcheck.failed event. Null on every other event. The failure message reuses the existing note field.","uniqueKey":"events.items.[INDEX].error_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"events.items.[INDEX].error_code","typeLabel":"string | null"}},"uniqueKey":"events.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"events","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"events":[{"event_type":"\u003cstring>","actor":{"kind":"user","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"occurred_at":"2023-11-07T05:31:56Z","previous_state":"\u003cstring>","state":"\u003cstring>","note":"\u003cstring>","resolution_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","actor_display_name":"\u003cstring>","reason_slug":"\u003cstring>","replacement_purl":"\u003cstring>","caused_by_finding_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","gate":"\u003cstring>","coverage":"\u003cstring>","policies_evaluated":123,"detail_counts":{"violations":123,"detections":123},"files_total":123,"expires_at":"2023-11-07T05:31:56Z","error_code":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"bc18ff63-b9dd-4f93-8460-1775c1a9415a":{"description":"Missing or unsupported subject_kind / subject_id","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"},"84f5c926-c2cc-4259-a22a-9ea6b46b5da0":{"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"},"968fc09b-2506-439d-bd53-62181a5bfd5f":{"description":"Insufficient permissions to read the subject","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"},"2a6467d9-e0e2-4928-bb0f-2602d77f81ee":{"description":"Subject not found in the caller's org","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"},"8c4c197b-c8a4-48c7-ae5f-603c248fe6f2":{"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":"List the durable audit-event trail for a subject (e.g. a finding) - SCANOSS documentation","navMaps":{"firstHrefInVersion":{"v2":{"href":"/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding","matchLevel":0},"v1":{"href":"/en/latest/introduction/what-is-scanoss","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T10:42:13.580Z","originalFileLocation":"earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding.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=\"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows\u0026#x27; own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\">\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=\"List the durable audit-event trail for a subject (e.g. a finding) - SCANOSS documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows\u0026#x27; own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\">\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/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\">\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=audit\u0026amp;title=List+the+durable+audit-event+trail+for+a+subject+%28e.g.+a+finding%29\u0026amp;description=Returns+the+ordered+%28oldest-first%29+audit-event+history+for+one+subject.+Authorization+dispatches+on+subject_kind+%E2%80%94+the+caller+must+be+allowed+to+read+the+underl\u0026amp;theme=e384d94a4a6a8eabee7f937e\u0026amp;signature=ceaa52e908691e86dc2ce66a4093a30b9b0c6d4acb45dea00514e25a50f7ce8c\">\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=\"List the durable audit-event trail for a subject (e.g. a finding) - SCANOSS documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows\u0026#x27; own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scanoss.mintlify.app/_mintlify/api/og/v2?division=audit\u0026amp;title=List+the+durable+audit-event+trail+for+a+subject+%28e.g.+a+finding%29\u0026amp;description=Returns+the+ordered+%28oldest-first%29+audit-event+history+for+one+subject.+Authorization+dispatches+on+subject_kind+%E2%80%94+the+caller+must+be+allowed+to+read+the+underl\u0026amp;theme=e384d94a4a6a8eabee7f937e\u0026amp;signature=ceaa52e908691e86dc2ce66a4093a30b9b0c6d4acb45dea00514e25a50f7ce8c\">\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/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\">\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/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding.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/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding#webpage\",\"url\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\",\"name\":\"List the durable audit-event trail for a subject (e.g. a finding)\",\"description\":\"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows' own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\",\"dateModified\":\"2026-10-07T10:42:13.580Z\",\"isPartOf\":{\"@id\":\"https://docs.scanoss.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding#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\":\"List the durable audit-event trail for a subject (e.g. a finding)\",\"item\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding#apireference\",\"headline\":\"List the durable audit-event trail for a subject (e.g. a finding)\",\"name\":\"List the durable audit-event trail for a subject (e.g. a finding)\",\"description\":\"Returns the ordered (oldest-first) audit-event history for one subject. Authorization dispatches on subject_kind — the caller must be allowed to read the underlying entity (for findings, findings:read plus same-org; for selfcheck, scans:read, authorized entirely from the matching audit rows' own org_id — the underlying Self-check row is never queried, because it is purged after 30 days while its trail is not).\",\"url\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding\",\"mainEntityOfPage\":{\"@id\":\"https://docs.scanoss.com/earnie/api-reference/triage/audit/list-the-durable-audit-event-trail-for-a-subject-eg-a-finding#webpage\"},\"dateModified\":\"2026-10-07T10:42:13.580Z\",\"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","description":"The polling target for a creation call that returned `status: running`, and the deep link's target.\n\nA purged Self-check answers `404 self_check_not_found`: after 30 days the run is gone by design, and its `selfcheck.*` decision log in the Audit Log is what remains.","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","description":null,"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","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","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"}]}]},"title":"List the durable audit-event trail for a subject (e.g. a finding) - SCANOSS documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-m8-xYP3Y.js","dist-1ms6tsT-.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DMKzROTp.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","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","AssistantPageLink-Ke9xIMFx.js"]}