Nodeflux Central
Assignment

API Reference — Assignment

Endpoint untuk mengelola Assignment analitik ke stream — template konfigurasi analitik, preset konfigurasi, dan drawing preset ROI.

Semua endpoint memerlukan header Authorization: Bearer <token>. Basis URL mengikuti variabel lingkungan VITE_API_URL yang dikonfigurasi pada instalasi Lenz. Jika Anda belum punya token, lihat halaman Otentikasi.

Endpoint Pipeline CRUD (GET/POST/PUT/DELETE /api/visionaire/pipeline/:nodeId/:streamId/:analyticId) dan daftar analitik (/api/visionaire/analytic_list) didokumentasikan di halaman Video Analysis, karena path tersebut digunakan bersama antara stream langsung dan analisis video.


Template Konfigurasi

Endpoint untuk mengambil skema konfigurasi analitik dalam dua format: JSON mentah (v1) dan form terstruktur (v2). Digunakan oleh UI saat pengguna mengaktifkan konfigurasi kustom pada halaman Assignment.

Template Konfigurasi Pipeline

GET
/api/visionaire/config/pipeline/{analyticId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

analyticId*string

ID analitik.

Query Parameters

instance?string

ID instance pada mode federation (opsional).

Response Body

application/json

curl -X GET "https://lenz.example.com/api/visionaire/config/pipeline/NFV4-MPA"
{  "code": 200,  "config": {    "object_confidence_threshold": 0.5,    "dump_ignore_iou_threshold": 0.3,    "dumping_sampling_time": 5,    "enable_visual_label": true  }}

Template Konfigurasi Pipeline v2 (Form Terstruktur)

GET
/api/visionaire/v2/config/pipeline/{analyticId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

analyticId*string

ID analitik.

Query Parameters

instance?string

ID instance pada mode federation (opsional).

Response Body

application/json

curl -X GET "https://lenz.example.com/api/visionaire/v2/config/pipeline/NFV4-MPA"
{  "code": 200,  "message": "success",  "analytic_id": "NFV4-MPA",  "configs": [    {      "name": "object_confidence_threshold",      "type": "float",      "desc": "Threshold kepercayaan deteksi objek",      "group": "detection",      "value": 0.5,      "required": false,      "min": 0,      "max": 1,      "step": 0.05    }  ],  "sub_analytics": []}

Preset Konfigurasi

Endpoint untuk mengambil preset konfigurasi analitik yang disiapkan oleh administrator. Preset berisi nilai parameter yang sudah dioptimalkan untuk skenario tertentu dan dapat dimuat langsung ke form konfigurasi.

Daftar Preset Konfigurasi

GET
/api/visionaire/config/preset/{analyticId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

analyticId*string

ID analitik.

Query Parameters

instance?string

ID instance pada mode federation (opsional).

Response Body

application/json

curl -X GET "https://lenz.example.com/api/visionaire/config/preset/NFV4-FR"
{  "code": 200,  "analytic_id": "NFV4-FR",  "result": [    {      "name": "Threshold Ketat",      "description": "Konfigurasi dengan threshold tinggi untuk mengurangi false positive.",      "config": {        "object_confidence_threshold": 0.8      }    },    {      "name": "Threshold Longgar",      "description": "Konfigurasi dengan threshold rendah untuk area berkecepatan tinggi.",      "config": {        "object_confidence_threshold": 0.3      }    }  ]}

Drawing Preset

Endpoint untuk menyimpan dan memuat preset konfigurasi ROI (drawing preset). Drawing preset memungkinkan pengguna menyimpan posisi garis dan poligon yang sudah digambar agar dapat digunakan ulang pada stream lain dengan sudut kamera serupa.

Daftar Drawing Preset

GET
/api/streams/drawing-presets

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

analytic_id*string

ID analitik untuk memfilter preset.

logic?string

Logika spesifik untuk memfilter lebih lanjut (counting, dwelling, dll.) — opsional.

Response Body

application/json

curl -X GET "https://lenz.example.com/api/streams/drawing-presets?analytic_id=NFV4-MPA&logic=counting"
{  "ok": true,  "message": "success",  "data": [    {      "id": "preset-uuid-001",      "name": "Garis Pintu Utama",      "analytic_id": "NFV4-MPA",      "logic": "counting",      "shapes": [        {          "type": "line",          "id": "shape-01",          "name": "Line A",          "points": [            {              "x": 0.2,              "y": 0.5            },            {              "x": 0.8,              "y": 0.5            }          ],          "direction": "both",          "color": "#3b82f6"        }      ],      "created_by": 1,      "created_at": "2025-03-10T08:00:00Z",      "updated_at": null    }  ]}

Simpan Drawing Preset

POST
/api/streams/drawing-presets

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://lenz.example.com/api/streams/drawing-presets" \  -H "Content-Type: application/json" \  -d '{    "name": "Garis Pintu Utama",    "analytic_id": "NFV4-MPA",    "logic": "counting",    "shapes": [      {        "type": "line",        "id": "shape-01",        "name": "Line A",        "points": [          {            "x": 0.2,            "y": 0.5          },          {            "x": 0.8,            "y": 0.5          }        ],        "direction": "both",        "color": "#3b82f6"      }    ]  }'
{  "ok": true,  "message": "success",  "data": {    "id": "preset-uuid-002",    "name": "Garis Pintu Utama",    "analytic_id": "NFV4-MPA",    "logic": "counting",    "shapes": [],    "created_by": 1,    "created_at": "2025-06-01T09:00:00Z",    "updated_at": null  }}

Perbarui Drawing Preset

PUT
/api/streams/drawing-presets/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

UUID drawing preset.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name*string

Nama baru untuk preset.

Response Body

application/json

curl -X PUT "https://lenz.example.com/api/streams/drawing-presets/preset-uuid-001" \  -H "Content-Type: application/json" \  -d '{    "name": "Garis Pintu Utama — Revisi"  }'
{  "ok": true,  "message": "success",  "data": {    "id": "preset-uuid-001",    "name": "Garis Pintu Utama — Revisi",    "analytic_id": "NFV4-MPA",    "logic": "counting",    "shapes": [],    "created_by": 1,    "created_at": "2025-03-10T08:00:00Z",    "updated_at": "2025-06-01T10:00:00Z"  }}

Hapus Drawing Preset

DELETE
/api/streams/drawing-presets/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

UUID drawing preset.

Response Body

application/json

curl -X DELETE "https://lenz.example.com/api/streams/drawing-presets/preset-uuid-001"
{  "ok": true,  "message": "success"}

On this page