Overview
This release transitions from integer IDs to UUIDs for primary identifiers across most API endpoints, modernizes THOR scan configuration, and removes deprecated features.
Migration Checklist
High-level list of what developers need to audit in their code:
-
Update all asset ID references from integers to UUIDs
-
Replace integer task/group-task/scheduled-group-tasks IDs with UUIDs
-
Remove deprecated Bifrost Quarantine integration
-
Update THOR scan parameters (scanner/signatures → lite/version-pinning)
-
Handle removed software_list in asset search responses
Changes by Category
Asset Management
Endpoints requiring UUID migration
-
POST /asset/labels/add-clientarray now requires UUIDs -
POST /assets/labels/remove-clientarray now requires UUIDs
Modified responses
GET /assets/search
-
data.idis now a string UUID (integer ID available asdata.old_id) -
⚠️ BREAKING:
data.additional.software_listremoved-
The data is still available in the Asset Details or in the new Software Inventory page
-
If you need access to this data via the API, please contact support
-
Documentation changes
-
GET /assets/search/all -
GET /assets/search/deleted -
Note: These endpoints still function as before, but are now documented as path parameters for
/assets/searchinstead of separate endpoints
Response Control
Endpoints with UUID path parameters
All previously integer {id} parameters are now UUIDs:
-
POST /cron-grouped-tasks/edit/generic/{id} -
POST /cron-grouped-tasks/edit/interrogate/{id} -
POST /cron-grouped-tasks/edit/update/{id} -
GET /playbooks/commandline/{type}/download/{task}/{step}-taskparam -
GET /playbooks/uploadfile/{type}/download/{task}/{step}-taskparam -
GET /grouped-tasks/results/{id} -
GET /thor-scan-result/{id}
Endpoints requiring UUID in request body
POST /tasks/new-task/{type}
-
clientarray now requires UUID strings
POST /grouped-tasks/new-grouped-task/{type}
-
Asset IDs in (AQL) queries must now be UUID strings
POST /cron-grouped-tasks/new-cron-grouped-task/{type}
-
Asset IDs in (AQL) queries must now be UUID strings
Where {type} is one of: generic, interrogate, update
Modified search responses
All search endpoints now return UUIDs as primary identifier:
-
GET /tasks/search -
GET /grouped-tasks/search -
GET /cron-grouped-tasks/search
Changes:
-
data[n].idis now a UUID string (was integer) -
data[n].uuidremoved (merged intoid) -
data[n].asgard_idremoved
Scan Control (THOR)
THOR scan parameter changes
All THOR scan creation/editing endpoints have updated parameters.
Removed parameters:
-
scanner(string) -
signatures(string)
New parameters:
-
signatures-version-pinning(UUID string) -
thor-version-pinning(UUID string) -
lite(boolean)-
Whether to use THOR Lite
-
Affected endpoints:
-
POST /tasks/new-task/thor-
clientarray now requires UUID strings
-
-
POST /grouped-tasks/new-grouped-task/thor-
Asset (client) IDs in (AQL) queries must now be UUID strings
-
-
POST /cron-grouped-tasks/new-cron-grouped-task/thor-
Asset (client) IDs in (AQL) queries must now be UUID strings
-
-
POST /cron-grouped-tasks/edit/thor/{id}
THOR scan search response changes
GET /tasks/search/thor and GET /tasks/search/{module}
Changes:
-
data[n].idis now a UUID string (integer ID available asdata[n].old_id) -
data[n].asgard_idremoved -
data[n].uuidremoved (nowdata[n].id) -
data[n].clientis now a UUID string -
data[n].grouped_taskis now a UUID string -
data[n].master_grouped_taskis now a UUID string
GET /grouped-tasks/search/thor and GET /grouped-tasks/search/{module}
Changes:
-
data[n].idis now a UUID string (integer ID available asdata[n].old_id) -
data[n].asgard_idremoved -
data[n].uuidremoved (nowdata[n].id) -
data[n].cron_grouped_taskis now a UUID string -
data[n].master_grouped_taskis now a UUID string
GET /cron-grouped-tasks/search/thor and GET /cron-grouped-tasks/search/{module}
Changes:
-
data[n].idis now a UUID string (integer ID available asdata[n].old_id) -
data[n].asgard_idremoved
Thunderstorm
GET /thunderstorm/config and POST /thunderstorm/config
-
thorVersionhas been replaced withthorVersionPinningID
POST /thunderstorm/deleteLicense
-
REMOVED
Removed Features
Bifrost Quarantine
Completely removed - Bifrost is no longer supported.
THOR and Signatures Updates Section
Removed - functionality replaced by version pinning. Use the UI to manage THOR and signature versions.
Migration Examples
Example 1: Asset ID migration
// Before: Integer IDs
POST /tasks/new-task/generic
{
"client": [123, 456, 789]
}
// After: UUID strings
POST /tasks/new-task/generic
{
"client": [
"550e8400-e29b-41d4-a716-446655440000",
"6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
]
}
Example 2: THOR scanner configuration
// Before: Scanner selection
POST /tasks/new-task/thor
{
"scanner": "thor10",
"signatures": "latest",
"client": [123, 456]
}
// After: Version pinning
POST /tasks/new-task/thor
{
"thor-version-pinning": "550e8400-e29b-41d4-a716-446655440000",
"signatures-version-pinning": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"lite": false,
"stream-events": true,
"client": [
"7c9e6679-7425-40de-944b-e07fc1f90ae7",
"8d0f7780-8536-51ef-a05c-f18ad2e10bf9"
]
}
Example 3: Handling search response changes
// Before: Integer IDs
GET /tasks/search
Response:
{
"data": [
{
"id": 12345,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"asgard_id": 1,
"client": 789
}
]
}
// After: UUID as primary ID
GET /tasks/search
Response:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"old_id": 12345,
"client": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
]
}
Getting Help
If you need assistance updating your internal tooling or have questions about these changes, please contact our support team before upgrading.