# List target execution findings

Returns a paginated list of findings for one target execution. Each scan that reported an occurrence is returned as its own row (no cross-scan dedupe); FE can dedupe with occurrenceInternalId + scanId. Each row includes issueId, scanId, occurrenceInternalId, and optional exemptionId (occurrence-scoped) so the UI can use existing ticket/exemption APIs.

Endpoint: GET /sto/api/v2/targets/{id}/executions/{executionId}/occurrences
Version: 1.0
Security: 

## Query parameters:

  - `accountId` (string, required)
    Harness Account ID
    Example: "abcdef1234567890ghijkl"

  - `orgId` (string, required)
    Harness Organization ID
    Example: "example_org"

  - `projectId` (string, required)
    Harness Project ID
    Example: "example_project"

  - `page` (integer)
    Page number to fetch (starting from 0)
    Example: 4

  - `pageSize` (integer)
    Number of results per page
    Example: 50

  - `search` (string)
    Search finding titles and occurrence details
    Example: "SQL injection"

  - `severityCodes` (string)
    Keep findings whose severity is in this comma-separated set
    Example: "Critical,High"

  - `issueTypes` (string)
    Keep findings whose issue type is in this comma-separated set
    Example: "SAST,SCA,SECRET"

## Path parameters:

  - `id` (string, required)
    Target ID
    Example: "abcdef1234567890ghijkl"

  - `executionId` (string, required)
    Harness Execution ID
    Example: "abcdef1234567890ghijkl"

## Response 200 fields (application/json):

  - `pagination` (object, required)
    Example: {"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12}

  - `pagination.link` (string)
    Link-based paging

  - `pagination.page` (integer, required)
    Page number (starting from 0)
    Example: 4

  - `pagination.pageSize` (integer, required)
    Requested page size
    Example: 20

  - `pagination.totalItems` (integer, required)
    Total results available
    Example: 230

  - `pagination.totalPages` (integer, required)
    Total pages available
    Example: 12

  - `results` (array, required)
    Example: [{"exemptionId":"abcdef1234567890ghijkl","issueId":"abcdef1234567890ghijkl","issueType":"SAST","occurrenceInternalId":12345,"scanId":"scan111111111111111111","severityCode":"Critical","title":"SQL injection enables authentication bypass"},{"exemptionId":"abcdef1234567890ghijkl","issueId":"abcdef1234567890ghijkl","issueType":"SAST","occurrenceInternalId":12345,"scanId":"scan111111111111111111","severityCode":"Critical","title":"SQL injection enables authentication bypass"},{"exemptionId":"abcdef1234567890ghijkl","issueId":"abcdef1234567890ghijkl","issueType":"SAST","occurrenceInternalId":12345,"scanId":"scan111111111111111111","severityCode":"Critical","title":"SQL injection enables authentication bypass"},{"exemptionId":"abcdef1234567890ghijkl","issueId":"abcdef1234567890ghijkl","issueType":"SAST","occurrenceInternalId":12345,"scanId":"scan111111111111111111","severityCode":"Critical","title":"SQL injection enables authentication bypass"}]

  - `results.exemptionId` (string)
    ID of an occurrence-scoped exemption for this finding on the target, matched via exemption_occurrence fingerprint. Null/omitted when none exists. Issue-level exemptions are not returned.
    Example: "abcdef1234567890ghijkl"

  - `results.issueId` (string, required)
    Issue ID used by the existing ticket and exemption APIs
    Example: "abcdef1234567890ghijkl"

  - `results.issueType` (string, required)
    Finding issue type
    Enum: "SAST", "DAST", "SCA", "IAC", "SECRET", "MISCONFIG", "BUG_SMELLS", "CODE_SMELLS", "CODE_COVERAGE", "EXTERNAL_POLICY"

  - `results.occurrenceInternalId` (integer, required)
    Internal ID used to fetch occurrence details or request an occurrence-level exemption
    Example: 12345

  - `results.scanId` (string, required)
    ID of the scan containing this occurrence
    Example: "scan111111111111111111"

  - `results.severityCode` (string, required)
    Finding severity
    Enum: "Critical", "High", "Medium", "Low", "Info", "Unassigned"

  - `results.title` (string, required)
    Finding title
    Example: "SQL injection enables authentication bypass"

## Response 400 fields (application/json):

  - `message` (string, required)
    Example: "Not Found"

  - `status` (integer)
    Example: 404


