FortWatchFortWatchDocs
Menu

Update an asset

PUThttps://api.fortwatch.ai/app/assets/{id}
Scope assets:writeOperation ID updateAsset

Changes the project, the value or type (checked as when adding, then validated again), the scan profile (portScanMode, nucleiMinSeverity) or the scanners turned off for it.

Parameters

NameInTypeDescription
idrequiredpathinteger

Request body

JSON, required.

FieldTypeDescription
projectIdinteger
namestring | null
typestring
valuestring
disabledScannerTypesstring[]
bucketProviderstring | null
portScanModestringOne of: full, fast
nucleiMinSeveritystringOne of: low, medium, high, critical
acceptExtraChargeboolean

Example request

curl -X PUT "https://api.fortwatch.ai/app/assets/42" \
  -H "Authorization: Bearer $FORTWATCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "projectId": 42,
  "name": "Production",
  "type": "string",
  "value": "app.example.com",
  "disabledScannerTypes": [
    "string"
  ],
  "bucketProvider": "string",
  "portScanMode": "full",
  "nucleiMinSeverity": "low",
  "acceptExtraCharge": true
}'

Response 200

The request succeeded.

FieldTypeDescription
idrequirednumber
projectIdrequirednumber
namerequiredstring | null
typerequiredstring
valuerequiredstring
statusrequiredstring
canonicalUrlrequiredstring | null
resolvedIprequiredstring | null
cdnProviderrequiredstring | null
bucketProviderrequiredstring | null
lastCheckedAtrequiredstring (date-time) | null
failReasonrequiredstring | null
skippedRedirectHostrequiredstring | null
disabledScannerTypesrequiredstring[]
portScanModerequiredstring
nucleiMinSeverityrequiredstring
ownershipVerifiedAtrequiredstring (date-time) | null
ownershipTokenrequiredstring
ownershipMethodrequiredstring | null
createdAtrequiredstring (date-time)
updatedAtrequiredstring (date-time)
projectrequiredobject
idrequirednumber
namerequiredstring
colorrequiredstring
json
{
  "id": 42,
  "projectId": 42,
  "name": "Production",
  "type": "string",
  "value": "app.example.com",
  "status": "string",
  "canonicalUrl": "string",
  "resolvedIp": "string",
  "cdnProvider": "string",
  "bucketProvider": "string",
  "lastCheckedAt": "2026-10-16T12:00:00.000Z",
  "failReason": "string",
  "skippedRedirectHost": "string",
  "disabledScannerTypes": [
    "string"
  ],
  "portScanMode": "string",
  "nucleiMinSeverity": "string",
  "ownershipVerifiedAt": "2026-10-16T12:00:00.000Z",
  "ownershipToken": "string",
  "ownershipMethod": "string",
  "createdAt": "2026-10-16T12:00:00.000Z",
  "updatedAt": "2026-10-16T12:00:00.000Z",
  "project": {
    "id": 42,
    "name": "Production",
    "color": "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.
404Not found in your workspace.
429Too many requests (RATE_LIMITED): wait the seconds Retry-After gives.