Upload a flight via API (CSV log verified method)
Access & limitsPublic, no key needed · Upload & verify▾
Open to everyone. A free API key from your profile raises the limits: send it in an X-API-Key header, or as api_key= in the address.
| 5 minutes | Hour | Day | |
|---|---|---|---|
| Without a key | 60 | 600 | 5,000 |
| With a key | 1,000 | 10,000 | 50,000 |
Log in to create a free key on your profile page.
Every answer carries X-RateLimit-Remaining and X-RateLimit-Reset. Over a limit, the answer is error 429 with retry_after in seconds. Refused requests do not count.
Overzicht
Dit is de programmatische versie van het webuploadprogramma. Het neemt een vluchtlog, verifieert het precies zoals het eindpunt CSV-verificatie, en als het log echt is en nog niet is opgeslagen, voegt het de vlucht toe aan de cloud, genereert het de grafiekminiaturen en geeft het de nieuwe vlucht terug.
Als dezelfde vlucht al is geüpload, wordt deze niet opnieuw toegevoegd. In plaats daarvan wordt de bestaande vlucht teruggegeven, met de vlag duplicate ingesteld. Dit komt overeen met het gedrag van het webprogramma, dus een log opnieuw verzenden is altijd veilig.
Eindpunt
csv
Authenticatie
Geen. Uploads zijn anoniem, net als bij het webprogramma. De cryptografische verificatie is de poort: alleen echte, onbewerkte logs van een echte Nano komen erdoor, en duplicaten worden genegeerd, zodat een open eindpunt alleen legitieme logs opslaat. Een vlucht wordt aan zijn apparaat gekoppeld, en de eigenaar van het apparaat kan deze later opeisen door dat apparaat aan zijn Altimeter Cloud-account toe te voegen.
Verzoek
Stuur het vluchtlog, onbewerkt, als multipart-bestandsveld met de naam csv (of flightlog), of als platte-tekst-POST-parameter csv.
curl -X POST https://www.altimetercloud.com/nl/api/upload/ \
-F "csv=@flight_1234.csv"
Antwoord
De API geeft JSON terug. Wanneer de vlucht nieuw wordt toegevoegd, is duplicate gelijk aan false en zijn de miniaturen zojuist gegenereerd:
{
"success": true,
"verified": true,
"duplicate": false,
"verify_method": "Ed25519",
"flight": {
"id": 1234,
"url": "https://www.altimetercloud.com/nl/flights/1234/",
"firmware": "1.52",
"hardware": "4",
"device_tag": "MY-NANO",
"competitor_tag": "C-07",
"apogee": 246.4,
"apogee_time": 5.21,
"max_velocity": 98.3,
"samples": 3210,
"flight_unique_id": "a1b2c3...",
"thumbnails": {
"meters_small": "https://www.altimetercloud.com/nl/flightdata/4/1234.webp",
"meters_large": "https://www.altimetercloud.com/nl/flightdata/4/1234_l.webp",
"feet_small": "https://www.altimetercloud.com/nl/flightdata/4/1234_ft.webp",
"feet_large": "https://www.altimetercloud.com/nl/flightdata/4/1234_l_ft.webp",
"miles_small": "https://www.altimetercloud.com/nl/flightdata/4/1234_mi.webp",
"miles_large": "https://www.altimetercloud.com/nl/flightdata/4/1234_l_mi.webp",
"km_small": "https://www.altimetercloud.com/nl/flightdata/4/1234_km.webp",
"km_large": "https://www.altimetercloud.com/nl/flightdata/4/1234_l_km.webp"
}
}
}
Wanneer dezelfde vlucht al bestaat, wordt deze ongewijzigd teruggegeven, met duplicate op true en zonder de miniaturen opnieuw te genereren:
{
"success": true,
"verified": true,
"duplicate": true,
"verify_method": "Ed25519",
"flight": { "id": 1234, "url": "https://www.altimetercloud.com/nl/flights/1234/", "...": "..." }
}
Als het log de verificatie niet doorstaat, wordt het niet opgeslagen:
{
"success": false,
"verified": false,
"error": { "code": "400", "message": "Flight log failed verification" }
}
Omgaan met duplicaten
Een vlucht geldt als al opgeslagen wanneer het apparaat en de handtekening-hash overeenkomen met een reeds geüploade vlucht. In dat geval wordt er niets opnieuw toegevoegd en worden er geen grafieken opnieuw gebouwd; u ontvangt simpelweg het bestaande vlucht-id met duplicate op true.
Antwoordvelden
| Veld | Type | Beschrijving |
|---|---|---|
success | boolean | Waar als het log is geaccepteerd (nieuw opgeslagen of al aanwezig) |
verified | boolean | Of het log de cryptografische verificatie heeft doorstaan |
duplicate | boolean | Waar als de vlucht al bestond en niet opnieuw is toegevoegd |
verify_method | string | Gebruikte methode: Ed25519, HMAC-SHA256 of SHA-256 |
flight.id | integer | Het cloud-vlucht-id (nieuw of bestaand) |
flight.flight_unique_id | string | De handtekening-hash, bruikbaar met het eindpunt Vluchtinformatie |
flight.thumbnails | object | URL’s van grafiekafbeeldingen in elk formaat |
error.code / error.message | string | Foutcode en beschrijving (bij mislukking) |
Fouten
| Code | Betekenis |
|---|---|
400 (verificatie) | Het log doorstond de cryptografische verificatie niet en is niet opgeslagen |
400 (druk) | Het log doorstond de aanvullende drukcontrole niet en is niet opgeslagen |
412 | Er is geen vluchtlog in het verzoek meegestuurd |
Een vlucht opeisen
Omdat uploads anoniem zijn, is een vlucht alleen gekoppeld aan het apparaat dat deze heeft opgenomen. Om de vluchten van een apparaat over te nemen, voegt u dat apparaat toe aan uw Altimeter Cloud-account; de vluchten ervan, inclusief die via deze API zijn geüpload, worden dan automatisch opgeëist.
Opmerkingen
De verificatie is hier identiek aan het CSV-verificatie-eindpunt, dus elk log dat daar verifieert, kan hier worden geüpload. Het enige verschil is dat dit eindpunt de vlucht ook opslaat en de grafieken bouwt. Om een log te controleren zonder het op te slaan, gebruikt u in plaats daarvan het CSV-verificatie-eindpunt. Er is geen live speeltuin op deze pagina, omdat elke geslaagde aanroep een echte opgeslagen vlucht aanmaakt.
Crediting AltimeterCloud
Free to use. If you use this API, or anything made from the answers, in a commercial product or service, credit AltimeterCloud with a link to www.altimetercloud.com at the point of use: on the screen, page or printout where the data appears, for example “Data from AltimeterCloud.com”. Any credits the data's own sources ask for, listed on this page, apply as well.



















