Skip to main content
PATCH
Update an asset

Authorizations

Authorization
string
header
required

Access token from POST /oauth/token.

Headers

Idempotency-Key
string
required

A unique key, up to 256 characters, that makes the request safe to retry. Use a new UUID for each distinct request. If you send the same key again, you get the first response back, for at least 24 hours after the first request completes. Only successful (2xx) responses are stored. If the first request is still running, you get 409 idempotency_in_progress: wait the number of seconds in Retry-After, then retry. See Idempotency.

Maximum string length: 256
Example:

"b0f8e5a2-3c1d-4e6f-8a9b-0c1d2e3f4a5b"

Path Parameters

id
string<uuid>
required

Body

application/json

Updates a CUSTOM or INFORMATION asset. Only the fields you send change. A field set by a Secfix tag on the asset (an owner, description or data-stored flag) can't be changed; the update is rejected with validation_failed on that field.

classification
string

Data classification: RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC or UNKNOWN, in any letter case.

Example:

"CONFIDENTIAL"

customIdentifier
string

Serial number or asset ID, shown in Secfix as ID/Serial No. Up to 255 characters. You can't change externalSource or externalAssetId; they're set on create.

Maximum string length: 255
Example:

"SN-12345"

dataStored
object

What data the asset stores. On create, fields you leave out stay unset.

description
string

Asset description, up to 500 characters.

Maximum string length: 500
Example:

"Primary production web server."

name
string

New asset name, 1-255 characters. Leading and trailing spaces are removed, and a blank name is rejected.

Maximum string length: 255
Example:

"Finance laptop pool"

ownerEmail
string

New owner's email address, instead of ownerId. Case-insensitive. Must belong to an active employee in your workspace who is included in compliance.

Maximum string length: 320
Example:

"jane.doe@example.com"

ownerId
string<uuid>

New owner's employee id.

Example:

"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"

tags
object[]

Your workspace's tags to set on the asset. Tags you leave out are removed. Each key must be a tag key that exists in your workspace; an unknown key is rejected. Tags managed by Secfix are read-only and stay as they are, so you don't need to send them. Single-asset PATCH only; not supported in a batch.

Maximum array length: 20

Response

Asset updated.

An inventory asset. Fields marked with a category are only set for assets in that category. For EMPLOYEE assets, id is the employee's id.

accountId
string

Cloud account id. CLOUD assets only.

Example:

"123456789012"

auditStatus
enum<string>
read-only

Audit status, as shown in the Secfix app: COMPLETE when every field the category needs for an audit is set, otherwise INCOMPLETE. Left out when Secfix hasn't computed it yet. Read-only.

Available options:
COMPLETE,
INCOMPLETE
Example:

"INCOMPLETE"

categoryKey
enum<string>

The asset's category key. For cloud assets it's the sub-type, such as CLOUD_QUEUE.

Available options:
CLOUD,
COMPUTER,
CUSTOM,
INFORMATION,
EMPLOYEE
Example:

"CLOUD"

classification
string

Data classification.

Example:

"CONFIDENTIAL"

createdAt
string<date-time>

When the asset was created (UTC).

Example:

"2026-01-15T09:30:00.000Z"

customIdentifier
string

Serial number or asset ID, shown in Secfix as ID/Serial No.: the provider's resource id for cloud assets, the serial number for computers, and free text for CUSTOM and INFORMATION assets. Not unique.

Example:

"i-0abc123def456"

dataStored
object

What data a CUSTOM or INFORMATION asset stores. Set it with dataStored on create or update.

description
string

Asset description.

Example:

"Primary production web server."

email
string

Employee's email address. Personal data. EMPLOYEE assets only.

Example:

"jane.doe@example.com"

externalAssetId
string

The asset's id in your system, as sent on create. Left out for other assets.

Example:

"CI-1042"

externalSource
string

The system the asset comes from, as sent on create. Only set on CUSTOM and INFORMATION assets created through the API.

Example:

"servicenow-cmdb"

id
string<uuid>

The asset's id (UUID).

Example:

"3f1c9a2e-8b4d-4e7a-9c1f-2a5b6c7d8e9f"

lastCheckedAt
string<date-time>

When the asset was last checked for compliance (UTC). Left out for assets that aren't checked.

Example:

"2026-06-30T02:00:00.000Z"

name
string

Asset name.

Example:

"prod-web-01"

osVersion
string

Operating system and version. COMPUTER assets only.

Example:

"macOS 14.5"

ownerId
string<uuid>

Owner's employee id: the owner the Secfix app shows. The owner can be someone GET /v1/employees doesn't list, such as a service account or a person excluded from compliance, so looking them up there can return 404.

Example:

"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"

ownerSource
string

Where the owner assignment comes from.

Example:

"MANUAL"

ownerStatus
enum<string>
read-only

COMPLETE when the asset has an owner, otherwise INCOMPLETE. Set for every category. This isn't the audit status; see auditStatus. Read-only.

Available options:
COMPLETE,
INCOMPLETE
Example:

"COMPLETE"

region
string

Cloud region or location. CLOUD assets only.

Example:

"eu-central-1"

serialNumber
string

Hardware serial number. COMPUTER assets only.

Example:

"C02XY1234ABC"

tags
object[]

Tags on the asset.

type
string

Asset type within its category.

Example:

"SERVER"