MyMeter — Developer documentation

BEN MyMeter API

Machine/IoT API — report metering data and query it back. Contract version: 1.0 · OpenAPI specification

Quickstart — first data in minutes

  1. Create a workspace account (or accept your invitation) and log in.
  2. In Settings → API tokens, mint a token with the data:report scope. The token is shown exactly once — store it on the device.
  3. Send your first readings — copy, insert the token, run:
curl -X POST https://mymeter.christoph-bimminger.at/api/v1/reportData \
  -H 'Authorization: Bearer <your-token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "readings": [
        {
            "meter": "MTR-00012345",
            "kind": "consumption",
            "value": 1.25,
            "unit": "kwh",
            "recorded_at": "2026-08-15T10:00:00Z"
        }
    ]
}'

Unknown meter identifiers are provisioned automatically and appear under "Ungrouped meters"; retries of the same report are idempotent and never double-count.

Verify the token separately with an authenticated ping: curl -H 'Authorization: Bearer <your-token>' https://mymeter.christoph-bimminger.at/api/v1/ping

Minimal device example (Python)

# Report one consumption reading — the same payload as the curl quickstart.
import json, urllib.request

TOKEN = "<your-token>"
body = {
    "readings": [{
        "meter": "MTR-00012345",         # your device identifier
        "kind": "consumption",            # consumption | saldo
        "value": 1.25,
        "unit": "kwh",                    # kwh | wh | m3 | l
        "recorded_at": "2026-08-15T10:00:00Z",
    }]
}
req = urllib.request.Request(
    "https://mymeter.christoph-bimminger.at/api/v1/reportData",
    data=json.dumps(body).encode(),
    headers={"Authorization": "Bearer " + TOKEN,
             "Content-Type": "application/json"},
)
print(urllib.request.urlopen(req).read().decode())

Endpoints

EndpointSummaryScope
GET /api/v1/ping Authenticated liveness probe
POST /api/v1/reportData Report consumption / saldo readings (batch) data:report
GET /api/v1/meters List the tenant's meters data:read
GET /api/v1/readings Query readings (raw or aggregated) data:read
GET /api/v1/statusReports Query device-status history

Full API reference →