forked from koala73/worldmonitor
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMilitaryService.openapi.json
More file actions
1 lines (1 loc) · 33.4 KB
/
MilitaryService.openapi.json
File metadata and controls
1 lines (1 loc) · 33.4 KB
1
{"components":{"schemas":{"AircraftDetails":{"description":"AircraftDetails contains Wingbits aircraft enrichment data.","properties":{"built":{"description":"Build date.","type":"string"},"categoryDescription":{"description":"ICAO category description.","type":"string"},"engines":{"description":"Engine description.","type":"string"},"icao24":{"description":"ICAO 24-bit hex address.","type":"string"},"icaoAircraftType":{"description":"ICAO aircraft type designator.","type":"string"},"manufacturerIcao":{"description":"ICAO manufacturer code.","type":"string"},"manufacturerName":{"description":"Full manufacturer name.","type":"string"},"model":{"description":"Aircraft model.","type":"string"},"operator":{"description":"Operator name.","type":"string"},"operatorCallsign":{"description":"Operator callsign.","type":"string"},"operatorIcao":{"description":"Operator ICAO code.","type":"string"},"owner":{"description":"Registered owner.","type":"string"},"registration":{"description":"Aircraft registration number.","type":"string"},"serialNumber":{"description":"Manufacturer serial number.","type":"string"},"typecode":{"description":"ICAO type designator code.","type":"string"}},"type":"object"},"BattleForceSummary":{"description":"BattleForceSummary contains fleet-wide ship count statistics.","properties":{"deployed":{"description":"Number of ships currently deployed.","format":"int32","minimum":0,"type":"integer"},"totalShips":{"description":"Total ships in the battle force.","format":"int32","minimum":0,"type":"integer"},"underway":{"description":"Number of ships currently underway.","format":"int32","minimum":0,"type":"integer"}},"type":"object"},"DefensePatentFiling":{"description":"DefensePatentFiling is a single patent filing from a defense/dual-use organization.","properties":{"abstract":{"description":"Patent abstract (truncated to 500 chars).","type":"string"},"assignee":{"description":"Primary assignee organization name.","type":"string"},"cpcCode":{"description":"CPC classification code (e.g. \"H04B\", \"F42B\").","type":"string"},"cpcDesc":{"description":"CPC class description.","type":"string"},"date":{"description":"Filing date (YYYY-MM-DD).","type":"string"},"patentId":{"description":"USPTO patent ID.","type":"string"},"title":{"description":"Patent title.","type":"string"},"url":{"description":"USPTO patent URL.","type":"string"}},"type":"object"},"Error":{"description":"Error is returned when a handler encounters an error. It contains a simple error message that the developer can customize.","properties":{"message":{"description":"Error message (e.g., 'user not found', 'database connection failed')","type":"string"}},"type":"object"},"FieldViolation":{"description":"FieldViolation describes a single validation error for a specific field.","properties":{"description":{"description":"Human-readable description of the validation violation (e.g., 'must be a valid email address', 'required field missing')","type":"string"},"field":{"description":"The field path that failed validation (e.g., 'user.email' for nested fields). For header validation, this will be the header name (e.g., 'X-API-Key')","type":"string"}},"required":["field","description"],"type":"object"},"FlightEnrichment":{"description":"FlightEnrichment contains additional data from Wingbits aircraft database.","properties":{"builtYear":{"description":"Year the aircraft was built.","type":"string"},"confirmedMilitary":{"description":"Whether confirmed as military.","type":"boolean"},"manufacturer":{"description":"Aircraft manufacturer.","type":"string"},"militaryBranch":{"description":"Military branch designation.","type":"string"},"operatorName":{"description":"Operator name.","type":"string"},"owner":{"description":"Registered owner.","type":"string"},"typeCode":{"description":"ICAO type code.","type":"string"}},"type":"object"},"GeoCoordinates":{"description":"GeoCoordinates represents a geographic location using WGS84 coordinates.","properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","format":"double","maximum":90,"minimum":-90,"type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","format":"double","maximum":180,"minimum":-180,"type":"number"}},"type":"object"},"GetAircraftDetailsBatchRequest":{"description":"GetAircraftDetailsBatchRequest looks up multiple aircraft by ICAO 24-bit hex.","properties":{"icao24s":{"items":{"description":"ICAO 24-bit hex addresses (lowercase). Max 20.","maxItems":20,"minItems":1,"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"type":"object"},"GetAircraftDetailsBatchResponse":{"description":"GetAircraftDetailsBatchResponse contains the batch lookup results.","properties":{"configured":{"description":"Whether the Wingbits API is configured.","type":"boolean"},"fetched":{"description":"Number of aircraft successfully fetched from upstream.","format":"int32","type":"integer"},"requested":{"description":"Number of aircraft requested.","format":"int32","type":"integer"},"results":{"additionalProperties":{"$ref":"#/components/schemas/AircraftDetails"},"description":"Map of icao24 -\u003e aircraft details for found aircraft.","type":"object"}},"type":"object"},"GetAircraftDetailsRequest":{"description":"GetAircraftDetailsRequest looks up a single aircraft by ICAO 24-bit hex.","properties":{"icao24":{"description":"ICAO 24-bit hex address (lowercase).","minLength":1,"type":"string"}},"required":["icao24"],"type":"object"},"GetAircraftDetailsResponse":{"description":"GetAircraftDetailsResponse contains the aircraft enrichment data.","properties":{"configured":{"description":"Whether the Wingbits API is configured.","type":"boolean"},"details":{"$ref":"#/components/schemas/AircraftDetails"}},"type":"object"},"GetTheaterPostureRequest":{"description":"GetTheaterPostureRequest specifies the theater to assess.","properties":{"theater":{"description":"Theater name (e.g., \"indo-pacific\", \"european\", \"middle-east\"). Empty for all theaters.","type":"string"}},"type":"object"},"GetTheaterPostureResponse":{"description":"GetTheaterPostureResponse contains theater posture assessments.","properties":{"theaters":{"items":{"$ref":"#/components/schemas/TheaterPosture"},"type":"array"}},"type":"object"},"GetUSNIFleetReportRequest":{"description":"GetUSNIFleetReportRequest requests the latest USNI Fleet Tracker report.","properties":{"forceRefresh":{"description":"When true, bypass cache and fetch fresh data from USNI.","type":"boolean"}},"type":"object"},"GetUSNIFleetReportResponse":{"description":"GetUSNIFleetReportResponse returns the parsed USNI Fleet Tracker report.","properties":{"cached":{"description":"Whether the response was served from cache.","type":"boolean"},"error":{"description":"Error message, if any.","type":"string"},"report":{"$ref":"#/components/schemas/USNIFleetReport"},"stale":{"description":"Whether the cached data is stale (served after a fetch failure).","type":"boolean"}},"type":"object"},"GetWingbitsLiveFlightRequest":{"description":"GetWingbitsLiveFlightRequest fetches live Wingbits ECS data for a single aircraft.","properties":{"icao24":{"description":"ICAO 24-bit hex address (lowercase, 6 characters).","minLength":1,"type":"string"}},"required":["icao24"],"type":"object"},"GetWingbitsLiveFlightResponse":{"description":"GetWingbitsLiveFlightResponse contains the live flight data, if available.","properties":{"flight":{"$ref":"#/components/schemas/WingbitsLiveFlight"}},"type":"object"},"GetWingbitsStatusRequest":{"description":"GetWingbitsStatusRequest checks whether the Wingbits enrichment API is configured.","type":"object"},"GetWingbitsStatusResponse":{"description":"GetWingbitsStatusResponse indicates whether Wingbits is available.","properties":{"configured":{"description":"Whether the Wingbits API key is configured on the server.","type":"boolean"}},"type":"object"},"ListDefensePatentsRequest":{"description":"ListDefensePatentsRequest filters defense/dual-use patent filings.","properties":{"assignee":{"description":"Assignee keyword filter (case-insensitive substring match). Empty returns all.","type":"string"},"cpcCode":{"description":"CPC category filter (e.g. \"H04B\", \"F42B\"). Empty returns all categories.","type":"string"},"limit":{"description":"Maximum results to return (default 20, max 100).","format":"int32","type":"integer"}},"type":"object"},"ListDefensePatentsResponse":{"description":"ListDefensePatentsResponse contains recent defense/dual-use patent filings.","properties":{"fetchedAt":{"description":"ISO 8601 timestamp when data was seeded.","type":"string"},"patents":{"items":{"$ref":"#/components/schemas/DefensePatentFiling"},"type":"array"},"total":{"description":"Total number of filings in the seeded dataset.","format":"int32","type":"integer"}},"type":"object"},"ListMilitaryBasesRequest":{"properties":{"country":{"type":"string"},"kind":{"type":"string"},"neLat":{"format":"double","type":"number"},"neLon":{"format":"double","type":"number"},"swLat":{"format":"double","type":"number"},"swLon":{"format":"double","type":"number"},"type":{"type":"string"},"zoom":{"format":"int32","type":"integer"}},"type":"object"},"ListMilitaryBasesResponse":{"properties":{"bases":{"items":{"$ref":"#/components/schemas/MilitaryBaseEntry"},"type":"array"},"clusters":{"items":{"$ref":"#/components/schemas/MilitaryBaseCluster"},"type":"array"},"totalInView":{"format":"int32","type":"integer"},"truncated":{"type":"boolean"}},"type":"object"},"ListMilitaryFlightsRequest":{"description":"ListMilitaryFlightsRequest specifies filters for retrieving military flight data.","properties":{"aircraftType":{"description":"MilitaryAircraftType represents the classification of a military aircraft.","enum":["MILITARY_AIRCRAFT_TYPE_UNSPECIFIED","MILITARY_AIRCRAFT_TYPE_FIGHTER","MILITARY_AIRCRAFT_TYPE_BOMBER","MILITARY_AIRCRAFT_TYPE_TRANSPORT","MILITARY_AIRCRAFT_TYPE_TANKER","MILITARY_AIRCRAFT_TYPE_AWACS","MILITARY_AIRCRAFT_TYPE_RECONNAISSANCE","MILITARY_AIRCRAFT_TYPE_HELICOPTER","MILITARY_AIRCRAFT_TYPE_DRONE","MILITARY_AIRCRAFT_TYPE_PATROL","MILITARY_AIRCRAFT_TYPE_SPECIAL_OPS","MILITARY_AIRCRAFT_TYPE_VIP","MILITARY_AIRCRAFT_TYPE_UNKNOWN"],"type":"string"},"cursor":{"description":"Cursor for next page.","type":"string"},"neLat":{"description":"North-east corner latitude of bounding box.","format":"double","type":"number"},"neLon":{"description":"North-east corner longitude of bounding box.","format":"double","type":"number"},"operator":{"description":"MilitaryOperator represents the military branch or force operating an asset.","enum":["MILITARY_OPERATOR_UNSPECIFIED","MILITARY_OPERATOR_USAF","MILITARY_OPERATOR_USN","MILITARY_OPERATOR_USMC","MILITARY_OPERATOR_USA","MILITARY_OPERATOR_RAF","MILITARY_OPERATOR_RN","MILITARY_OPERATOR_FAF","MILITARY_OPERATOR_GAF","MILITARY_OPERATOR_PLAAF","MILITARY_OPERATOR_PLAN","MILITARY_OPERATOR_VKS","MILITARY_OPERATOR_IAF","MILITARY_OPERATOR_NATO","MILITARY_OPERATOR_OTHER"],"type":"string"},"pageSize":{"description":"Maximum items per page (1-100).","format":"int32","type":"integer"},"swLat":{"description":"South-west corner latitude of bounding box.","format":"double","type":"number"},"swLon":{"description":"South-west corner longitude of bounding box.","format":"double","type":"number"}},"type":"object"},"ListMilitaryFlightsResponse":{"description":"ListMilitaryFlightsResponse contains military flights and clusters.","properties":{"clusters":{"items":{"$ref":"#/components/schemas/MilitaryFlightCluster"},"type":"array"},"flights":{"items":{"$ref":"#/components/schemas/MilitaryFlight"},"type":"array"},"pagination":{"$ref":"#/components/schemas/PaginationResponse"}},"type":"object"},"MilitaryBaseCluster":{"properties":{"count":{"format":"int32","type":"integer"},"dominantType":{"type":"string"},"expansionZoom":{"format":"int32","type":"integer"},"latitude":{"format":"double","type":"number"},"longitude":{"format":"double","type":"number"}},"type":"object"},"MilitaryBaseEntry":{"properties":{"branch":{"type":"string"},"catAirforce":{"type":"boolean"},"catNaval":{"type":"boolean"},"catNuclear":{"type":"boolean"},"catSpace":{"type":"boolean"},"catTraining":{"type":"boolean"},"countryIso2":{"type":"string"},"id":{"type":"string"},"kind":{"type":"string"},"latitude":{"format":"double","type":"number"},"longitude":{"format":"double","type":"number"},"name":{"type":"string"},"status":{"type":"string"},"tier":{"format":"int32","type":"integer"},"type":{"type":"string"}},"type":"object"},"MilitaryFlight":{"description":"MilitaryFlight represents a tracked military aircraft from OpenSky or Wingbits.","properties":{"aircraftModel":{"description":"Specific aircraft model (e.g., \"F-35A\", \"C-17A\").","type":"string"},"aircraftType":{"description":"MilitaryAircraftType represents the classification of a military aircraft.","enum":["MILITARY_AIRCRAFT_TYPE_UNSPECIFIED","MILITARY_AIRCRAFT_TYPE_FIGHTER","MILITARY_AIRCRAFT_TYPE_BOMBER","MILITARY_AIRCRAFT_TYPE_TRANSPORT","MILITARY_AIRCRAFT_TYPE_TANKER","MILITARY_AIRCRAFT_TYPE_AWACS","MILITARY_AIRCRAFT_TYPE_RECONNAISSANCE","MILITARY_AIRCRAFT_TYPE_HELICOPTER","MILITARY_AIRCRAFT_TYPE_DRONE","MILITARY_AIRCRAFT_TYPE_PATROL","MILITARY_AIRCRAFT_TYPE_SPECIAL_OPS","MILITARY_AIRCRAFT_TYPE_VIP","MILITARY_AIRCRAFT_TYPE_UNKNOWN"],"type":"string"},"altitude":{"description":"Altitude in feet.","format":"double","type":"number"},"callsign":{"description":"Aircraft callsign.","type":"string"},"confidence":{"description":"MilitaryConfidence represents confidence in asset identification.","enum":["MILITARY_CONFIDENCE_UNSPECIFIED","MILITARY_CONFIDENCE_LOW","MILITARY_CONFIDENCE_MEDIUM","MILITARY_CONFIDENCE_HIGH"],"type":"string"},"destination":{"description":"ICAO code of the destination airport.","type":"string"},"enrichment":{"$ref":"#/components/schemas/FlightEnrichment"},"firstSeenAt":{"description":"First seen time, as Unix epoch milliseconds.. Warning: Values \u003e 2^53 may lose precision in JavaScript","format":"int64","type":"integer"},"heading":{"description":"Heading in degrees.","format":"double","type":"number"},"hexCode":{"description":"ICAO 24-bit hex address.","type":"string"},"id":{"description":"Unique flight identifier.","minLength":1,"type":"string"},"isInteresting":{"description":"Whether flagged for unusual activity.","type":"boolean"},"lastSeenAt":{"description":"Last seen time, as Unix epoch milliseconds.. Warning: Values \u003e 2^53 may lose precision in JavaScript","format":"int64","type":"integer"},"location":{"$ref":"#/components/schemas/GeoCoordinates"},"note":{"description":"Analyst note.","type":"string"},"onGround":{"description":"Whether the aircraft is on the ground.","type":"boolean"},"operator":{"description":"MilitaryOperator represents the military branch or force operating an asset.","enum":["MILITARY_OPERATOR_UNSPECIFIED","MILITARY_OPERATOR_USAF","MILITARY_OPERATOR_USN","MILITARY_OPERATOR_USMC","MILITARY_OPERATOR_USA","MILITARY_OPERATOR_RAF","MILITARY_OPERATOR_RN","MILITARY_OPERATOR_FAF","MILITARY_OPERATOR_GAF","MILITARY_OPERATOR_PLAAF","MILITARY_OPERATOR_PLAN","MILITARY_OPERATOR_VKS","MILITARY_OPERATOR_IAF","MILITARY_OPERATOR_NATO","MILITARY_OPERATOR_OTHER"],"type":"string"},"operatorCountry":{"description":"Country operating the aircraft (ISO 3166-1 alpha-2).","type":"string"},"origin":{"description":"ICAO code of the origin airport.","type":"string"},"registration":{"description":"Aircraft registration number.","type":"string"},"speed":{"description":"Speed in knots.","format":"double","type":"number"},"squawk":{"description":"Transponder squawk code.","type":"string"},"verticalRate":{"description":"Vertical rate in feet per minute.","format":"double","type":"number"}},"required":["id"],"type":"object"},"MilitaryFlightCluster":{"description":"MilitaryFlightCluster represents a geographic cluster of military flights.","properties":{"activityType":{"description":"MilitaryActivityType represents the assessed type of military activity.","enum":["MILITARY_ACTIVITY_TYPE_UNSPECIFIED","MILITARY_ACTIVITY_TYPE_EXERCISE","MILITARY_ACTIVITY_TYPE_PATROL","MILITARY_ACTIVITY_TYPE_TRANSPORT","MILITARY_ACTIVITY_TYPE_DEPLOYMENT","MILITARY_ACTIVITY_TYPE_TRANSIT","MILITARY_ACTIVITY_TYPE_UNKNOWN"],"type":"string"},"dominantOperator":{"description":"MilitaryOperator represents the military branch or force operating an asset.","enum":["MILITARY_OPERATOR_UNSPECIFIED","MILITARY_OPERATOR_USAF","MILITARY_OPERATOR_USN","MILITARY_OPERATOR_USMC","MILITARY_OPERATOR_USA","MILITARY_OPERATOR_RAF","MILITARY_OPERATOR_RN","MILITARY_OPERATOR_FAF","MILITARY_OPERATOR_GAF","MILITARY_OPERATOR_PLAAF","MILITARY_OPERATOR_PLAN","MILITARY_OPERATOR_VKS","MILITARY_OPERATOR_IAF","MILITARY_OPERATOR_NATO","MILITARY_OPERATOR_OTHER"],"type":"string"},"flightCount":{"description":"Number of flights in the cluster.","format":"int32","type":"integer"},"flights":{"items":{"$ref":"#/components/schemas/MilitaryFlight"},"type":"array"},"id":{"description":"Unique cluster identifier.","type":"string"},"location":{"$ref":"#/components/schemas/GeoCoordinates"},"name":{"description":"Descriptive name of the cluster.","type":"string"}},"type":"object"},"PaginationResponse":{"description":"PaginationResponse contains pagination metadata returned alongside list results.","properties":{"nextCursor":{"description":"Cursor for fetching the next page. Empty string indicates no more pages.","type":"string"},"totalCount":{"description":"Total count of items matching the query, if known. Zero if the total is unknown.","format":"int32","type":"integer"}},"type":"object"},"ResultsEntry":{"properties":{"key":{"type":"string"},"value":{"$ref":"#/components/schemas/AircraftDetails"}},"type":"object"},"TheaterPosture":{"description":"TheaterPosture represents an assessed military posture for a geographic theater.","properties":{"activeFlights":{"description":"Number of active flights in the theater.","format":"int32","type":"integer"},"activeOperations":{"items":{"description":"Notable ongoing operations.","type":"string"},"type":"array"},"assessedAt":{"description":"Assessment timestamp, as Unix epoch milliseconds.. Warning: Values \u003e 2^53 may lose precision in JavaScript","format":"int64","type":"integer"},"postureLevel":{"description":"Overall posture assessment.","type":"string"},"theater":{"description":"Theater name (e.g., \"Indo-Pacific\", \"European\", \"Middle East\").","type":"string"},"trackedVessels":{"description":"Number of tracked vessels in the theater.","format":"int32","type":"integer"}},"type":"object"},"USNIFleetReport":{"description":"USNIFleetReport is the full parsed output of a USNI Fleet Tracker article.","properties":{"articleDate":{"description":"Publication date of the article.","type":"string"},"articleTitle":{"description":"Title of the article.","type":"string"},"articleUrl":{"description":"URL of the source article.","type":"string"},"battleForceSummary":{"$ref":"#/components/schemas/BattleForceSummary"},"parsingWarnings":{"items":{"description":"Warnings generated during parsing.","type":"string"},"type":"array"},"regions":{"items":{"description":"Unique region names mentioned in the article.","type":"string"},"type":"array"},"strikeGroups":{"items":{"$ref":"#/components/schemas/USNIStrikeGroup"},"type":"array"},"timestamp":{"description":"Time the report was generated, as Unix epoch milliseconds.. Warning: Values \u003e 2^53 may lose precision in JavaScript","format":"int64","type":"integer"},"vessels":{"items":{"$ref":"#/components/schemas/USNIVessel"},"type":"array"}},"type":"object"},"USNIStrikeGroup":{"description":"USNIStrikeGroup represents a carrier strike group parsed from the article.","properties":{"airWing":{"description":"Assigned air wing (e.g., \"Carrier Air Wing Nine\").","type":"string"},"carrier":{"description":"Carrier name and hull (e.g., \"USS Abraham Lincoln (CVN-72)\").","type":"string"},"destroyerSquadron":{"description":"Assigned destroyer squadron.","type":"string"},"escorts":{"items":{"description":"Escort vessels in the strike group.","type":"string"},"type":"array"},"name":{"description":"Strike group name (e.g., \"Abraham Lincoln Carrier Strike Group\").","type":"string"}},"type":"object"},"USNIVessel":{"description":"USNIVessel represents a single vessel parsed from a USNI Fleet Tracker article.","properties":{"activityDescription":{"description":"Brief activity description parsed from article prose.","type":"string"},"articleDate":{"description":"Publication date of the USNI article.","type":"string"},"articleUrl":{"description":"URL of the USNI article this vessel was parsed from.","type":"string"},"deploymentStatus":{"description":"Deployment status (e.g., \"deployed\", \"underway\", \"in-port\", \"unknown\").","type":"string"},"homePort":{"description":"Home port, if identified from the article text.","type":"string"},"hullNumber":{"description":"Hull designation (e.g., \"CVN-72\", \"DDG-51\").","minLength":1,"type":"string"},"name":{"description":"Vessel name (e.g., \"USS Abraham Lincoln\").","minLength":1,"type":"string"},"region":{"description":"Region name where the vessel is operating.","type":"string"},"regionLat":{"description":"Approximate latitude for the region.","format":"double","type":"number"},"regionLon":{"description":"Approximate longitude for the region.","format":"double","type":"number"},"strikeGroup":{"description":"Strike group assignment, if any.","type":"string"},"vesselType":{"description":"Vessel type classification (e.g., \"carrier\", \"destroyer\", \"submarine\").","type":"string"}},"required":["name","hullNumber"],"type":"object"},"ValidationError":{"description":"ValidationError is returned when request validation fails. It contains a list of field violations describing what went wrong.","properties":{"violations":{"description":"List of validation violations","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"required":["violations"],"type":"object"},"WingbitsLiveFlight":{"description":"WingbitsLiveFlight contains real-time flight position data from the Wingbits ECS network.","properties":{"airlineName":{"description":"Airline name (e.g. \"Emirates\"). Empty if no mapping.","type":"string"},"altitude":{"description":"Altitude in feet.","format":"double","type":"number"},"arrDelayedMin":{"description":"Arrival delay in minutes (negative = early).","format":"int32","type":"integer"},"arrEstimatedUtc":{"description":"Estimated arrival time UTC (ISO 8601).","type":"string"},"arrIata":{"description":"Arrival airport IATA code (e.g. \"BOM\").","type":"string"},"arrTerminal":{"description":"Arrival terminal (e.g. \"2\").","type":"string"},"arrTimeUtc":{"description":"Scheduled arrival time UTC (ISO 8601).","type":"string"},"callsign":{"description":"Live callsign.","type":"string"},"callsignIata":{"description":"Airline — resolved server-side from the ICAO callsign prefix.\n IATA-equivalent callsign (e.g. \"EK528\" for ICAO \"UAE528\"). Empty if no mapping.","type":"string"},"depDelayedMin":{"description":"Departure delay in minutes (negative = early).","format":"int32","type":"integer"},"depEstimatedUtc":{"description":"Estimated departure time UTC (ISO 8601).","type":"string"},"depIata":{"description":"Schedule — from ecs-api.wingbits.com/v1/flights/schedule/{callsign}\n Departure airport IATA code (e.g. \"FJR\").","type":"string"},"depTimeUtc":{"description":"Scheduled departure time UTC (ISO 8601).","type":"string"},"flightDurationMin":{"description":"Scheduled flight duration in minutes.","format":"int32","type":"integer"},"flightStatus":{"description":"Flight status string (e.g. \"en-route\", \"landed\", \"scheduled\").","type":"string"},"heading":{"description":"Track/heading in degrees.","format":"double","type":"number"},"icao24":{"description":"ICAO 24-bit hex address.","type":"string"},"lastSeen":{"description":"Unix timestamp of the last position update.","format":"int64","type":"string"},"lat":{"description":"Latitude in decimal degrees.","format":"double","type":"number"},"lon":{"description":"Longitude in decimal degrees.","format":"double","type":"number"},"model":{"description":"Aircraft model (e.g. \"PC-12/45\").","type":"string"},"onGround":{"description":"True if the aircraft is on the ground.","type":"boolean"},"operator":{"description":"Operator name.","type":"string"},"photoCredit":{"description":"Photographer credit name.","type":"string"},"photoLink":{"description":"Permalink to the photo page on planespotters.net.","type":"string"},"photoUrl":{"description":"Photo — from api.planespotters.net/pub/photos/hex/{icao24}\n Aircraft photo URL (large thumbnail ~497x280).","type":"string"},"registration":{"description":"Aircraft registration number.","type":"string"},"speed":{"description":"Ground speed in knots.","format":"double","type":"number"},"verticalRate":{"description":"Vertical rate in feet per minute (positive = climb, negative = descent).","format":"double","type":"number"}},"type":"object"}}},"info":{"title":"MilitaryService API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/military/v1/get-aircraft-details":{"get":{"description":"GetAircraftDetails retrieves Wingbits aircraft enrichment data for a single ICAO24 hex.","operationId":"GetAircraftDetails","parameters":[{"description":"ICAO 24-bit hex address (lowercase).","in":"query","name":"icao24","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAircraftDetailsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetAircraftDetails","tags":["MilitaryService"]}},"/api/military/v1/get-aircraft-details-batch":{"post":{"description":"GetAircraftDetailsBatch retrieves Wingbits aircraft enrichment data for multiple ICAO24 hexes.","operationId":"GetAircraftDetailsBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAircraftDetailsBatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAircraftDetailsBatchResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetAircraftDetailsBatch","tags":["MilitaryService"]}},"/api/military/v1/get-theater-posture":{"get":{"description":"GetTheaterPosture retrieves military posture assessments for geographic theaters.","operationId":"GetTheaterPosture","parameters":[{"description":"Theater name (e.g., \"indo-pacific\", \"european\", \"middle-east\"). Empty for all theaters.","in":"query","name":"theater","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTheaterPostureResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetTheaterPosture","tags":["MilitaryService"]}},"/api/military/v1/get-usni-fleet-report":{"get":{"description":"GetUSNIFleetReport retrieves the latest parsed USNI Fleet Tracker report.","operationId":"GetUSNIFleetReport","parameters":[{"description":"When true, bypass cache and fetch fresh data from USNI.","in":"query","name":"force_refresh","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUSNIFleetReportResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetUSNIFleetReport","tags":["MilitaryService"]}},"/api/military/v1/get-wingbits-live-flight":{"get":{"description":"GetWingbitsLiveFlight retrieves real-time position data from the Wingbits ECS network for a single aircraft.","operationId":"GetWingbitsLiveFlight","parameters":[{"description":"ICAO 24-bit hex address (lowercase, 6 characters).","in":"query","name":"icao24","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWingbitsLiveFlightResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetWingbitsLiveFlight","tags":["MilitaryService"]}},"/api/military/v1/get-wingbits-status":{"get":{"description":"GetWingbitsStatus checks whether the Wingbits enrichment API is configured.","operationId":"GetWingbitsStatus","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWingbitsStatusResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"GetWingbitsStatus","tags":["MilitaryService"]}},"/api/military/v1/list-defense-patents":{"get":{"description":"ListDefensePatents retrieves recent defense/dual-use patent filings from USPTO PatentsView.","operationId":"ListDefensePatents","parameters":[{"description":"CPC category filter (e.g. \"H04B\", \"F42B\"). Empty returns all categories.","in":"query","name":"cpc_code","required":false,"schema":{"type":"string"}},{"description":"Assignee keyword filter (case-insensitive substring match). Empty returns all.","in":"query","name":"assignee","required":false,"schema":{"type":"string"}},{"description":"Maximum results to return (default 20, max 100).","in":"query","name":"limit","required":false,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDefensePatentsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"ListDefensePatents","tags":["MilitaryService"]}},"/api/military/v1/list-military-bases":{"get":{"description":"ListMilitaryBases retrieves military bases within a bounding box, with server-side clustering.","operationId":"ListMilitaryBases","parameters":[{"in":"query","name":"ne_lat","required":false,"schema":{"format":"double","type":"number"}},{"in":"query","name":"ne_lon","required":false,"schema":{"format":"double","type":"number"}},{"in":"query","name":"sw_lat","required":false,"schema":{"format":"double","type":"number"}},{"in":"query","name":"sw_lon","required":false,"schema":{"format":"double","type":"number"}},{"in":"query","name":"zoom","required":false,"schema":{"format":"int32","type":"integer"}},{"in":"query","name":"type","required":false,"schema":{"type":"string"}},{"in":"query","name":"kind","required":false,"schema":{"type":"string"}},{"in":"query","name":"country","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMilitaryBasesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"ListMilitaryBases","tags":["MilitaryService"]}},"/api/military/v1/list-military-flights":{"get":{"description":"ListMilitaryFlights retrieves tracked military aircraft from OpenSky and Wingbits.","operationId":"ListMilitaryFlights","parameters":[{"description":"Maximum items per page (1-100).","in":"query","name":"page_size","required":false,"schema":{"format":"int32","type":"integer"}},{"description":"Cursor for next page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"North-east corner latitude of bounding box.","in":"query","name":"ne_lat","required":false,"schema":{"format":"double","type":"number"}},{"description":"North-east corner longitude of bounding box.","in":"query","name":"ne_lon","required":false,"schema":{"format":"double","type":"number"}},{"description":"South-west corner latitude of bounding box.","in":"query","name":"sw_lat","required":false,"schema":{"format":"double","type":"number"}},{"description":"South-west corner longitude of bounding box.","in":"query","name":"sw_lon","required":false,"schema":{"format":"double","type":"number"}},{"description":"Optional operator filter.","in":"query","name":"operator","required":false,"schema":{"type":"string"}},{"description":"Optional aircraft type filter.","in":"query","name":"aircraft_type","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMilitaryFlightsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Validation error"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Error response"}},"summary":"ListMilitaryFlights","tags":["MilitaryService"]}}}}