Developers

The record, through an API.

REST and JSON, webhooks for what happens, and an open seal check. Build the record into dealer systems, fleet tools and case management.

curlJavaScriptPythonIllustrative
# the last three readings for Aurora
curl https://api.sensolytica.com/v1/vessels/SO-4471/readings?limit=3 \
  -H "Authorization: Bearer $SENSOLYTICA_KEY"

{
  "vessel": "SO-4471",
  "chain": { "intact": true, "head": "9e427a1c" },
  "readings": [
    { "at": "14:32:07Z", "unit": "HBR-02", "kind": "speed", "value": 7.8, "seal": "9e427a1c" },
    { "at": "14:32:06Z", "unit": "DRV-0418", "kind": "rpm", "value": 1466, "seal": "3b07c2d8" },
    { "at": "14:32:05Z", "unit": "AIS", "kind": "sog", "value": 7.6, "seal": "f15a08e3" }
  ]
}

Request and response illustrative.

Four building blocks.

Records

GET /v1/vessels/{id}

One vessel or vehicle, with its units and the head of its seal chain.

Readings

GET /v1/readings

Every reading, filtered by unit, record, kind and time, with source and seal.

Webhooks

POST your-url

Told the moment a batch is sealed, a decision is made or a unit goes quiet.

Seal check

POST /v1/seals/check

Send a reading and its Merkle path, get back whether its batch seal, signature and chain match. No account needed.

Told, not polling.

batch.sealedA sealed batch landed; its signature and chain were checked
match.reviewA reading could not be matched to a record with confidence
review.createdA reading needs a person to look
review.decidedAn operator made a decision, with the reason
alert.raisedA drive crossed a health threshold
unit.offlineA unit has not reported for 30 minutes
# POST to your endpoint, signed
{
  "event": "review.decided",
  "record": "SO-4471",
  "reading": "9e427a1c",
  "decision": "over_limit",
  "by": "operator",
  "reason": "Confirmed by drive unit and AIS"
}

Started in ten minutes.

Get a key

An authority admin creates one in the portal, scoped to read or read and decide.

Read a record

Call /v1/vessels with a registration or a unit ID.

Subscribe

Add a webhook URL and choose the events you want.

Bring your logs.

No live link from an outboard? Upload the CSV its own app exports. Known formats are recognised, the columns mapped, a time zone chosen, and every row checked against the quality levels before it joins the record.

Imported readings keep the original file and its hash, and are marked imported, not sealed at source. They never count as evidence on their own. Any record can be exported as CSV.

  1. 1Upload the CSV
  2. 2Recognise or map the columns
  3. 3Choose the time zone
  4. 4Assign the vessel and drive
  5. 5Preview and check quality
  6. 6Import, sealed and marked

Talk to an engineer.

Integrating with a dealer system, a fleet tool or a case management platform? We will help you plan it.