{"openapi":"3.1.0","info":{"title":"Flegra API","version":"0.1.0"},"servers":[{"url":"https://api.flegra.it"}],"paths":{"/api/v1":{"get":{"tags":["metadata"],"summary":"Api Root","operationId":"api_root_api_v1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRootResponse"}}}}}}},"/api/v1/sources":{"get":{"tags":["metadata"],"summary":"Sources","description":"Machine-readable version of what the 'Fonti e metodo' page shows —\nso that page can render the sources Flegra *actually* uses instead of\nhardcoded copy that can drift out of sync with the real configuration.","operationId":"sources_api_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcesResponse"}}}}}}},"/api/v1/stations":{"get":{"tags":["stations"],"summary":"List Stations","operationId":"list_stations_api_v1_stations_get","parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra per codice, nome o rete","title":"Search"},"description":"Filtra per codice, nome o rete"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["live","delayed","degraded","offline","unknown"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Codice canale (es. HHZ) che la stazione deve avere attivo","title":"Channel"},"description":"Codice canale (es. HHZ) che la stazione deve avere attivo"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_StationSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stations/{station_id}":{"get":{"tags":["stations"],"summary":"Get Station","operationId":"get_station_api_v1_stations__station_id__get","parameters":[{"name":"station_id","in":"path","required":true,"schema":{"type":"string","title":"Station Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StationDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stations/{station_id}/channels":{"get":{"tags":["stations"],"summary":"Get Station Channels","operationId":"get_station_channels_api_v1_stations__station_id__channels_get","parameters":[{"name":"station_id","in":"path","required":true,"schema":{"type":"string","title":"Station Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StationChannel"},"title":"Response Get Station Channels Api V1 Stations  Station Id  Channels Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stations/{station_id}/availability":{"get":{"tags":["stations"],"summary":"Get Station Availability","operationId":"get_station_availability_api_v1_stations__station_id__availability_get","parameters":[{"name":"station_id","in":"path","required":true,"schema":{"type":"string","title":"Station Id"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"bucket_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"default":60,"title":"Bucket Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/waveforms/{station_id}":{"get":{"tags":["waveforms"],"summary":"Get Waveform","operationId":"get_waveform_api_v1_waveforms__station_id__get","parameters":[{"name":"station_id","in":"path","required":true,"schema":{"type":"string","title":"Station Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"location","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"window_seconds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Window Seconds"}},{"name":"max_points","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100000,"minimum":10},{"type":"null"}],"title":"Max Points"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaveformResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events":{"get":{"tags":["events"],"summary":"List Events","operationId":"list_events_api_v1_events_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"min_magnitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Magnitude"}},{"name":"max_magnitude","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Magnitude"}},{"name":"min_depth","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Profondità minima in km","title":"Min Depth"},"description":"Profondità minima in km"},{"name":"max_depth","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Profondità massima in km","title":"Max Depth"},"description":"Profondità massima in km"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Es. 'reviewed', 'preliminary'","title":"Status"},"description":"Es. 'reviewed', 'preliminary'"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_SeismicEvent_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/latest":{"get":{"tags":["events"],"summary":"Get Latest Event","operationId":"get_latest_event_api_v1_events_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SeismicEvent"},{"type":"null"}],"title":"Response Get Latest Event Api V1 Events Latest Get"}}}}}}},"/api/v1/events/{event_id}":{"get":{"tags":["events"],"summary":"Get Event","operationId":"get_event_api_v1_events__event_id__get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeismicEvent"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/health":{"get":{"tags":["status"],"summary":"Health","operationId":"health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/status":{"get":{"tags":["status"],"summary":"Status Check","operationId":"status_check_api_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}}}}},"/api/v1/changelog":{"get":{"tags":["changelog"],"summary":"Changelog","description":"Published GitHub releases, proxied so repository credentials never reach the browser.","operationId":"changelog_api_v1_changelog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ChangelogEntry"},"type":"array","title":"Response Changelog Api V1 Changelog Get"}}}}}}}},"components":{"schemas":{"ApiRootResponse":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"api_version":{"type":"string","title":"Api Version"},"status":{"type":"string","const":"operational","title":"Status"}},"type":"object","required":["name","version","api_version","status"],"title":"ApiRootResponse"},"AvailabilityBucket":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"state":{"type":"string","enum":["available","partial","unavailable"],"title":"State"}},"type":"object","required":["start_time","end_time","state"],"title":"AvailabilityBucket"},"AvailabilityResponse":{"properties":{"station_id":{"type":"string","title":"Station Id"},"channel":{"type":"string","title":"Channel"},"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"bucket_minutes":{"type":"integer","title":"Bucket Minutes"},"methodology":{"type":"string","title":"Methodology"},"buckets":{"items":{"$ref":"#/components/schemas/AvailabilityBucket"},"type":"array","title":"Buckets"},"retrieved_at":{"type":"string","format":"date-time","title":"Retrieved At"}},"type":"object","required":["station_id","channel","start_time","end_time","bucket_minutes","methodology","buckets","retrieved_at"],"title":"AvailabilityResponse"},"ChangelogEntry":{"properties":{"version":{"type":"string","title":"Version"},"date":{"type":"string","format":"date","title":"Date"},"channel":{"type":"string","enum":["stable","prerelease"],"title":"Channel"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"current":{"type":"boolean","title":"Current"}},"type":"object","required":["version","date","channel","title","body","current"],"title":"ChangelogEntry"},"DataSourceReference":{"properties":{"provider":{"type":"string","title":"Provider"},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network"},"service":{"type":"string","title":"Service"},"service_url":{"type":"string","title":"Service Url"}},"type":"object","required":["provider","service","service_url"],"title":"DataSourceReference","description":"Attribution for where a piece of data actually came from."},"EventOriginQuality":{"properties":{"used_station_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Used Station Count"},"used_phase_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Used Phase Count"},"standard_error_s":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Standard Error S"},"azimuthal_gap_deg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Azimuthal Gap Deg"},"horizontal_uncertainty_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Horizontal Uncertainty Km"},"depth_uncertainty_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Depth Uncertainty Km"}},"type":"object","title":"EventOriginQuality"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","const":"ok","title":"Status"},"version":{"type":"string","title":"Version"}},"type":"object","required":["status","version"],"title":"HealthResponse"},"PaginatedResponse_SeismicEvent_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SeismicEvent"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"retrieved_at":{"type":"string","format":"date-time","title":"Retrieved At"}},"type":"object","required":["items","total","limit","offset","retrieved_at"],"title":"PaginatedResponse[SeismicEvent]"},"PaginatedResponse_StationSummary_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/StationSummary"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"retrieved_at":{"type":"string","format":"date-time","title":"Retrieved At"}},"type":"object","required":["items","total","limit","offset","retrieved_at"],"title":"PaginatedResponse[StationSummary]"},"SeismicEvent":{"properties":{"id":{"type":"string","title":"Id"},"source_event_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Event Id"},"time":{"type":"string","format":"date-time","title":"Time"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"depth_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Depth Km"},"magnitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Magnitude"},"magnitude_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Magnitude Type"},"locality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locality"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"evaluation_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evaluation Mode"},"evaluation_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evaluation Status"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"origin_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Author"},"magnitude_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Magnitude Author"},"creation_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Time"},"update_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Update Time"},"quality":{"anyOf":[{"$ref":"#/components/schemas/EventOriginQuality"},{"type":"null"}]},"source":{"$ref":"#/components/schemas/DataSourceReference"},"retrieved_at":{"type":"string","format":"date-time","title":"Retrieved At"},"source_page_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Page Url"}},"type":"object","required":["id","source_event_id","time","latitude","longitude","depth_km","magnitude","magnitude_type","locality","event_type","evaluation_mode","evaluation_status","status","origin_author","magnitude_author","creation_time","update_time","quality","source","retrieved_at"],"title":"SeismicEvent"},"ServiceHealth":{"properties":{"status":{"type":"string","enum":["operational","degraded","unavailable"],"title":"Status"},"latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Ms"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["status"],"title":"ServiceHealth"},"SourcesResponse":{"properties":{"network":{"type":"string","title":"Network"},"region":{"additionalProperties":{"type":"number"},"type":"object","title":"Region"},"sources":{"items":{"$ref":"#/components/schemas/DataSourceReference"},"type":"array","title":"Sources"},"waveform_unit":{"type":"string","const":"counts","title":"Waveform Unit"},"cache_seconds":{"additionalProperties":{"type":"number"},"type":"object","title":"Cache Seconds"},"contact_url":{"type":"string","title":"Contact Url"}},"type":"object","required":["network","region","sources","waveform_unit","cache_seconds","contact_url"],"title":"SourcesResponse"},"StationChannel":{"properties":{"network":{"type":"string","title":"Network"},"station":{"type":"string","title":"Station"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"code":{"type":"string","title":"Code"},"sample_rate_hz":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sample Rate Hz"},"azimuth_deg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Azimuth Deg"},"dip_deg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dip Deg"},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Time"},"is_vertical":{"type":"boolean","title":"Is Vertical"},"is_current":{"type":"boolean","title":"Is Current"}},"type":"object","required":["network","station","location","code","sample_rate_hz","azimuth_deg","dip_deg","start_time","end_time","is_vertical","is_current"],"title":"StationChannel"},"StationDetail":{"properties":{"id":{"type":"string","title":"Id"},"network":{"type":"string","title":"Network"},"code":{"type":"string","title":"Code"},"display_name":{"type":"string","title":"Display Name"},"locality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locality"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"elevation_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Elevation M"},"preferred_channel":{"anyOf":[{"$ref":"#/components/schemas/StationChannel"},{"type":"null"}]},"available_channels":{"items":{"$ref":"#/components/schemas/StationChannel"},"type":"array","title":"Available Channels"},"status":{"type":"string","enum":["live","delayed","degraded","offline","unknown"],"title":"Status"},"last_sample_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sample Time"},"latency_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Seconds"},"metadata_updated_at":{"type":"string","format":"date-time","title":"Metadata Updated At"},"source":{"$ref":"#/components/schemas/DataSourceReference"}},"type":"object","required":["id","network","code","display_name","locality","area","latitude","longitude","elevation_m","preferred_channel","available_channels","status","last_sample_time","latency_seconds","metadata_updated_at","source"],"title":"StationDetail","description":"Same shape as StationSummary for v0.1.0 — kept as a distinct type\nsince the detail endpoint is the documented contract point for any\nfuture detail-only fields, without forcing every list-item consumer to\ncarry them."},"StationSummary":{"properties":{"id":{"type":"string","title":"Id"},"network":{"type":"string","title":"Network"},"code":{"type":"string","title":"Code"},"display_name":{"type":"string","title":"Display Name"},"locality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locality"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"elevation_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Elevation M"},"preferred_channel":{"anyOf":[{"$ref":"#/components/schemas/StationChannel"},{"type":"null"}]},"available_channels":{"items":{"$ref":"#/components/schemas/StationChannel"},"type":"array","title":"Available Channels"},"status":{"type":"string","enum":["live","delayed","degraded","offline","unknown"],"title":"Status"},"last_sample_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sample Time"},"latency_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Seconds"},"metadata_updated_at":{"type":"string","format":"date-time","title":"Metadata Updated At"},"source":{"$ref":"#/components/schemas/DataSourceReference"}},"type":"object","required":["id","network","code","display_name","locality","area","latitude","longitude","elevation_m","preferred_channel","available_channels","status","last_sample_time","latency_seconds","metadata_updated_at","source"],"title":"StationSummary"},"StatusResponse":{"properties":{"api":{"$ref":"#/components/schemas/ServiceHealth"},"station_service":{"$ref":"#/components/schemas/ServiceHealth"},"waveform_service":{"$ref":"#/components/schemas/ServiceHealth"},"event_service":{"$ref":"#/components/schemas/ServiceHealth"},"cache":{"$ref":"#/components/schemas/ServiceHealth"},"checked_at":{"type":"string","format":"date-time","title":"Checked At"}},"type":"object","required":["api","station_service","waveform_service","event_service","cache","checked_at"],"title":"StatusResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WaveformGap":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"duration_seconds":{"type":"number","title":"Duration Seconds"}},"type":"object","required":["start_time","end_time","duration_seconds"],"title":"WaveformGap"},"WaveformProcessing":{"properties":{"detrended":{"type":"boolean","title":"Detrended"},"mean_removed":{"type":"boolean","title":"Mean Removed"},"downsampled":{"type":"boolean","title":"Downsampled"},"original_sample_count":{"type":"integer","title":"Original Sample Count"},"returned_sample_count":{"type":"integer","title":"Returned Sample Count"},"strategy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy"}},"type":"object","required":["detrended","mean_removed","downsampled","original_sample_count","returned_sample_count","strategy"],"title":"WaveformProcessing"},"WaveformResponse":{"properties":{"source":{"$ref":"#/components/schemas/WaveformSource"},"unit":{"type":"string","const":"counts","title":"Unit"},"segments":{"items":{"$ref":"#/components/schemas/WaveformSegment"},"type":"array","title":"Segments"},"gaps":{"items":{"$ref":"#/components/schemas/WaveformGap"},"type":"array","title":"Gaps"},"processing":{"$ref":"#/components/schemas/WaveformProcessing"},"retrieved_at":{"type":"string","format":"date-time","title":"Retrieved At"},"latest_sample_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Latest Sample Time"},"latency_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Seconds"},"is_complete":{"type":"boolean","title":"Is Complete"},"is_real_data":{"type":"boolean","const":true,"title":"Is Real Data"},"timing":{"$ref":"#/components/schemas/WaveformTiming"}},"type":"object","required":["source","unit","segments","gaps","processing","retrieved_at","latest_sample_time","latency_seconds","is_complete","is_real_data","timing"],"title":"WaveformResponse"},"WaveformSegment":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"sample_rate_hz":{"type":"number","title":"Sample Rate Hz"},"samples":{"items":{"anyOf":[{"type":"number"},{"type":"integer"}]},"type":"array","title":"Samples"}},"type":"object","required":["start_time","end_time","sample_rate_hz","samples"],"title":"WaveformSegment"},"WaveformSource":{"properties":{"provider":{"type":"string","title":"Provider"},"service":{"type":"string","title":"Service"},"network":{"type":"string","title":"Network"},"station":{"type":"string","title":"Station"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"channel":{"type":"string","title":"Channel"}},"type":"object","required":["provider","service","network","station","location","channel"],"title":"WaveformSource"},"WaveformTiming":{"properties":{"source_latency_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Latency Seconds"},"upstream_request_duration_ms":{"type":"number","title":"Upstream Request Duration Ms"},"decode_duration_ms":{"type":"number","title":"Decode Duration Ms"},"api_total_duration_ms":{"type":"number","title":"Api Total Duration Ms"},"cache":{"type":"string","enum":["hit","miss","coalesced"],"title":"Cache"}},"type":"object","required":["source_latency_seconds","upstream_request_duration_ms","decode_duration_ms","api_total_duration_ms","cache"],"title":"WaveformTiming"}}}}