---
title: "Update Discovered Asset"
method: PUT
path: "/discovery/assets/{id}/"
tags: ["Asset Discovery"]
---

# Update Discovered Asset

`PUT /discovery/assets/{id}/`

Call auditlog tasks if applicable to query.

## Path parameters

- `id` string, required — A unique Base58 value identifying this object.

## Request body

- DiscoveryAsset
  - `id` string, required — A unique Base58 value identifying this object.
  - `account` string, required — A unique Base58 value identifying this object.
  - `name` string, required — Name of the discovered asset. The maximum length is 256 characters.
  - `url` string, required — URL of the discovered asset.
  - `type` 'web' | 'api', required — Type of discovered asset: (Defaults to `api`) * `web` - Web * `api` - API
  - `last_seen` string, date-time, required — Date and time of when the discovered asset was last seen, in ISO 8601 UTC format. For example, “2023-08-09T13:27:43.8208302”.
  - `first_seen` string, date-time, required — Date and time of when the asset was firstly discovered, in ISO 8601 UTC format. For example, “2023-08-09T13:27:43.8208302”.
  - `sources` Source[], required — Sources from which the asset was discovered.
    - `id` string, required — Identifier of the source.
    - `name` string, required — Name of the source. The maximum length is 256 characters.
  - `technologies` object[], required — Technologies found in the discovered asset.
    - `id` string
    - `name` string
    - `desc` string
  - `authorities` string, required — Authorities of the discovered asset.
  - `risk` unknown, required
  - `score` '' | 'A+' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'R', required — Security Headers assessment score of the discovered asset. * `` - * `A+` - A+ * `A` - A * `B` - B * `C` - C * `D` - D * `E` - E * `F` - F * `R` - R
  - `security_headers_url` string, required
  - `state` 'NEW' | 'ACTIVE' | 'HIDDEN' | 'ARCHIVED' — State of the discovered asset: (Defaults to `NEW`) * `NEW` - New * `ACTIVE` - Active * `HIDDEN` - Hidden * `ARCHIVED` - Archived
  - `screenshot` string, uri, nullable, required — Screenshot of the discovered asset.
  - `target` DiscoveryScope, required
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string — Name of the target. The maximum length is 255 characters.
    - `desc` string, nullable — Description of the target. Defaults to "".
    - `running_scan` RunningAssessment, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `status` 'canceled' | 'canceling' | 'completed' | 'completed_with_errors' | 'failed' | 'paused' | 'pausing' | 'queued' | 'resuming' | 'started' | 'under_review' | 'finishing_up', required — Status of the scan: * `canceled` - Canceled * `canceling` - Canceling * `completed` - Completed * `completed_with_errors` - Completed with errors - DEPRECATED * `failed` - Failed * `paused` - Paused * `pausing` - Pausing * `queued` - Queued * `resuming` - Resuming * `started` - Started * `under_review` - Under Review * `finishing_up` - Finishing up
      - `started` string, date-time, nullable, required — Date and time of when the scan started.
      - `completed` string, date-time, nullable, required — Date and time of when the scan was completed.
      - `scan_profile` string, required — Identifier of the scan profile.
      - `lows` integer, nullable, required — Number of vulnerability findings with low severity.
      - `mediums` integer, nullable, required — Number of vulnerability findings with medium severity.
      - `highs` integer, nullable, required — Number of vulnerability findings with high severity.
      - `criticals` integer, nullable, required — Number of vulnerability findings with critical severity.
      - `created` string, date-time, required
      - `crawler` Crawler
        - `state` string, required — State of the crawler execution. For example, "started" or "ended".
        - `status` integer[], required — List with two numbers where the first is the crawled URLs and the second is the total of URLs to crawl.
        - `warning` CrawlerWarning[], required — List of warnings occurred during the crawler execution.
          - `code` string, required — Warning code.
          - `message` string, required — Warning message.
        - `error` CodedError[], required — List of errors occurred during the crawler execution.
          - `code` string, required
          - `message` string, required
        - `full_status` CrawlerFullStatus
          - `type` string — Type of information. When present, the value is "feedback".
          - `iid` string, uuid, required — Internal information.
          - `aid` string, uuid, required — Internal information.
          - `ts` number, double, required — Timestamp of the crawler execution.
          - `subtype` string, required — Sub-type of the type of information. The value is "status".
          - `stage` string, required — Stage of the scan. The value is "crawler".
          - `module` string, required — Module of the crawler that is executing.
          - `data` CrawlerData, required
            - `type` string — Type of information. When present, the value is "feedback".
            - `countTimeoutEndpoints` integer — Number of requests with timeouts during the crawler execution.
            - `countLoginFailed` integer — Number of failed login attempts during the crawler execution.
            - `version` integer — Version number.
            - `countNetworkErrorEndpoints` integer — Number of network errors during the crawler execution.
            - `doingLogin` boolean — If true, the crawler is currently trying to log in to the target.
            - `done` integer, required — Number of URLs crawled.
            - `rejected` integer — Number of URLs deduplicated during the crawler execution.
            - `total` integer, required — Total number of URLs to crawl.
            - `allExtraHosts` string[] — List of extra hosts.
            - `crawlingEndpoints` LastCrawledEndpoints[] — List of details about endpoints currently being crawled.
              - …
            - `lastLogin` LastLogin[] — List of the last logins.
              - …
            - `status` object — Object with all HTTP response codes obtained during the crawler execution and how many of each.
            - `outOfScopeHostsCount` object — List of URLs out of the target's scope and the number of times the crawler hit them.
            - `allHostnames` string[] — List of all hostnames to crawl.
            - `lastCrawledEndpoints` LastCrawledEndpoints[] — List of the last crawled URLs.
              - …
            - `statusByHost` object — List of HTTP response codes obtained during the crawler execution and how many of each, grouped by hostname.
      - `fingerprinter` FingerprinterSchema — Used for the fingerprinter.
        - `state` string, required — State of the fingerprinter execution. For example, "started" or "ended".
        - `count` integer, required — Number of technologies (frameworks) detected by the fingerprinter.
        - `warning` string[], required — List of warnings occurred during the fingerprinter execution.
        - `error` string[], required — List of errors occurred during the fingerprinter execution.
      - `scanner` Scanner
        - `state` string, required — State of the scanner execution. For example, "started" or "ended".
        - `status` integer[], required — List with two numbers where the first is the scanned URLs and the second is the total of URLs to scan.
        - `warning` ScannerWarning[], required — List of warnings occurred during the scanner execution.
          - `code` string, required — Warning code.
          - `message` string, required — Warning message.
        - `error` union[], required — List of errors occurred during the scanner execution, can be strings or objects.
          - union
            - string
            - object
              - …
        - `full_status` ScannerFullStatus
          - `type` string — Type of information. When present, the value is "feedback".
          - `iid` string, uuid, required — Internal information.
          - `aid` string, uuid, required — Internal information.
          - `ts` number, double, required — Timestamp of the scanner execution.
          - `subtype` string, required — Sub-type of the type of information. The value is "status".
          - `stage` string, required — Stage of the scan. The value is "scanner".
          - `module` string, required — Module of the scanner that is executing.
          - `data` ScannerData, required
            - `done` integer, required — Number of URLs scanned.
            - `total` integer, required — Total number of URLs to scan.
            - `scannerState` ScannerState
              - …
      - `stack` Framework[] — Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.
        - `id` string, required — A unique Base58 value identifying this object.
        - `name` string, required — Name of the technology. For example, "PHP, "SQLite", "Python", "Apache", or "Wordpress". The maximum lenght is 255 characters.
        - `desc` string, nullable, required — Description of the technology. Defaults to "".
    - `blackout_period` BlackoutPeriod, required
      - `begin` string, time, required — Time of when the blackout period starts, in ISO 8601 UTC format. For example, "13:27".
      - `cease` string, time, required — Time of when the blackout period ceases, in ISO 8601 UTC format. For example, "13:27".
      - `weekdays` integer[], required
      - `enabled` boolean — If true, the blackout period is enabled.
      - `timezone` string
      - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
      - `changed_by` SimpleUser, required
        - `id` string, required — A unique Base58 value identifying this object.
        - `email` string, email — Email of the user.
        - `name` string, required — Name of the user.
  - `owners` UserLabel[] — Owner labels of the discovered asset. For example, "owner=Admin" or "owner=Admin&owner=QA".
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string, required — Name of the label. The maximum length is 255 characters.
    - `color` string — Color of the label, in RGB hexadecimal format prefixed with "#". For example, "#00FF00" for green.
    - `changed_by` SimpleUser, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `email` string, email — Email of the user.
      - `name` string, required — Name of the user.
    - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
  - `comment` string, nullable — Comment on the object.
  - `labels` ScopeLabel[] — Target labels of the discovered asset.
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string, required — Name of the label. The maximum length is 255 characters.
    - `color` string — Color of the label, in RGB hexadecimal format prefixed with "#". For example, "#00FF00" for green.
    - `changed_by` SimpleUser, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `email` string, email — Email of the user.
      - `name` string, required — Name of the user.
    - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
  - `redirect_from` unknown, required
  - `redirect_to` string, required — URL the discovered asset is redirected to.
  - `api_schema_file` string, uri, nullable, required

## Response `200`

- DiscoveryAsset
  - `id` string, required — A unique Base58 value identifying this object.
  - `account` string, required — A unique Base58 value identifying this object.
  - `name` string, required — Name of the discovered asset. The maximum length is 256 characters.
  - `url` string, required — URL of the discovered asset.
  - `type` 'web' | 'api', required — Type of discovered asset: (Defaults to `api`) * `web` - Web * `api` - API
  - `last_seen` string, date-time, required — Date and time of when the discovered asset was last seen, in ISO 8601 UTC format. For example, “2023-08-09T13:27:43.8208302”.
  - `first_seen` string, date-time, required — Date and time of when the asset was firstly discovered, in ISO 8601 UTC format. For example, “2023-08-09T13:27:43.8208302”.
  - `sources` Source[], required — Sources from which the asset was discovered.
    - `id` string, required — Identifier of the source.
    - `name` string, required — Name of the source. The maximum length is 256 characters.
  - `technologies` object[], required — Technologies found in the discovered asset.
    - `id` string
    - `name` string
    - `desc` string
  - `authorities` string, required — Authorities of the discovered asset.
  - `risk` unknown, required
  - `score` '' | 'A+' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'R', required — Security Headers assessment score of the discovered asset. * `` - * `A+` - A+ * `A` - A * `B` - B * `C` - C * `D` - D * `E` - E * `F` - F * `R` - R
  - `security_headers_url` string, required
  - `state` 'NEW' | 'ACTIVE' | 'HIDDEN' | 'ARCHIVED' — State of the discovered asset: (Defaults to `NEW`) * `NEW` - New * `ACTIVE` - Active * `HIDDEN` - Hidden * `ARCHIVED` - Archived
  - `screenshot` string, uri, nullable, required — Screenshot of the discovered asset.
  - `target` DiscoveryScope, required
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string — Name of the target. The maximum length is 255 characters.
    - `desc` string, nullable — Description of the target. Defaults to "".
    - `running_scan` RunningAssessment, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `status` 'canceled' | 'canceling' | 'completed' | 'completed_with_errors' | 'failed' | 'paused' | 'pausing' | 'queued' | 'resuming' | 'started' | 'under_review' | 'finishing_up', required — Status of the scan: * `canceled` - Canceled * `canceling` - Canceling * `completed` - Completed * `completed_with_errors` - Completed with errors - DEPRECATED * `failed` - Failed * `paused` - Paused * `pausing` - Pausing * `queued` - Queued * `resuming` - Resuming * `started` - Started * `under_review` - Under Review * `finishing_up` - Finishing up
      - `started` string, date-time, nullable, required — Date and time of when the scan started.
      - `completed` string, date-time, nullable, required — Date and time of when the scan was completed.
      - `scan_profile` string, required — Identifier of the scan profile.
      - `lows` integer, nullable, required — Number of vulnerability findings with low severity.
      - `mediums` integer, nullable, required — Number of vulnerability findings with medium severity.
      - `highs` integer, nullable, required — Number of vulnerability findings with high severity.
      - `criticals` integer, nullable, required — Number of vulnerability findings with critical severity.
      - `created` string, date-time, required
      - `crawler` Crawler
        - `state` string, required — State of the crawler execution. For example, "started" or "ended".
        - `status` integer[], required — List with two numbers where the first is the crawled URLs and the second is the total of URLs to crawl.
        - `warning` CrawlerWarning[], required — List of warnings occurred during the crawler execution.
          - `code` string, required — Warning code.
          - `message` string, required — Warning message.
        - `error` CodedError[], required — List of errors occurred during the crawler execution.
          - `code` string, required
          - `message` string, required
        - `full_status` CrawlerFullStatus
          - `type` string — Type of information. When present, the value is "feedback".
          - `iid` string, uuid, required — Internal information.
          - `aid` string, uuid, required — Internal information.
          - `ts` number, double, required — Timestamp of the crawler execution.
          - `subtype` string, required — Sub-type of the type of information. The value is "status".
          - `stage` string, required — Stage of the scan. The value is "crawler".
          - `module` string, required — Module of the crawler that is executing.
          - `data` CrawlerData, required
            - `type` string — Type of information. When present, the value is "feedback".
            - `countTimeoutEndpoints` integer — Number of requests with timeouts during the crawler execution.
            - `countLoginFailed` integer — Number of failed login attempts during the crawler execution.
            - `version` integer — Version number.
            - `countNetworkErrorEndpoints` integer — Number of network errors during the crawler execution.
            - `doingLogin` boolean — If true, the crawler is currently trying to log in to the target.
            - `done` integer, required — Number of URLs crawled.
            - `rejected` integer — Number of URLs deduplicated during the crawler execution.
            - `total` integer, required — Total number of URLs to crawl.
            - `allExtraHosts` string[] — List of extra hosts.
            - `crawlingEndpoints` LastCrawledEndpoints[] — List of details about endpoints currently being crawled.
              - …
            - `lastLogin` LastLogin[] — List of the last logins.
              - …
            - `status` object — Object with all HTTP response codes obtained during the crawler execution and how many of each.
            - `outOfScopeHostsCount` object — List of URLs out of the target's scope and the number of times the crawler hit them.
            - `allHostnames` string[] — List of all hostnames to crawl.
            - `lastCrawledEndpoints` LastCrawledEndpoints[] — List of the last crawled URLs.
              - …
            - `statusByHost` object — List of HTTP response codes obtained during the crawler execution and how many of each, grouped by hostname.
      - `fingerprinter` FingerprinterSchema — Used for the fingerprinter.
        - `state` string, required — State of the fingerprinter execution. For example, "started" or "ended".
        - `count` integer, required — Number of technologies (frameworks) detected by the fingerprinter.
        - `warning` string[], required — List of warnings occurred during the fingerprinter execution.
        - `error` string[], required — List of errors occurred during the fingerprinter execution.
      - `scanner` Scanner
        - `state` string, required — State of the scanner execution. For example, "started" or "ended".
        - `status` integer[], required — List with two numbers where the first is the scanned URLs and the second is the total of URLs to scan.
        - `warning` ScannerWarning[], required — List of warnings occurred during the scanner execution.
          - `code` string, required — Warning code.
          - `message` string, required — Warning message.
        - `error` union[], required — List of errors occurred during the scanner execution, can be strings or objects.
          - union
            - string
            - object
              - …
        - `full_status` ScannerFullStatus
          - `type` string — Type of information. When present, the value is "feedback".
          - `iid` string, uuid, required — Internal information.
          - `aid` string, uuid, required — Internal information.
          - `ts` number, double, required — Timestamp of the scanner execution.
          - `subtype` string, required — Sub-type of the type of information. The value is "status".
          - `stage` string, required — Stage of the scan. The value is "scanner".
          - `module` string, required — Module of the scanner that is executing.
          - `data` ScannerData, required
            - `done` integer, required — Number of URLs scanned.
            - `total` integer, required — Total number of URLs to scan.
            - `scannerState` ScannerState
              - …
      - `stack` Framework[] — Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.
        - `id` string, required — A unique Base58 value identifying this object.
        - `name` string, required — Name of the technology. For example, "PHP, "SQLite", "Python", "Apache", or "Wordpress". The maximum lenght is 255 characters.
        - `desc` string, nullable, required — Description of the technology. Defaults to "".
    - `blackout_period` BlackoutPeriod, required
      - `begin` string, time, required — Time of when the blackout period starts, in ISO 8601 UTC format. For example, "13:27".
      - `cease` string, time, required — Time of when the blackout period ceases, in ISO 8601 UTC format. For example, "13:27".
      - `weekdays` integer[], required
      - `enabled` boolean — If true, the blackout period is enabled.
      - `timezone` string
      - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
      - `changed_by` SimpleUser, required
        - `id` string, required — A unique Base58 value identifying this object.
        - `email` string, email — Email of the user.
        - `name` string, required — Name of the user.
  - `owners` UserLabel[] — Owner labels of the discovered asset. For example, "owner=Admin" or "owner=Admin&owner=QA".
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string, required — Name of the label. The maximum length is 255 characters.
    - `color` string — Color of the label, in RGB hexadecimal format prefixed with "#". For example, "#00FF00" for green.
    - `changed_by` SimpleUser, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `email` string, email — Email of the user.
      - `name` string, required — Name of the user.
    - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
  - `comment` string, nullable — Comment on the object.
  - `labels` ScopeLabel[] — Target labels of the discovered asset.
    - `id` string, required — A unique Base58 value identifying this object.
    - `name` string, required — Name of the label. The maximum length is 255 characters.
    - `color` string — Color of the label, in RGB hexadecimal format prefixed with "#". For example, "#00FF00" for green.
    - `changed_by` SimpleUser, required
      - `id` string, required — A unique Base58 value identifying this object.
      - `email` string, email — Email of the user.
      - `name` string, required — Name of the user.
    - `changed` string, date-time, required — Date and time of the last change, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302".
  - `redirect_from` unknown, required
  - `redirect_to` string, required — URL the discovered asset is redirected to.
  - `api_schema_file` string, uri, nullable, required

## Other responses

- `400`
- `401`
- `404`
- `500`

---

[API](https://skmtc.net/probely/apis/snyk-api-web-s-api-reference-documentation.md) · [All operations](https://skmtc.net/probely/apis/snyk-api-web-s-api-reference-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/probely/snyk-api-web-s-api-reference-documentation/versions/e29879bff01b/schema)
