{"openapi":"3.0.0","info":{"title":"MountainSwitch API","version":"v1"},"components":{"schemas":{"QueryCoverageSchema":{"type":"string","enum":["full","partial","none"]},"AccessStateSchema":{"type":"string","nullable":true,"enum":["open","advisory","restricted","closed"],"x-llm-hint":"access_state is a destination/path/segment answer and may be null when coverage is insufficient; do not infer it from _meta.query_coverage alone."},"DestinationAccessPathRoleSchema":{"type":"string","enum":["primary","alternate"]},"DestinationAccessSegmentRoleSchema":{"type":"string","enum":["primary","alternate","connector"]},"IsoUtcTimestampSchema":{"type":"string","nullable":true,"format":"date-time"},"DirectionSchema":{"type":"string","nullable":true,"enum":["N","S","E","W","both"]},"DestinationAccessRestrictionItemSchema":{"type":"object","properties":{"reason_excerpt":{"type":"string","nullable":true},"direction":{"$ref":"#/components/schemas/DirectionSchema"},"segment_description":{"type":"string","nullable":true},"type_of_closure":{"type":"string","nullable":true},"type_of_work":{"type":"string","nullable":true},"lanes_closed":{"type":"integer","nullable":true,"minimum":0},"total_existing_lanes":{"type":"integer","nullable":true,"minimum":0},"estimated_delay_minutes":{"type":"number","nullable":true},"valid_until":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"chain_control_severity":{"type":"integer","nullable":true,"minimum":0,"maximum":4},"chain_control_raw":{"type":"string","nullable":true}},"required":["reason_excerpt","direction","segment_description","type_of_closure","type_of_work","lanes_closed","total_existing_lanes","estimated_delay_minutes","valid_until","chain_control_severity","chain_control_raw"],"additionalProperties":false},"DestinationAccessSegmentSchema":{"type":"object","properties":{"id":{"type":"string"},"route":{"type":"string"},"route_slug":{"type":"string"},"label":{"type":"string"},"role":{"$ref":"#/components/schemas/DestinationAccessSegmentRoleSchema"},"start_boundary_label":{"type":"string"},"end_boundary_label":{"type":"string"},"coverage":{"$ref":"#/components/schemas/QueryCoverageSchema"},"access_state":{"$ref":"#/components/schemas/AccessStateSchema"},"reason_excerpt":{"type":"string","nullable":true},"segment_description":{"type":"string","nullable":true},"type_of_closure":{"type":"string","nullable":true},"type_of_work":{"type":"string","nullable":true},"lanes_closed":{"type":"integer","nullable":true,"minimum":0},"total_existing_lanes":{"type":"integer","nullable":true,"minimum":0},"estimated_delay_minutes":{"type":"number","nullable":true},"valid_until":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"chain_control_severity":{"type":"integer","nullable":true,"minimum":0,"maximum":4},"chain_control_raw":{"type":"string","nullable":true},"restriction_items":{"type":"array","items":{"$ref":"#/components/schemas/DestinationAccessRestrictionItemSchema"}}},"required":["id","route","route_slug","label","role","start_boundary_label","end_boundary_label","coverage","access_state","reason_excerpt","segment_description","type_of_closure","type_of_work","lanes_closed","total_existing_lanes","estimated_delay_minutes","valid_until","chain_control_severity","chain_control_raw","restriction_items"],"additionalProperties":false},"DestinationAccessPathSchema":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"role":{"$ref":"#/components/schemas/DestinationAccessPathRoleSchema"},"coverage":{"$ref":"#/components/schemas/QueryCoverageSchema"},"access_state":{"$ref":"#/components/schemas/AccessStateSchema"},"reason_excerpt":{"type":"string","nullable":true},"segments":{"type":"array","items":{"$ref":"#/components/schemas/DestinationAccessSegmentSchema"}}},"required":["id","label","role","coverage","access_state","reason_excerpt","segments"],"additionalProperties":false},"DestinationAccessDataSchema":{"type":"object","properties":{"destination":{"type":"string"},"jurisdiction":{"type":"string"},"coverage":{"$ref":"#/components/schemas/QueryCoverageSchema"},"access_state":{"$ref":"#/components/schemas/AccessStateSchema"},"reason_excerpt":{"type":"string","nullable":true},"paths":{"type":"array","items":{"$ref":"#/components/schemas/DestinationAccessPathSchema"}}},"required":["destination","jurisdiction","coverage","access_state","reason_excerpt","paths"],"additionalProperties":false},"FreshnessSchema":{"type":"string","enum":["healthy","degraded","stale","down"],"x-llm-hint":"Freshness describes current source reliability for request-time aggregation, not whether a route is clear."},"SourceMetaSchema":{"type":"object","properties":{"source":{"type":"string"},"freshness":{"$ref":"#/components/schemas/FreshnessSchema"},"live_eligible":{"type":"boolean"},"covers_query":{"type":"boolean"},"source_updated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"fetched_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"}},"required":["source","freshness","live_eligible","covers_query","source_updated_at","fetched_at"],"additionalProperties":false},"NullPaginationMetaSchema":{"type":"object","properties":{"request_id":{"type":"string"},"response_generated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/SourceMetaSchema"}},"query_coverage":{"$ref":"#/components/schemas/QueryCoverageSchema"},"pagination":{"nullable":true}},"required":["request_id","response_generated_at","sources","query_coverage","pagination"],"additionalProperties":false},"DestinationAccessResponseSchema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DestinationAccessDataSchema"},"_meta":{"$ref":"#/components/schemas/NullPaginationMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"ErrorCodeSchema":{"type":"string","enum":["INVALID_PARAMETER","INVALID_JURISDICTION","UNAUTHORIZED","ROUTE_NOT_FOUND","DESTINATION_NOT_FOUND","CONDITION_NOT_FOUND","ADAPTER_NOT_FOUND","RATE_LIMIT_EXCEEDED","INTERNAL_ERROR","SERVICE_UNAVAILABLE"]},"ErrorDetailsSchema":{"type":"object","additionalProperties":{"nullable":true}},"HealthMetaSchema":{"type":"object","properties":{"request_id":{"type":"string"},"response_generated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"}},"required":["request_id","response_generated_at"],"additionalProperties":false},"ErrorResponseSchema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/ErrorCodeSchema"},"message":{"type":"string"},"details":{"$ref":"#/components/schemas/ErrorDetailsSchema"}},"required":["code","message"],"additionalProperties":false},"_meta":{"$ref":"#/components/schemas/HealthMetaSchema"}},"required":["error","_meta"],"additionalProperties":false},"OverallStatusSchema":{"type":"string","enum":["open","advisory","restricted","closed"]},"ChainControlSeveritySchema":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]},{"type":"number","enum":[2]},{"type":"number","enum":[3]},{"type":"number","enum":[4]}],"x-llm-hint":"Higher values mean more severe chain or traction restrictions. Severity 4 is not automatically a closure; check overall_status."},"ChainControlCodeSchema":{"type":"string","enum":["none","traction_advisory","traction_required","chains_awd_exempt","chains_required"]},"RoadConditionApiSchema":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"source_record_id":{"type":"string"},"jurisdiction":{"type":"string"},"route":{"type":"string"},"direction":{"$ref":"#/components/schemas/DirectionSchema"},"segment_description":{"type":"string"},"start_lat":{"type":"number"},"start_lon":{"type":"number"},"end_lat":{"type":"number","nullable":true},"end_lon":{"type":"number","nullable":true},"county":{"type":"string","nullable":true},"elevation":{"type":"number","nullable":true},"type_of_work":{"type":"string","nullable":true},"type_of_closure":{"type":"string","nullable":true},"estimated_delay_minutes":{"type":"number","nullable":true},"lanes_closed":{"type":"number","nullable":true},"total_existing_lanes":{"type":"number","nullable":true},"overall_status":{"$ref":"#/components/schemas/OverallStatusSchema"},"chain_control_severity":{"$ref":"#/components/schemas/ChainControlSeveritySchema"},"chain_control_code":{"$ref":"#/components/schemas/ChainControlCodeSchema"},"chain_control_raw":{"type":"string","nullable":true},"alert_type":{"type":"string","nullable":true},"vehicle_restrictions":{"type":"array","items":{"type":"string"}},"status_description":{"type":"string"},"road_surface":{"type":"string","nullable":true},"visibility":{"type":"string","nullable":true},"speed_limit":{"type":"number","nullable":true},"is_active":{"type":"boolean"},"source_updated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"fetched_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"valid_from":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"valid_until":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"}},"required":["id","source","source_record_id","jurisdiction","route","direction","segment_description","start_lat","start_lon","end_lat","end_lon","county","elevation","type_of_work","type_of_closure","estimated_delay_minutes","lanes_closed","total_existing_lanes","overall_status","chain_control_severity","chain_control_code","chain_control_raw","alert_type","vehicle_restrictions","status_description","road_surface","visibility","speed_limit","is_active","source_updated_at","fetched_at","valid_from","valid_until"],"additionalProperties":false},"PaginationSchema":{"type":"object","nullable":true,"properties":{"cursor":{"type":"string"},"has_more":{"type":"boolean"}},"required":["cursor","has_more"],"additionalProperties":false},"DataMetaSchema":{"type":"object","properties":{"request_id":{"type":"string"},"response_generated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/SourceMetaSchema"}},"query_coverage":{"$ref":"#/components/schemas/QueryCoverageSchema"},"pagination":{"$ref":"#/components/schemas/PaginationSchema"}},"required":["request_id","response_generated_at","sources","query_coverage","pagination"],"additionalProperties":false},"ConditionsListResponseSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RoadConditionApiSchema"}},"_meta":{"$ref":"#/components/schemas/DataMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"ConditionByIdResponseSchema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RoadConditionApiSchema"},"_meta":{"$ref":"#/components/schemas/NullPaginationMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"DestinationCatalogItemSchema":{"type":"object","properties":{"destination":{"type":"string"},"label":{"type":"string"},"jurisdiction":{"type":"string"},"jurisdiction_slug":{"type":"string"},"routes":{"type":"array","items":{"type":"string"}},"communities":{"type":"array","items":{"type":"string"}}},"required":["destination","label","jurisdiction","jurisdiction_slug","routes","communities"],"additionalProperties":false},"DestinationCatalogMetaSchema":{"type":"object","properties":{"request_id":{"type":"string"},"response_generated_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"pagination":{"nullable":true}},"required":["request_id","response_generated_at","pagination"],"additionalProperties":false},"DestinationCatalogResponseSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DestinationCatalogItemSchema"}},"_meta":{"$ref":"#/components/schemas/DestinationCatalogMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"RouteDetailScopeSchema":{"type":"string","nullable":true,"enum":["destination_approach","outside_destination_approach","unscoped"]},"RouteSummarySegmentSchema":{"type":"object","properties":{"id":{"type":"string"},"route":{"type":"string"},"direction":{"$ref":"#/components/schemas/DirectionSchema"},"segment_description":{"type":"string"},"overall_status":{"$ref":"#/components/schemas/OverallStatusSchema"},"chain_control_severity":{"$ref":"#/components/schemas/ChainControlSeveritySchema"},"chain_control_code":{"$ref":"#/components/schemas/ChainControlCodeSchema"},"chain_control_raw":{"type":"string","nullable":true},"status_description":{"type":"string"},"start_lat":{"type":"number"},"start_lon":{"type":"number"},"end_lat":{"type":"number","nullable":true},"end_lon":{"type":"number","nullable":true},"type_of_closure":{"type":"string","nullable":true},"type_of_work":{"type":"string","nullable":true},"lanes_closed":{"type":"number","nullable":true},"total_existing_lanes":{"type":"number","nullable":true},"estimated_delay_minutes":{"type":"number","nullable":true},"valid_until":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"destination_scope":{"$ref":"#/components/schemas/RouteDetailScopeSchema"}},"required":["id","route","direction","segment_description","overall_status","chain_control_severity","chain_control_code","chain_control_raw","status_description","start_lat","start_lon","end_lat","end_lon","type_of_closure","type_of_work","lanes_closed","total_existing_lanes","estimated_delay_minutes","valid_until","destination_scope"],"additionalProperties":false},"RouteSummarySectionSchema":{"type":"object","properties":{"alert_type":{"type":"string"},"source":{"type":"string"},"segments":{"type":"array","items":{"$ref":"#/components/schemas/RouteSummarySegmentSchema"}}},"required":["alert_type","source","segments"],"additionalProperties":false},"RouteSummaryDataSchema":{"type":"object","properties":{"route":{"type":"string"},"jurisdictions_covered":{"type":"array","items":{"type":"string"}},"scoped_destination":{"type":"string","nullable":true},"worst_status":{"allOf":[{"$ref":"#/components/schemas/OverallStatusSchema"},{"nullable":true}]},"worst_chain_control_severity":{"allOf":[{"$ref":"#/components/schemas/ChainControlSeveritySchema"},{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]},{"type":"number","enum":[2]},{"type":"number","enum":[3]},{"type":"number","enum":[4]},{"nullable":true}]}]},"worst_chain_control_code":{"allOf":[{"$ref":"#/components/schemas/ChainControlCodeSchema"},{"nullable":true}]},"worst_chain_control_raw":{"type":"string","nullable":true},"active_restrictions":{"type":"integer","minimum":0},"total_segments":{"type":"integer","minimum":0},"summary":{"type":"string"},"sections":{"type":"array","items":{"$ref":"#/components/schemas/RouteSummarySectionSchema"}}},"required":["route","jurisdictions_covered","scoped_destination","worst_status","worst_chain_control_severity","worst_chain_control_code","worst_chain_control_raw","active_restrictions","total_segments","summary","sections"],"additionalProperties":false},"RouteSummaryResponseSchema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RouteSummaryDataSchema"},"_meta":{"$ref":"#/components/schemas/NullPaginationMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"AdapterHealthApiSchema":{"type":"object","properties":{"adapter_id":{"type":"string"},"jurisdiction":{"type":"string"},"feed_type":{"type":"string"},"status":{"$ref":"#/components/schemas/FreshnessSchema"},"live_aggregation_eligible":{"type":"boolean"},"last_successful_fetch":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"last_attempted_fetch":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"consecutive_failures":{"type":"integer","minimum":0},"last_error":{"type":"string","nullable":true},"record_count":{"type":"integer","minimum":0},"average_latency_ms":{"type":"number","nullable":true,"minimum":0},"processor":{"type":"object","properties":{"last_completed_cycle":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"last_job_completed_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"last_job_duration_ms":{"type":"number","nullable":true,"minimum":0},"last_job_enqueued_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"last_job_error":{"type":"string","nullable":true},"last_job_outcome":{"type":"string","nullable":true,"enum":["d1_write_failure","fetch_transport_failure","health_write_failure","publish_withheld","stale_message","success","unknown_adapter","upstream_http_failure","upstream_rate_limited"]},"last_job_started_at":{"$ref":"#/components/schemas/IsoUtcTimestampSchema"},"last_queue_lag_ms":{"type":"number","nullable":true,"minimum":0}},"required":["last_completed_cycle","last_job_completed_at","last_job_duration_ms","last_job_enqueued_at","last_job_error","last_job_outcome","last_job_started_at","last_queue_lag_ms"],"additionalProperties":false}},"required":["adapter_id","jurisdiction","feed_type","status","live_aggregation_eligible","last_successful_fetch","last_attempted_fetch","consecutive_failures","last_error","record_count","average_latency_ms","processor"],"additionalProperties":false},"HealthListResponseSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"overall":{"$ref":"#/components/schemas/FreshnessSchema"},"adapters":{"type":"array","items":{"$ref":"#/components/schemas/AdapterHealthApiSchema"}}},"required":["overall","adapters"],"additionalProperties":false},"_meta":{"$ref":"#/components/schemas/HealthMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"HealthSingleResponseSchema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdapterHealthApiSchema"},"_meta":{"$ref":"#/components/schemas/HealthMetaSchema"}},"required":["data","_meta"],"additionalProperties":false},"OpenApiDocumentSchema":{"type":"object","properties":{"openapi":{"type":"string"},"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"}},"required":["title","version"],"additionalProperties":false},"paths":{"type":"object","additionalProperties":{"nullable":true}}},"required":["openapi","info","paths"]}},"parameters":{}},"paths":{"/v1/destinations/{destination}/access":{"get":{"operationId":"getDestinationAccess","summary":"Get destination access","description":"Canonical proof-wave destination-access contract for the supported destination set.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"path","name":"destination","required":true,"description":"Canonical destination slug. Supported proof-wave destinations are big-bear, lake-arrowhead-rim, idyllwild, mammoth-lakes, june-lake-mono-basin, shaver-lake, kern-river-valley, and oakhurst-bass-lake.","schema":{"type":"string","enum":["big-bear","lake-arrowhead-rim","idyllwild","mammoth-lakes","june-lake-mono-basin","shaver-lake","kern-river-valley","oakhurst-bass-lake"]}},{"in":"query","name":"jurisdiction","required":false,"description":"Optional for the Big Bear MVP. If supplied, it must resolve to US-CA.","schema":{"type":"string","enum":["US-CA"]}}],"responses":{"200":{"description":"Destination-access response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationAccessResponseSchema"}}}},"400":{"description":"Invalid destination-access parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"404":{"description":"Requested destination was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"503":{"description":"Road-conditions storage is unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/conditions":{"get":{"operationId":"getConditions","summary":"List road conditions","description":"List active road conditions with the canonical Big Bear MVP filters.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"query","name":"jurisdiction","required":false,"description":"Comma-separated jurisdiction codes. When route is supplied for an active Big Bear MVP route and jurisdiction is omitted, the effective jurisdiction defaults to US-CA.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"route","required":false,"description":"Comma-separated canonical route values.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["SR-18","SR-38","SR-138","SR-330"]}}},{"in":"query","name":"overall_status","required":false,"description":"Comma-separated overall-status filter.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["open","advisory","restricted","closed"]}}},{"in":"query","name":"chain_control_severity_gte","required":false,"description":"Minimum chain-control severity on the canonical 0-4 scale.","schema":{"type":"integer","minimum":0,"maximum":4}},{"in":"query","name":"include_open","required":false,"description":"Include open records in the live response when true.","schema":{"type":"boolean"}},{"in":"query","name":"is_active","required":false,"description":"Defaults to true. Set false to return only inactive records.","schema":{"type":"boolean"}},{"in":"query","name":"cursor","required":false,"description":"Opaque pagination cursor from the previous response.","schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"description":"Maximum number of records to return. Default 50, max 200.","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Road conditions response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionsListResponseSchema"}}}},"400":{"description":"Invalid query parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"404":{"description":"Requested route was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"503":{"description":"Road-conditions storage is unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/conditions/{id}":{"get":{"operationId":"getConditionById","summary":"Get one road condition","description":"Get a single stored road-condition record by its canonical ID.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"path","name":"id","required":true,"description":"Canonical road-condition identifier in {source}:{segmentId} format.","schema":{"type":"string"}}],"responses":{"200":{"description":"Single road-condition response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConditionByIdResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"404":{"description":"Condition record was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"503":{"description":"Road-conditions storage is unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/destinations":{"get":{"operationId":"getDestinations","summary":"List destinations","description":"List the live supported destination catalog for destination-first discovery.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"query","name":"jurisdiction","required":false,"description":"Optional canonical jurisdiction code filter. If supplied, it must resolve to US-CA.","schema":{"type":"string","enum":["US-CA"]}}],"responses":{"200":{"description":"Destination catalog response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationCatalogResponseSchema"}}}},"400":{"description":"Invalid destination-catalog parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/routes/{route}/summary":{"get":{"operationId":"getRouteSummary","summary":"Get route summary","description":"Get the canonical route-summary aggregation for one active supported California route.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"path","name":"route","required":true,"description":"Canonical route value such as SR-18.","schema":{"type":"string"}},{"in":"query","name":"jurisdiction","required":false,"description":"Optional for the active California route set. If supplied, it must resolve to US-CA.","schema":{"type":"string","enum":["US-CA"]}},{"in":"query","name":"destination","required":false,"description":"Optional canonical destination slug for additive route-row scope grouping. Must be a supported destination for the requested route.","schema":{"type":"string"}}],"responses":{"200":{"description":"Route-summary response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteSummaryResponseSchema"}}}},"400":{"description":"Invalid route-summary parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"404":{"description":"Requested route was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"503":{"description":"Road-conditions storage is unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/health":{"get":{"operationId":"getHealth","summary":"List adapter health","description":"List current health for all registered adapters.","security":[{"bearerAuth":[]},{}],"responses":{"200":{"description":"All adapter health statuses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthListResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/v1/health/{adapterId}":{"get":{"operationId":"getHealthByAdapterId","summary":"Get adapter health","description":"Get current health for one registered adapter.","security":[{"bearerAuth":[]},{}],"parameters":[{"in":"path","name":"adapterId","required":true,"description":"Registered adapter identifier.","schema":{"type":"string"}}],"responses":{"200":{"description":"Single adapter health status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthSingleResponseSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"404":{"description":"Adapter was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApiDocument","summary":"Get OpenAPI document","description":"Get the auto-generated OpenAPI 3.0 document for the public API routes.","security":[{"bearerAuth":[]},{}],"responses":{"200":{"description":"OpenAPI 3.0 document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocumentSchema"}}}},"401":{"description":"Bearer token is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseSchema"}}}}}}}}}