FortWatchFortWatchDocs
Menu

List findings

GEThttps://api.fortwatch.ai/app/findings
Scope issues:readPagedOperation ID listFindings

Everything the scanners found across the workspace; info findings are left out unless asked for. Filter by scan, severity, asset, project, scanner or issue status.

Paged: send page and limit (100 by default, at most 500); the total is in X-Total-Count (paging).

Parameters

NameInTypeDescription
scanIdqueryinteger
includeInfoquerystring
severityquerystring
assetIdqueryinteger
projectIdqueryinteger
scannerquerystring
issueStatusquerystring
includeInactivequerystring
pagequerynumber
limitquerynumber

Example request

curl -X GET "https://api.fortwatch.ai/app/findings?limit=100" \
  -H "Authorization: Bearer $FORTWATCH_API_KEY"

Response 200

The request succeeded.

FieldTypeDescription
idrequirednumber
scanIdrequirednumber | null
investigationIdrequirednumber | null
scannerrequiredstring
severityrequiredstring
templateIdrequiredstring
namerequiredstring
descriptionrequiredstring | null
matchedAtrequiredstring | null
tagsrequiredstring | null
cveIdsrequiredstring | null
referencerequiredstring | null
remediationrequiredstring | null
cvssScorerequirednumber | null
cvssMetricsrequiredstring | null
rawJsonrequiredobject | null
issueIdrequirednumber | null
createdAtrequiredstring (date-time)
scanrequiredobject
idrequirednumber
assetIdrequirednumber
statusrequiredstring
triggeredByrequiredstring
triggeredByUserIdrequirednumber | null
failureCoderequiredstring | null
failureDetailrequiredstring | null
scannerIprequiredstring | null
startedAtrequiredstring (date-time) | null
completedAtrequiredstring (date-time) | null
createdAtrequiredstring (date-time)
updatedAtrequiredstring (date-time)
assetrequiredobject
idrequirednumber
namerequiredobject | null
valuerequiredstring
typerequiredstring
projectrequiredobject
issuerequiredobject
idrequirednumber
statusrequiredstring
titlerequiredstring
categoryrequiredstring
json
[
  {
    "id": 42,
    "scanId": 42,
    "investigationId": 42,
    "scanner": "string",
    "severity": "string",
    "templateId": "string",
    "name": "Production",
    "description": "string",
    "matchedAt": "string",
    "tags": "string",
    "cveIds": "string",
    "reference": "string",
    "remediation": "string",
    "cvssScore": 1,
    "cvssMetrics": "string",
    "rawJson": {},
    "issueId": 42,
    "createdAt": "2026-10-16T12:00:00.000Z",
    "scan": {
      "id": 42,
      "assetId": 42,
      "status": "string",
      "triggeredBy": "string",
      "triggeredByUserId": 42,
      "failureCode": "string",
      "failureDetail": "string",
      "scannerIp": "string",
      "startedAt": "2026-10-16T12:00:00.000Z",
      "completedAt": "2026-10-16T12:00:00.000Z",
      "createdAt": "2026-10-16T12:00:00.000Z",
      "updatedAt": "2026-10-16T12:00:00.000Z",
      "asset": {
        "id": null,
        "name": {},
        "value": null,
        "type": null,
        "project": {}
      }
    },
    "issue": {
      "id": 42,
      "status": "string",
      "title": "string"
    },
    "category": "string"
  }
]

Errors

400The request is not valid: a field is missing or has the wrong shape (the message names it).
401No valid credentials: the API key or access token is missing, revoked or expired (INVALID_API_KEY, INVALID_TOKEN).
403Not allowed: the key or token lacks this scope (SCOPE_REQUIRED), the route is dashboard-only (SESSION_REQUIRED), or a plan limit applies.
429Too many requests (RATE_LIMITED): wait the seconds Retry-After gives.