{"openapi":"3.1.0","info":{"title":"ACE Wind Energy Site Data API","description":"## About this API\n\n[Ambition Community Energy (ACE)](https://ambitioncommunityenergy.org/) is a community-owned renewable-energy organisation in Lawrence Weston, Bristol. ACE operates a 4.2 MW wind turbine and publishes its operational data openly so residents, researchers, educators, developers, and other community-energy projects can explore and reuse real renewable-generation data.\n\nThis read-only API provides live and historical turbine telemetry, status events, setpoint history, and public configuration values. Beginners can start with the [API index](https://ace-api.duckdns.org/index.html) or [dashboard](https://ace-api.duckdns.org/dashboard/). Developers can use the `latest` endpoints for current displays and the paginated `range` endpoints for historical analysis.\n\n## Data use and attribution\n\nPlease acknowledge [Ambition Community Energy (ACE)](https://ambitioncommunityenergy.org/), cite the [Zenodo concept DOI](https://doi.org/10.5281/zenodo.22662372), and retain the [CC BY 4.0 licence](https://creativecommons.org/licenses/by/4.0/) when using or redistributing the data.\n\n## Machine-readable contract\n\nUse the [OpenAPI JSON](https://ace-api.duckdns.org/openapi.json) for the complete endpoint and response schema.","contact":{"name":"Ambition Community Energy (ACE)","url":"https://ambitioncommunityenergy.org/"},"license":{"name":"Creative Commons Attribution 4.0 International","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"0.7.0"},"servers":[{"url":"https://ace-api.duckdns.org","description":"Canonical production API"}],"paths":{"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RootResponse"}}}}}}},"/index.html":{"get":{"summary":"View the human-readable API landing page","operationId":"index_index_html_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/attribution":{"get":{"summary":"Get dataset licence, citation, and project attribution","description":"Machine-readable instructions for humans and automated agents using ACE Wind Site Data. Preserve this attribution when using the data.","operationId":"attribution_v1_attribution_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionMetadata"}}}}}}},"/llms.txt":{"get":{"summary":"Get AI-oriented dataset usage and citation instructions","operationId":"llms_attribution_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/robots.txt":{"get":{"summary":"Declare the public API and dashboard indexable","operationId":"robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/status":{"get":{"summary":"Get public dataset and service health","description":"A cached, non-sensitive summary of ingestion freshness, public data windows, database capacity, retention, and the latest verified Zenodo publication.","operationId":"public_status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicHealthResponse"}}}}}}},"/v1/families":{"get":{"summary":"List Families","operationId":"list_families_v1_families_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyCatalogueResponse"}}}}}}},"/v1/sites":{"get":{"summary":"List public sites","description":"Lists the site IDs used in the data URL paths.","operationId":"list_sites_v1_sites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteCatalogueResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}":{"get":{"summary":"Get Site","operationId":"get_site_v1_sites__site_id__get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/assets":{"get":{"summary":"List Assets","operationId":"list_assets_v1_sites__site_id__assets_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCatalogueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}":{"get":{"summary":"Get Asset","operationId":"get_asset_v1_sites__site_id__assets__asset_id__get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/event-families":{"get":{"summary":"List public status event families","operationId":"list_event_families_v1_event_families_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventFamilyCatalogueResponse"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/events/status/latest":{"get":{"summary":"Get Latest Asset Status","operationId":"get_latest_asset_status_v1_sites__site_id__assets__asset_id__events_status_latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/events/status/range":{"get":{"summary":"Get Asset Status Range","operationId":"get_asset_status_range_v1_sites__site_id__assets__asset_id__events_status_range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/events/{event_family}/latest":{"get":{"summary":"Get the most recent public status events","operationId":"get_latest_events_v1_sites__site_id__events__event_family__latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"event_family","in":"path","required":true,"schema":{"type":"string","title":"Event Family"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/events/{event_family}/range":{"get":{"summary":"Get a paginated range of public status events","operationId":"get_event_range_v1_sites__site_id__events__event_family__range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"event_family","in":"path","required":true,"schema":{"type":"string","title":"Event Family"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/configuration/latest":{"get":{"summary":"Get the latest public value for every site configuration signal","description":"Returns one latest value per public configuration signal. Use the range endpoint for the chronological change history.","operationId":"get_latest_configuration_v1_sites__site_id__configuration_latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigurationResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/configuration/range":{"get":{"summary":"Get a paginated range of public site configuration changes","operationId":"get_configuration_range_v1_sites__site_id__configuration_range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigurationResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/configuration/latest":{"get":{"summary":"Get Latest Asset Configuration","operationId":"get_latest_asset_configuration_v1_sites__site_id__assets__asset_id__configuration_latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigurationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/configuration/range":{"get":{"summary":"Get Asset Configuration Range","operationId":"get_asset_configuration_range_v1_sites__site_id__assets__asset_id__configuration_range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigurationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/data/{family_name}/latest":{"get":{"summary":"Get the most recent records","description":"Returns a bounded tail of the newest complete source records. For 1-second dashboards, refresh no more than once per second and honour HTTP 429 Retry-After responses. Example: `/v1/sites/ace/data/site_instantaneous/latest?resolution=1s&fields=aggregate_active_power&limit=600`.","operationId":"get_latest_family_data_v1_sites__site_id__data__family_name__latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","description":"Public site ID listed by GET /v1/sites.","title":"Site Id"},"description":"Public site ID listed by GET /v1/sites.","examples":{"ace_site":{"value":"ace"}}},{"name":"family_name","in":"path","required":true,"schema":{"type":"string","description":"Site-scoped OPC family listed by GET /v1/families","title":"Family Name"},"description":"Site-scoped OPC family listed by GET /v1/families","examples":{"site_instantaneous":{"summary":"Direct site-level OPC signals","value":"site_instantaneous"}}},{"name":"resolution","in":"query","required":true,"schema":{"type":"string","description":"Source resolution listed by GET /v1/families","title":"Resolution"},"description":"Source resolution listed by GET /v1/families","examples":{"one_second":{"summary":"One-second direct OPC samples","value":"1s"}}},{"name":"fields","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Comma-separated canonical field names","title":"Fields"},"description":"Comma-separated canonical field names","examples":{"live_power":{"summary":"Site aggregate active power","value":"aggregate_active_power"}}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2000,"minimum":1},{"type":"null"}],"description":"Maximum number of most recent complete source records; defaults to the resolution-specific page limit","title":"Limit"},"description":"Maximum number of most recent complete source records; defaults to the resolution-specific page limit","examples":{"five_minutes":{"summary":"Five minutes at one hertz","value":300}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/data/{family_name}/range":{"get":{"summary":"Get a historical time range","description":"Returns a paginated half-open historical observation interval. Example: `/v1/sites/ace/data/site_instantaneous/range?resolution=60s&fields=aggregate_active_power&start=2026-07-27T00:00:00Z&end=2026-08-03T00:00:00Z`.","operationId":"get_family_data_range_v1_sites__site_id__data__family_name__range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","description":"Public site ID listed by GET /v1/sites.","title":"Site Id"},"description":"Public site ID listed by GET /v1/sites.","examples":{"ace_site":{"value":"ace"}}},{"name":"family_name","in":"path","required":true,"schema":{"type":"string","description":"OPC family listed by GET /v1/families","title":"Family Name"},"description":"OPC family listed by GET /v1/families","examples":{"wecstd":{"summary":"Wind-energy-converter standard log","value":"wecstd"}}},{"name":"resolution","in":"query","required":true,"schema":{"type":"string","description":"Source resolution listed by GET /v1/families","title":"Resolution"},"description":"Source resolution listed by GET /v1/families","examples":{"ten_minutes":{"summary":"Ten-minute source log","value":"10m"}}},{"name":"fields","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Comma-separated canonical field names","title":"Fields"},"description":"Comma-separated canonical field names","examples":{"power_and_wind":{"summary":"Two historical Wecstd signals","value":"active_power_mean,wind_speed_mean"}}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Inclusive ISO-8601 UTC observation timestamp","title":"Start"},"description":"Inclusive ISO-8601 UTC observation timestamp","examples":{"week_start":{"value":"2026-07-27T00:00:00Z"}}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Exclusive ISO-8601 UTC observation timestamp","title":"End"},"description":"Exclusive ISO-8601 UTC observation timestamp","examples":{"week_end":{"value":"2026-08-03T00:00:00Z"}}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque cursor returned in the preceding page's `next_cursor` field","title":"Cursor"},"description":"Opaque cursor returned in the preceding page's `next_cursor` field"},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":5000,"minimum":1},{"type":"null"}],"description":"Maximum source records per response page; defaults to the resolution-specific page limit","title":"Page Size"},"description":"Maximum source records per response page; defaults to the resolution-specific page limit","examples":{"compact_page":{"value":500}}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Family is not public","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Parameter validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/data/{family_name}/latest":{"get":{"summary":"Get Latest Asset Data","operationId":"get_latest_asset_data_v1_sites__site_id__assets__asset_id__data__family_name__latest_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"family_name","in":"path","required":true,"schema":{"type":"string","title":"Family Name"}},{"name":"resolution","in":"query","required":true,"schema":{"type":"string","title":"Resolution"}},{"name":"fields","in":"query","required":true,"schema":{"type":"string","title":"Fields"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/{site_id}/assets/{asset_id}/data/{family_name}/range":{"get":{"summary":"Get Asset Data Range","operationId":"get_asset_data_range_v1_sites__site_id__assets__asset_id__data__family_name__range_get","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"family_name","in":"path","required":true,"schema":{"type":"string","title":"Family Name"}},{"name":"resolution","in":"query","required":true,"schema":{"type":"string","title":"Resolution"}},{"name":"fields","in":"query","required":true,"schema":{"type":"string","title":"Fields"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AssetCatalogueResponse":{"properties":{"site":{"type":"string","title":"Site"},"assets":{"items":{"$ref":"#/components/schemas/AssetMetadata"},"type":"array","title":"Assets"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","assets","attribution"],"title":"AssetCatalogueResponse"},"AssetMetadata":{"properties":{"id":{"type":"string","title":"Id"},"display_name":{"type":"string","title":"Display Name"},"asset_type":{"type":"string","title":"Asset Type"},"opc_path":{"type":"string","title":"Opc Path"},"opc_plant_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Opc Plant Number"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","display_name","asset_type","opc_path","is_active"],"title":"AssetMetadata"},"AssetResponse":{"properties":{"site":{"type":"string","title":"Site"},"asset":{"$ref":"#/components/schemas/AssetMetadata"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","asset","attribution"],"title":"AssetResponse"},"AttributionMetadata":{"properties":{"dataset":{"type":"string","title":"Dataset"},"license":{"type":"string","title":"License"},"license_url":{"type":"string","title":"License Url"},"attribution":{"type":"string","title":"Attribution"},"citation_doi":{"type":"string","title":"Citation Doi"},"citation_url":{"type":"string","title":"Citation Url"},"citation_instruction":{"type":"string","title":"Citation Instruction"},"project":{"type":"string","title":"Project"},"project_url":{"type":"string","title":"Project Url"}},"type":"object","required":["dataset","license","license_url","attribution","citation_doi","citation_url","citation_instruction","project","project_url"],"title":"AttributionMetadata"},"ConfigurationChangeItem":{"properties":{"observed_at":{"type":"integer","title":"Observed At"},"signal":{"type":"string","title":"Signal"},"display_name":{"type":"string","title":"Display Name"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"value":{"anyOf":[{},{"type":"null"}],"title":"Value"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality"}},"type":"object","required":["observed_at","signal","display_name"],"title":"ConfigurationChangeItem"},"ConfigurationResponse":{"properties":{"site":{"type":"string","title":"Site"},"asset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset"},"changes":{"items":{"$ref":"#/components/schemas/ConfigurationChangeItem"},"type":"array","title":"Changes"},"page":{"$ref":"#/components/schemas/PageMetadata"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","changes","page","attribution"],"title":"ConfigurationResponse"},"DataResponse":{"properties":{"site":{"type":"string","title":"Site"},"asset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset"},"family":{"type":"string","title":"Family"},"resolution":{"type":"string","title":"Resolution"},"resolution_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resolution Seconds"},"poll_interval_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Poll Interval Seconds"},"timestamps":{"items":{"type":"integer"},"type":"array","title":"Timestamps"},"series":{"additionalProperties":{"items":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"array"},"type":"object","title":"Series"},"quality":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Quality"},"series_quality":{"anyOf":[{"additionalProperties":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array"},"type":"object"},{"type":"null"}],"title":"Series Quality"},"series_observed_at":{"anyOf":[{"additionalProperties":{"items":{"anyOf":[{"type":"integer"},{"type":"null"}]},"type":"array"},"type":"object"},{"type":"null"}],"title":"Series Observed At"},"collection_timestamps":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Collection Timestamps"},"fields":{"items":{"$ref":"#/components/schemas/FieldMetadata"},"type":"array","title":"Fields"},"page":{"$ref":"#/components/schemas/PageMetadata"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","family","resolution","resolution_seconds","timestamps","series","quality","fields","page","attribution"],"title":"DataResponse"},"ErrorDetail":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"details":{"anyOf":[{},{"type":"null"}],"title":"Details"}},"type":"object","required":["code","message"],"title":"ErrorDetail"},"ErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ErrorDetail"},"request_id":{"type":"string","title":"Request Id"}},"type":"object","required":["error","request_id"],"title":"ErrorResponse"},"EventFamilyCatalogueResponse":{"properties":{"event_families":{"items":{"$ref":"#/components/schemas/EventFamilyMetadata"},"type":"array","title":"Event Families"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["event_families","attribution"],"title":"EventFamilyCatalogueResponse"},"EventFamilyMetadata":{"properties":{"family":{"type":"string","title":"Family"},"display_name":{"type":"string","title":"Display Name"},"fields":{"items":{"$ref":"#/components/schemas/EventFieldMetadata"},"type":"array","title":"Fields"},"maximum_page_records":{"type":"integer","title":"Maximum Page Records"},"timestamp_basis":{"type":"string","title":"Timestamp Basis"},"scope":{"type":"string","title":"Scope"},"compatible_asset_types":{"items":{"type":"string"},"type":"array","title":"Compatible Asset Types"}},"type":"object","required":["family","display_name","fields","maximum_page_records","timestamp_basis","scope","compatible_asset_types"],"title":"EventFamilyMetadata"},"EventFieldMetadata":{"properties":{"index":{"type":"integer","title":"Index"},"name":{"type":"string","title":"Name"}},"type":"object","required":["index","name"],"title":"EventFieldMetadata"},"EventRecordItem":{"properties":{"observed_at":{"type":"integer","title":"Observed At"},"values":{"additionalProperties":true,"type":"object","title":"Values"},"quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality"}},"type":"object","required":["observed_at","values"],"title":"EventRecordItem"},"EventResponse":{"properties":{"site":{"type":"string","title":"Site"},"asset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset"},"event_family":{"type":"string","title":"Event Family"},"events":{"items":{"$ref":"#/components/schemas/EventRecordItem"},"type":"array","title":"Events"},"page":{"$ref":"#/components/schemas/PageMetadata"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","event_family","events","page","attribution"],"title":"EventResponse"},"FamilyCatalogueResponse":{"properties":{"families":{"items":{"$ref":"#/components/schemas/FamilyMetadata"},"type":"array","title":"Families"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["families","attribution"],"title":"FamilyCatalogueResponse"},"FamilyMetadata":{"properties":{"family":{"type":"string","title":"Family"},"display_name":{"type":"string","title":"Display Name"},"resolutions":{"items":{"type":"string"},"type":"array","title":"Resolutions"},"capabilities":{"items":{"$ref":"#/components/schemas/ResolutionCapability"},"type":"array","title":"Capabilities"},"public":{"type":"boolean","title":"Public"},"scope":{"type":"string","title":"Scope"},"compatible_asset_types":{"items":{"type":"string"},"type":"array","title":"Compatible Asset Types"},"fields":{"items":{"$ref":"#/components/schemas/FieldMetadata"},"type":"array","title":"Fields"}},"type":"object","required":["family","display_name","resolutions","capabilities","public","scope","compatible_asset_types","fields"],"title":"FamilyMetadata"},"FieldMetadata":{"properties":{"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"description":{"type":"string","title":"Description"},"native_name":{"type":"string","title":"Native Name"},"native_index":{"type":"integer","title":"Native Index"}},"type":"object","required":["name","display_name","description","native_name","native_index"],"title":"FieldMetadata"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"HealthResponse"},"PageMetadata":{"properties":{"points":{"type":"integer","title":"Points"},"has_more":{"type":"boolean","title":"Has More"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["points","has_more"],"title":"PageMetadata"},"PublicHealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"generated_at":{"type":"string","title":"Generated At"},"ingestion":{"additionalProperties":true,"type":"object","title":"Ingestion"},"zenodo":{"additionalProperties":true,"type":"object","title":"Zenodo"},"data_windows":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data Windows"},"database_storage":{"additionalProperties":true,"type":"object","title":"Database Storage"},"retention_days":{"additionalProperties":{"type":"integer"},"type":"object","title":"Retention Days"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["status","generated_at","ingestion","zenodo","data_windows","database_storage","retention_days","attribution"],"title":"PublicHealthResponse"},"ResolutionCapability":{"properties":{"resolution":{"type":"string","title":"Resolution"},"maximum_range_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maximum Range Seconds"},"maximum_page_records":{"type":"integer","title":"Maximum Page Records"},"maximum_fields_per_request":{"type":"integer","title":"Maximum Fields Per Request"},"maximum_latest_records":{"type":"integer","title":"Maximum Latest Records"},"latest_cache_seconds":{"type":"integer","title":"Latest Cache Seconds"},"range_cache_seconds":{"type":"integer","title":"Range Cache Seconds"},"recommended_refresh_seconds":{"type":"integer","title":"Recommended Refresh Seconds"},"timestamp_basis":{"type":"string","title":"Timestamp Basis"}},"type":"object","required":["resolution","maximum_range_seconds","maximum_page_records","maximum_fields_per_request","maximum_latest_records","latest_cache_seconds","range_cache_seconds","recommended_refresh_seconds","timestamp_basis"],"title":"ResolutionCapability"},"RootResponse":{"properties":{"service":{"type":"string","title":"Service"},"version":{"type":"string","title":"Version"},"docs":{"type":"string","title":"Docs"},"openapi":{"type":"string","title":"Openapi"},"llms":{"type":"string","title":"Llms"},"robots":{"type":"string","title":"Robots"},"index":{"type":"string","title":"Index"},"families":{"type":"string","title":"Families"},"sites":{"type":"string","title":"Sites"},"event_families":{"type":"string","title":"Event Families"},"status_endpoint":{"type":"string","title":"Status Endpoint"},"configuration":{"type":"string","title":"Configuration"},"attribution_endpoint":{"type":"string","title":"Attribution Endpoint"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["service","version","docs","openapi","llms","robots","index","families","sites","event_families","status_endpoint","configuration","attribution_endpoint","attribution"],"title":"RootResponse"},"SiteCatalogueResponse":{"properties":{"sites":{"items":{"$ref":"#/components/schemas/SiteMetadata"},"type":"array","title":"Sites"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["sites","attribution"],"title":"SiteCatalogueResponse"},"SiteMetadata":{"properties":{"id":{"type":"string","title":"Id"},"display_name":{"type":"string","title":"Display Name"}},"type":"object","required":["id","display_name"],"title":"SiteMetadata"},"SiteResponse":{"properties":{"site":{"$ref":"#/components/schemas/SiteMetadata"},"attribution":{"$ref":"#/components/schemas/AttributionMetadata"}},"type":"object","required":["site","attribution"],"title":"SiteResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}