BI Assets Endpunkt
Greifen Sie auf Asset-Daten in einem abgeflachten Format zu, das für Business-Intelligence-Tools optimiert ist. Alle Felder befinden sich auf der Wurzelebene für eine direkte Spaltenzuordnung.
Hauptunterschied zur öffentlichen API
Die BI-API gibt eine vollständig flache Struktur zurück – keine verschachtelten Objekte. Das macht sie perfekt für Tools, die tabellarische Daten erwarten:
- •Alle Felder sind auf der obersten Ebene (keine Verschachtelung)
- •Arrays werden in durch Kommas getrennte Zeichenfolgen konvertiert
- •Objekte werden als JSON-Zeichenfolgen serialisiert
Verfügbare Endpunkte
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/bi/v1/assets | Alle Assets im abgeflachten Format auflisten |
| GET | /api/bi/v1/assets/count | Gesamtanzahl der Assets abrufen |
| GET | /api/bi/v1/assets/{assetId} | Ein spezifisches Asset anhand der ID abrufen |
/assetsAlle Assets auflisten
Gibt eine paginierte Liste von Assets zurück, wobei alle Felder auf die Root-Ebene abgeflacht sind. Ideal für den Massenexport von Daten an BI-Tools.
Abfrageparameter
| Parameter | Type | Description |
|---|---|---|
| status | string | Filtern nach Asset-Status (z. B. ACTIVE, INACTIVE) |
| policy | string | Filtern nach zugewiesenem Policy-Pfadnamen |
| page | integer | Seitennummer (0-indiziert, Standard: 0) |
| size | integer | Seitengröße (Standard: 20, Maximum: 100) |
| sort | string | Sortierfeld und Richtung (z. B. lastSyncAt,desc) |
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets?status=ACTIVE&page=0&size=100" \
-H "X-API-Key: nm_acme_abc123..."{
"content": [
{
"pathName": "enterprises/acme/assets/asset_abc123",
"identification": "Warehouse Scanner 01",
"name": "WH-SCANNER-001",
"description": "Main warehouse barcode scanner",
"serialNumber": "ABC123XYZ",
"imeis": "123456789012345",
"brand": "Samsung",
"model": "Galaxy Tab Active3",
"status": "ACTIVE",
"lastSyncAt": "2026-01-29T08:15:00Z",
"enrollmentTime": "2025-01-15T10:30:00Z",
"policyPathName": "enterprises/acme/policies/warehouse",
"policyDisplayName": "Warehouse Policy",
"policyGroupName": "Warehouse",
"metadata": "{\"department\":\"logistics\",\"location\":\"warehouse-a\"}",
"tags": "warehouse,scanner,critical",
"operatingSystem": "Android",
"operatingSystemVersion": "13"
}
],
"totalElements": 156,
"totalPages": 2,
"size": 100,
"number": 0
}/assets/countAsset-Anzahl abrufen
Gibt die Gesamtzahl der Assets zurück, die den Filterkriterien entsprechen. Nützlich für Paginierungsberechnungen.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/count?status=ACTIVE" \
-H "X-API-Key: nm_acme_abc123..."{
"count": 156
}/assets/{assetId}Spezifisches Asset abrufen
Gibt ein einzelnes Asset im flachen Format anhand seiner Asset-ID zurück.
curl -X GET "https://api.nomid.tech/emm/api/bi/v1/assets/asset_abc123" \
-H "X-API-Key: nm_acme_abc123..."BiAssetDto-Schema
Jedes Asset-Objekt folgt der flachen Struktur von BiAssetDto. Alle Felder sind auf der Root-Ebene Strings – keine verschachtelten Objekte oder Arrays.
| Field | Type | Description |
|---|---|---|
| Identifikatoren | ||
| pathName | string | Vollständiger Asset-Pfad (z. B. Unternehmen/acme/assets/abc123) |
| identification | string | Benutzerfreundlicher Identifikator für das Asset |
| name | string | Gerätename |
| description | string | Gerätebeschreibung |
| Hardware-Info | ||
| serialNumber | string | Gerätenummer |
| imeis | string | IMEI-Nummern (bei mehreren durch Komma getrennt) |
| brand | string | Gerätehersteller/Marke |
| model | string | Gerätemodellname |
| Status & Zeitstempel | ||
| status | string | Asset-Status (AKTIV, INAKTIV) |
| lastSyncAt | string | Zeitstempel der letzten Synchronisierung (ISO 8601) |
| enrollmentTime | string | Zeitstempel der Geräteregistrierung (ISO 8601) |
| Richtlinieninfo | ||
| policyPathName | string | Vollständiger Pfad der zugewiesenen Richtlinie |
| policyDisplayName | string | Lesbarer Richtlinienname |
| policyGroupName | string | Richtliniengruppe zur Kategorisierung |
| Benutzerdefinierte Daten | ||
| metadata | string | Benutzerdefinierte Metadaten als JSON-String |
| tags | string | Tags als durch Kommas getrennter String |
| Betriebssystem | ||
| operatingSystem | string | Betriebssystemname (z. B. Android) |
| operatingSystemVersion | string | Betriebssystem-Versionsnummer |
Public API vs. BI API
Der Hauptunterschied liegt in der Antwortstruktur. Die Public API verwendet verschachtelte Objekte zur Organisation, während die BI API alles abflacht, um die Spaltenzuordnung zu erleichtern.
Public API (verschachtelt)
// Public API Response (nested)
{
"pathName": "enterprises/acme/assets/abc123",
"customData": {
"metadata": { "department": "logistics" },
"tags": ["warehouse", "scanner"]
},
"specifications": {
"imeis": ["123456789012345"],
"serialNumber": "ABC123XYZ",
"brand": "Samsung"
},
"managedDevice": {
"policyPathName": "enterprises/acme/policies/warehouse"
}
}BI API (flach)
// BI API Response (flat)
{
"pathName": "enterprises/acme/assets/abc123",
"metadata": "{\"department\":\"logistics\"}",
"tags": "warehouse,scanner",
"imeis": "123456789012345",
"serialNumber": "ABC123XYZ",
"brand": "Samsung",
"policyPathName": "enterprises/acme/policies/warehouse"
}Paginierung
Die Ergebnisse werden mit demselben Format wie die Public API paginiert. Verwenden Sie die Parameter page und size, um große Datensätze zu durchsuchen.
Tipp: Für Massenexporte verwenden Sie size=100 (maximal) und durchlaufen Sie alle Seiten. Die obigen Power BI- und Python-Beispiele zeigen, wie alle Seiten automatisch abgerufen werden.