Explorer Ops
Retrieves the status of explorer operations in this project - those waiting to run, currently running, and those that have completed in the last 24 hours. Use it to track operations queued by Explorer Scan and Explorer Learn.
GET /v1/explorer/ops
curl https://api.novant.io/v1/explorer/ops \
-u ak_sample_123: \
--compressedReturns
Returns every explorer operation in the project. A single request
covers all outstanding operations, so there is no need to poll per
op_id.
{
"ops": [
{
"id": "0a1b2c3d4e5f6a7b",
"op": "bacnet-scan",
"state": "active",
"node_id": "NA00000000V1",
"started": "2026-08-08T14:22:08Z"
},
{
"id": "1b2c3d4e5f6a7b8c",
"op": "bacnet-learn",
"state": "queued",
"node_id": "NA00000000V1",
"source_id": "c1578fe370e4"
},
{
"id": "2c3d4e5f6a7b8c9d",
"op": "bacnet-scan",
"state": "ok",
"node_id": "NA00000000V1",
"started": "2026-08-08T13:55:02Z",
"finished": "2026-08-08T13:56:14Z",
"summary": "Found 12 sources"
},
{
"id": "3d4e5f6a7b8c9d0e",
"op": "jasper-scan",
"state": "error",
"node_id": "NA00000000V1",
"started": "2026-08-08T13:40:11Z",
"finished": "2026-08-08T13:40:53Z",
"err_code": "E12"
},
...
]
}The id field is the op_id returned when the
operation was queued, and op is the operation that was
requested.
state is one of:
| State | Description |
|---|---|
queued |
Waiting for the edge node to pick it up. |
active |
Currently running on the edge node. |
ok |
Completed successfully. |
error |
Failed. See err_code. |
source_id is present for learn operations and identifies
the source being read. started is set once the operation
begins, and finished once it reaches ok or
error — subtract the two for the elapsed time.
summary is a human-readable result for completed
operations (i.e.: "Found 12 sources").
err_code is present only when state is
error; see Error Codes for
details on each code.
Completed operations are retained for 24 hours. An
op_id that no longer appears in the list completed more
than 24 hours ago; it is not an error.
Polling
Discovery operations run on physical equipment and take minutes, not seconds. Do not poll faster than once every 30 seconds. A single request returns every outstanding operation, so tracking several at once costs no more than tracking one.
Each poll counts against your monthly API usage. See Rate Limits.