CSV Flight log verification API

No rate limit Public — no authentication required

Overview

CSV flight logs produced by our altimeters include a cryptographic verification signature. This API verifies whether a flight log is genuine and exactly as written by the altimeter, or whether it has been modified.

The signature is generated inside the altimeter by AES-256 encrypted firmware, making it computationally infeasible to forge. Firmware 1.52 and later sign the log with an Ed25519 signature; earlier firmware uses a SHA-256 based hash. Either way, both the flight data and the header settings must be unchanged to pass verification.

This currently supports the Nano Altimeter, with support for all devices coming soon. You can also verify logs using the upload tool.

Endpoint

POST https://www.altimetercloud.com/api/csv_verify/ Parameter: csv

POST the entire CSV flight log, unedited, to the endpoint above. The CSV content should be sent under the parameter csv.

Response

The API returns JSON. On success you will receive the verification method used and the parsed flight details:

✓ Verified
{
  "success": true,
  "log_lines": 825,
  "input_bytes": 4187,
  "verify_method": "SHA-256",
  "firmware": "1.43b",
  "hardware": "2",
  "device_tag": "MyNano",
  "competitor_tag": "",
  "apogee": 2.54,
  "apogee_time": 826,
  "max_velocity": 5.910,
  "landing_m": 0.784,
  "landing_t": 2.253,
  "flight_unique_id": "e1eb3e800d780a0b69670f03a88e2f45c592b6e79065fc08cf83241530a60c5a"
}

If the flight log fails verification or the request is empty:

✗ Failed
{
  "success": false,
  "log_lines": 825,
  "error": {
    "code": "400",
    "message": "Flight log failed verification (STEP=SHA256)"
  }
}
✗ Missing data
{
  "success": false,
  "error": {
    "code": "412",
    "message": "No flight log supplied as a POST using the parameter csv="
  }
}

Response fields

FieldTypeDescription
successbooleanWhether the flight log passed verification
verify_methodstringMethod that verified the log: Ed25519 (firmware 1.52+), HMAC-SHA256 (1.50–1.51) or SHA-256 (older)
log_linesintegerNumber of data lines in the flight log
input_bytesintegerSize of the submitted log in bytes
firmwarestringFirmware version from the log header
hardwarestringHardware revision from the log header
device_tagstringThe device tag from the log
competitor_tagstringThe competitor tag, if present (firmware 1.51+)
apogeefloatPeak altitude in metres
apogee_timeintegerTime of apogee in milliseconds
max_velocityfloatMaximum ascent velocity in metres per second
landing_mfloatLanding height in metres
landing_tfloatLanding time in seconds
flight_unique_idstringThe log's signature hash. Pass this to the Flight Info endpoint as hash. It is 128 hex characters for firmware 1.52+ (Ed25519), or 64 hex for older logs
error.codestringHTTP-style error code (on failure)
error.messagestringHuman-readable error description (on failure)

API Playground

Test the API live. We've pre-loaded a sample Nano V1 flight log below — click Run to verify it, or edit the data to test a failed verification.

POST body — parameter: csv
https://www.altimetercloud.com/api/csv_verify/