{"openapi":"3.1.0","info":{"title":"Drone Reel API","description":"API for the Drone Reel fly-by-wire tether system. Provides access to product information, waitlist registration, event streams, and webhook management.","version":"0.1.0","contact":{"name":"PH3AR / Barbine Worldwide","email":"michael@barbineworldwide.com","url":"https://dronereel.ph3ar.com"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://dronereel.ph3ar.com","description":"Production"},{"url":"http://localhost:3000","description":"Development"}],"paths":{"/api/health":{"get":{"operationId":"getHealth","summary":"Health Check","description":"Returns the current health status of the API","tags":["System"],"responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"healthy"},"timestamp":{"type":"string","format":"date-time"},"version":{"type":"string"},"service":{"type":"string"},"uptime":{"type":"number"}}}}}}}}},"/api/v1/waitlist":{"post":{"operationId":"joinWaitlist","summary":"Join Waitlist","description":"Register for early access to Drone Reel","tags":["Waitlist"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email"],"properties":{"name":{"type":"string","description":"Full name"},"email":{"type":"string","format":"email"},"company":{"type":"string"},"interest":{"type":"string","enum":["Solar & Energy","Agriculture","Fire & Emergency","Security","Industrial Inspection","Developer/Partner","Investor","Other"]},"message":{"type":"string"}}}}}},"responses":{"201":{"description":"Successfully registered","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"id":{"type":"string"},"message":{"type":"string"}}}}}},"400":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}}},"get":{"operationId":"getWaitlistStats","summary":"Get Waitlist Stats","description":"Returns anonymized waitlist statistics","tags":["Waitlist"],"responses":{"200":{"description":"Waitlist statistics","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"byInterest":{"type":"object","additionalProperties":{"type":"integer"}}}}}}}}}},"/api/v1/product":{"get":{"operationId":"getProduct","summary":"Get Product Info","description":"Returns current product information and specifications","tags":["Product"],"responses":{"200":{"description":"Product information","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":"string"},"features":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"}}}},"applications":{"type":"array","items":{"type":"string"}},"milestones":{"type":"object","properties":{"marketplace":{"type":"integer"},"consumerLaunch":{"type":"integer"}}}}}}}}}}},"/api/v1/events":{"get":{"operationId":"getEvents","summary":"Get Event Stream","description":"Returns recent events for webhook/automation consumers (n8n compatible)","tags":["Events"],"parameters":[{"name":"since","in":"query","schema":{"type":"string","format":"date-time"},"description":"Return events after this timestamp"},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"maximum":100}}],"responses":{"200":{"description":"Event list","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"data":{"type":"object"},"created_at":{"type":"string","format":"date-time"}}}},"cursor":{"type":"string"}}}}}}}}},"/api/webhooks":{"post":{"operationId":"receiveWebhook","summary":"Receive Webhook","description":"Endpoint for receiving signed, idempotent webhook payloads","tags":["Webhooks"],"parameters":[{"name":"X-Webhook-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"string"},"data":{"type":"object"},"timestamp":{"type":"string","format":"date-time"}}}}}},"responses":{"200":{"description":"Webhook received"},"401":{"description":"Invalid signature"},"409":{"description":"Duplicate idempotency key"}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"status":{"type":"integer"}}}}},"tags":[{"name":"System","description":"Health and status endpoints"},{"name":"Product","description":"Product information"},{"name":"Waitlist","description":"Early access registration"},{"name":"Events","description":"Event outbox for automation"},{"name":"Webhooks","description":"Inbound webhook processing"}]}