{"name":"Simplycity OEM / operator integration contract","version":"v1-draft","auth":"Header X-Api-Key (issued by a Simplycity administrator; scoped, revocable, stored hashed)","principles":["OEM/operator remains the source of truth for aircraft data; Simplycity records source, quality and time.","Stale or missing data fails release rules closed \u2014 it is never treated as healthy."],"endpoints":[{"method":"POST","path":"/api/v1/telemetry","purpose":"Aircraft state while on the ground or airborne (recommended 1 Hz airborne, \u22650.2 Hz on ground)","body":{"asset_id":"NL-041","ts":"epoch seconds (\u00b1120 s of server time)","position":{"lat":52.36,"lon":4.84,"alt_m":110},"speed_ms":26.4,"heading_deg":118,"flight_mode":"PAD|VERTICAL_CLIMB|TRANSITION_OUT|CRUISE|LOITER|TRANSITION_IN|VERTICAL_DESCENT|LANDED","route_progress":0.42,"eta_s":420,"soc_pct":71.5,"predicted_soc_dest_pct":52.0,"batt_temp_c":33.1,"link":{"primary":"up","contingency":"up","quality":0.93},"faults":[],"deviation_m":8,"config_version":"SC17-CFG-0.1"},"returns":"receipt with quality assessment; violations of route/energy/link rules raise alerts"},{"method":"GET","path":"/api/v1/missions/{id}/package","purpose":"Outbound mission package: route configuration version, waypoints, payload class, window, release status, escalation contact"},{"method":"POST","path":"/api/v1/assets/{id}/availability","purpose":"Report READY or MAINTENANCE (not while reserved/on mission)","body":{"state":"READY|MAINTENANCE","reason":"text"}},{"method":"POST","path":"/api/v1/missions/{id}/post-flight","purpose":"Post-flight report; discrepancies against received telemetry are flagged","body":{"actual_takeoff":"epoch","actual_landing":"epoch","energy_kwh":0.172,"route_adherence_pct":98.4,"exception_codes":[],"noise_dba_lmax":71.2}}],"errors":{"401":"missing/invalid key","404":"unknown asset or mission","422":"validation failure (plausibility ranges, stale timestamp)","429":"rate limit"}}