Skip to content

FindingSummary

Source code in docs_src/capo_continuum/types/finding_summary.py
class FindingSummary(TypedDict, closed=True):
    finding_id: "capo_continuum.types.finding_id.FindingId"
    """The unique identifier of the finding."""
    finding_arn: "capo_continuum.types.finding_arn.FindingArn"
    """The ARN of the finding."""
    environment_id: "capo_continuum.types.environment_id.EnvironmentId"
    """The environment that owns the finding."""
    source: "capo_continuum.types.finding_source.FindingSource"
    """The system that produced the finding."""
    source_finding_id: "capo_continuum.types.source_finding_id.SourceFindingId"
    """The producer's own identifier for the finding."""
    reported_at: "datetime.datetime"
    """When the producer reported the finding -- its own clock, which is not Continuum's ingestion time. `createdAt` is when Continuum accepted it; these are genuinely different instants and a reader usually wants this one. For CreateCodeFinding, this is the submitted OCSF document's own top-level `time`. For findings Continuum's scanner produces, it is the finding's own creation time. Continuum does not validate it for plausibility: a producer's value is echoed as given, so a `timestamp` here asserts the unit and format, not that the instant is genuine."""
    status: "capo_continuum.types.finding_status.FindingStatus"
    """The current lifecycle status of the finding."""
    status_updated_at: "datetime.datetime"
    """The timestamp when the status last transitioned."""
    created_at: "datetime.datetime"
    """The timestamp when the finding was ingested."""
    scan_run_id: NotRequired["capo_continuum.types.scan_run_id.ScanRunId"]
    """The scan that produced the finding, when it came from one. For a finding Continuum's scanner produced, this is the Continuum scan run (see GetCodeScan). For a finding submitted with CreateCodeFinding, it is the OCSF document's `metadata.correlation_uid`, when that value is a valid ScanRunId. Absent when the finding did not come from a scan."""
    status_message: NotRequired[
        "capo_continuum.types.finding_status_message.FindingStatusMessage"
    ]
    """Human-readable context about the current status."""
    discard_reason: NotRequired[
        "capo_continuum.types.finding_discard_reason.FindingDiscardReason"
    ]
    """Why the finding was not escalated. Present only when status is DISCARDED."""
    discard_reasoning: NotRequired[
        "capo_continuum.types.finding_status_message.FindingStatusMessage"
    ]
    """Customer-facing explanation accompanying `discardReason`."""
    duplicate_of_issue_id: NotRequired["capo_continuum.types.issue_id.IssueId"]
    """The existing issue this finding duplicates. Present only for the DUPLICATE_OF_* discard reasons."""
    created_issue_id: NotRequired["capo_continuum.types.issue_id.IssueId"]
    """The issue Continuum created from this finding."""
    completed_at: NotRequired["datetime.datetime"]
    """When processing finished, whether by creating an issue or discarding. Absent while the finding is still in flight."""
    type: "capo_continuum.types.finding_type.FindingType"
    """What kind of finding this is."""
    title: "capo_continuum.types.finding_title.FindingTitle"
    """The producer's title for the finding."""
    severity: "capo_continuum.types.finding_severity_id.FindingSeverityId"
    """The finding's severity."""
    category: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """The producer's vulnerability category."""
    file_path: NotRequired["capo_continuum.types.finding_file_path.FindingFilePath"]
    """The file the finding is about, when it has a code location."""

category instance-attribute

category: NotRequired[FindingCategory]

The producer's vulnerability category.

completed_at instance-attribute

completed_at: NotRequired[datetime]

When processing finished, whether by creating an issue or discarding. Absent while the finding is still in flight.

created_at instance-attribute

created_at: datetime

The timestamp when the finding was ingested.

created_issue_id instance-attribute

created_issue_id: NotRequired[IssueId]

The issue Continuum created from this finding.

discard_reason instance-attribute

discard_reason: NotRequired[FindingDiscardReason]

Why the finding was not escalated. Present only when status is DISCARDED.

discard_reasoning instance-attribute

discard_reasoning: NotRequired[FindingStatusMessage]

Customer-facing explanation accompanying discardReason.

duplicate_of_issue_id instance-attribute

duplicate_of_issue_id: NotRequired[IssueId]

The existing issue this finding duplicates. Present only for the DUPLICATE_OF_* discard reasons.

environment_id instance-attribute

environment_id: EnvironmentId

The environment that owns the finding.

file_path instance-attribute

file_path: NotRequired[FindingFilePath]

The file the finding is about, when it has a code location.

finding_arn instance-attribute

finding_arn: FindingArn

The ARN of the finding.

finding_id instance-attribute

finding_id: FindingId

The unique identifier of the finding.

reported_at instance-attribute

reported_at: datetime

When the producer reported the finding -- its own clock, which is not Continuum's ingestion time. createdAt is when Continuum accepted it; these are genuinely different instants and a reader usually wants this one. For CreateCodeFinding, this is the submitted OCSF document's own top-level time. For findings Continuum's scanner produces, it is the finding's own creation time. Continuum does not validate it for plausibility: a producer's value is echoed as given, so a timestamp here asserts the unit and format, not that the instant is genuine.

scan_run_id instance-attribute

scan_run_id: NotRequired[ScanRunId]

The scan that produced the finding, when it came from one. For a finding Continuum's scanner produced, this is the Continuum scan run (see GetCodeScan). For a finding submitted with CreateCodeFinding, it is the OCSF document's metadata.correlation_uid, when that value is a valid ScanRunId. Absent when the finding did not come from a scan.

severity instance-attribute

The finding's severity.

source instance-attribute

source: FindingSource

The system that produced the finding.

source_finding_id instance-attribute

source_finding_id: SourceFindingId

The producer's own identifier for the finding.

status instance-attribute

status: FindingStatus

The current lifecycle status of the finding.

status_message instance-attribute

status_message: NotRequired[FindingStatusMessage]

Human-readable context about the current status.

status_updated_at instance-attribute

status_updated_at: datetime

The timestamp when the status last transitioned.

title instance-attribute

title: FindingTitle

The producer's title for the finding.

type instance-attribute

What kind of finding this is.