Read / Write API
The External Asset Manager API lets you read and write assets, types, and properties programmatically.
Base URL: https://<your-vsec-domain>/api/ext/v1/asset-manager
Authentication
All requests require an X-API-Key header:
X-API-Key: <your_provider_token>Generate a token in Asset Manager → Settings → Providers. See Enrichment → Custom Enrichment Providers.
Assets
GET /asset
Retrieve all assets with their property values and parent-child links.
Response 200:
{
"data": [
{
"id": 1,
"assetName": "Compact A 2026",
"type": "Vehicle",
"createdAt": "2024-08-26T15:45:35.000Z",
"updatedAt": "2024-08-26T15:45:35.000Z",
"properties": [
{
"name": "Vehicle Line",
"value": "Compact A",
"dataType": 3
},
{
"name": "Interfaces",
"value": ["Wi-Fi", "Bluetooth", "CAN"],
"dataType": 2
}
],
"links": [2, 3]
}
]
}links— array of asset IDs that are children of this asset
PUT /asset
Create a new asset.
Request body:
{
"name": "Telematics Control Unit",
"typeId": 3,
"properties": [
{ "propertyId": 3, "value": ["CAN", "Cellular"] },
{ "propertyId": 1, "value": "Jane Smith" }
],
"team": 7
}| Field | Required | Description |
|---|---|---|
name | No | Display name for the asset |
typeId | Yes | ID of the asset type (from GET /type) |
properties | Yes | Array of { propertyId, value } pairs |
team | No | Team ID to scope this asset to |
Use GET /type to find valid type IDs, and GET /property to find property IDs.
Response 201: Asset created successfully.
Response 400: Invalid type, property ID, or missing required fields.
PATCH /asset
Update an existing asset’s name and/or property values.
Request body:
{
"assetId": 2,
"name": "Telematics ECU (Updated)",
"properties": [
{ "propertyValueId": 14, "value": "John Doe" }
]
}| Field | Required | Description |
|---|---|---|
assetId | Yes | ID of the asset to update |
name | Yes | New display name |
properties | Yes | Array of { propertyValueId, value } — use the propertyValueId from the existing property value, not the property definition ID |
Response 200: Asset updated successfully.
Response 404: Asset not found.
Properties
GET /property
Retrieve all property definitions.
Response 200:
[
{
"id": 1,
"name": "Product Owner",
"dataType": 3,
"metadata": null
},
{
"id": 3,
"name": "Interfaces",
"dataType": 2,
"metadata": [
{ "id": 1, "value": "Wi-Fi" },
{ "id": 2, "value": "Bluetooth" },
{ "id": 3, "value": "Cellular" },
{ "id": 4, "value": "CAN" }
]
}
]dataType values:
| Value | Type |
|---|---|
| 2 | Multi-select |
| 3 | Text |
| 9 | Tags / Keywords |
For multi-select properties, valid options are listed in metadata.
Types
GET /type
Retrieve all asset types with their associated properties.
Response 200:
[
{
"id": 1,
"name": "Vehicle",
"description": null,
"icon": "car",
"parentId": null,
"children": [4, 5],
"properties": [
{
"id": 1,
"name": "Product Owner",
"dataType": "3",
"metadata": null
}
]
}
]Use the id from this response as typeId when creating assets.