{"components":{"securitySchemes":{"BearerAuth":{"bearerFormat":"ngp_sk_test_xxx or ngp_sk_live_xxx","scheme":"bearer","type":"http"}}},"info":{"description":"Public OpenAPI specification for NganyaPay transport-fintech infrastructure.","title":"NganyaPay API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/api/v1/dashboard/summary":{"get":{"responses":{"200":{"description":"Dashboard summary"}},"summary":"Read SACCO dashboard summary"}},"/api/v1/fares":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"route_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Fares"}},"summary":"List fare matrix"}},"/api/v1/fleet/status":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Fleet status with live revenue, fuel, and trip visibility"}},"summary":"Read fleet status"}},"/api/v1/fuel/payments":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"approval_status","schema":{"type":"string"}},{"in":"query","name":"vehicle_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Fuel payments"}},"summary":"List fuel payments"}},"/api/v1/fuel/payments/{fuel_payment_id}":{"get":{"parameters":[{"in":"path","name":"fuel_payment_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Fuel payment detail"}},"summary":"Read one fuel payment"}},"/api/v1/health":{"get":{"responses":{"200":{"description":"API health"}},"summary":"Check API health"}},"/api/v1/integrity/trips":{"get":{"parameters":[{"in":"query","name":"stale_hours","schema":{"maximum":168,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Read-only trip lifecycle integrity report"}},"summary":"Read trip lifecycle integrity report"}},"/api/v1/management/resources":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Read-only vehicles, drivers, owners, and routes"}},"summary":"Read management resources"}},"/api/v1/management/summary":{"get":{"responses":{"200":{"description":"Management resource counts"}},"summary":"Read management resource counts"}},"/api/v1/me":{"get":{"responses":{"200":{"description":"Authenticated API key context"}},"summary":"Inspect authenticated API key"}},"/api/v1/passengers/sessions":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"trip_id","schema":{"type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}}],"responses":{"200":{"description":"Passenger sessions"}},"summary":"List passenger sessions"}},"/api/v1/payments":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"vehicle_id","schema":{"type":"integer"}},{"in":"query","name":"trip_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Passenger payments"}},"summary":"List passenger payments"}},"/api/v1/payouts":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"recipient_type","schema":{"type":"string"}},{"in":"query","name":"vehicle_id","schema":{"type":"integer"}},{"in":"query","name":"summary_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Payout transactions"}},"summary":"List payout transactions"}},"/api/v1/payouts/{payout_id}":{"get":{"parameters":[{"in":"path","name":"payout_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Payout transaction detail"}},"summary":"Read one payout transaction"}},"/api/v1/reports/daily-revenue":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"date","schema":{"format":"date","type":"string"}},{"in":"query","name":"vehicle_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Daily revenue, fuel, net revenue, and payout split reports"}},"summary":"List daily revenue reports"}},"/api/v1/revenue/summary":{"get":{"responses":{"200":{"description":"SACCO-scoped revenue summary"}},"summary":"Read SACCO revenue summary"}},"/api/v1/routes":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Routes"}},"summary":"List SACCO routes"}},"/api/v1/routes/performance":{"get":{"responses":{"200":{"description":"Route-level trip and revenue performance"}},"summary":"Read route performance"}},"/api/v1/stages":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"route_id","schema":{"type":"integer"}}],"responses":{"200":{"description":"Stages"}},"summary":"List route stages"}},"/api/v1/trips":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"SACCO-scoped trips"}},"summary":"List SACCO trips"}},"/api/v1/vehicles":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"SACCO-scoped vehicles"}},"summary":"List SACCO vehicles"}},"/api/v1/vehicles/{vehicle_id}/active-trip":{"get":{"parameters":[{"in":"path","name":"vehicle_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Vehicle active trip"}},"summary":"Read active trip for one vehicle"}},"/api/v1/vehicles/{vehicle_id}/monitor":{"get":{"parameters":[{"in":"path","name":"vehicle_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Vehicle monitor with live trip, recent payments, and fuel activity"}},"summary":"Read live vehicle monitor"}},"/api/v1/vehicles/{vehicle_id}/status":{"get":{"parameters":[{"in":"path","name":"vehicle_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Vehicle status"}},"summary":"Read one vehicle status"}},"/api/v1/webhooks/events":{"get":{"responses":{"200":{"description":"Webhook event catalog"}},"summary":"List supported webhook events"}},"/api/v1/webhooks/test":{"post":{"responses":{"200":{"description":"Webhook test event"}},"summary":"Create sandbox webhook test event"}}},"security":[{"BearerAuth":[]}],"servers":[{"url":"https://nganyapay.online"}]}
