{"openapi":"3.0.2","info":{"title":"Hawkeye","description":"\n        VIANOVA / Hawkeye API\n\n        This API documentation is fully compatible with OpenAPI specification.\n\n        For more information, please visit https://developers.vianova.io\n        ","version":"apprunner-prod"},"servers":[{"url":"https://api.vianova.dev","description":"Hawkeye API"}],"paths":{"/zones/{zone_id}/agency/vehicles/{device_id}/":{"get":{"tags":["Agency"],"summary":"Get Vehicle","operationId":"get_vehicle_zones__zone_id__agency_vehicles__device_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vehicle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Agency"],"summary":"Update Vehicle","operationId":"update_vehicle_zones__zone_id__agency_vehicles__device_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vehicle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/agency/vehicles/":{"get":{"tags":["Agency"],"summary":"Get Vehicles","operationId":"get_vehicles_zones__zone_id__agency_vehicles__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Agency"],"summary":"Create Vehicle","operationId":"create_vehicle_zones__zone_id__agency_vehicles__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleRegister"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vehicle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/agency/vehicles/{device_id}/event/":{"post":{"tags":["Agency"],"summary":"Update Vehicle State","operationId":"update_vehicle_state_zones__zone_id__agency_vehicles__device_id__event__post","security":[{"_Bearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleAgencyEvent"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vehicle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cities/":{"get":{"tags":["Cities"],"summary":"Get Cities","operationId":"get_cities_cities__get","security":[{"_Bearer":[]}],"parameters":[{"name":"bounding_box","in":"query","required":false,"schema":{"type":"array","items":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}]},"title":"Bounding Box"}},{"name":"include_geometries","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Geometries"}},{"name":"name","in":"query","required":false,"schema":{"type":"string","title":"Name"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CityModelCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/datasets/":{"get":{"tags":["Datasets"],"summary":"Get Datasets","operationId":"get_datasets_zones__zone_id__datasets__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datasets/{dataset_id}/":{"get":{"tags":["Datasets"],"summary":"Get Dataset","operationId":"get_dataset_datasets__dataset_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string","title":"Dataset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetEntity"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/device_types/":{"get":{"tags":["Zones"],"summary":"Get Device Types","operationId":"get_device_types_zones__zone_id__device_types__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceType"},"title":"Response Get Device Types Zones  Zone Id  Device Types  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/devices/":{"get":{"tags":["Devices"],"summary":"Devices","operationId":"devices_zones__zone_id__devices__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"search_term","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"title":"Search Term"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"default":[],"title":"Tags"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/events/":{"post":{"tags":["Metrics"],"summary":"Events","operationId":"events_zones__zone_id__events__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"skip_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Skip Cache"}},{"name":"reprocess_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reprocess Cache"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Events"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/":{"get":{"tags":["Feeds"],"summary":"Get Feeds","operationId":"get_feeds_feeds__get","parameters":[{"name":"group_by","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/FeedsGroupBy"}],"default":"feed","title":"Group By"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FeedCollection"},{"$ref":"#/components/schemas/FeedProviderStatusCollection"}],"title":"Response Get Feeds Feeds  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/feeds/":{"get":{"tags":["Feeds"],"summary":"Get Zone Feeds","operationId":"get_zone_feeds_zones__zone_id__feeds__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"fast","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Fast"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/feeds/{feed_id}/":{"post":{"tags":["Feeds"],"summary":"Attach Feed To Zone","operationId":"attach_feed_to_zone_zones__zone_id__feeds__feed_id___post","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Feeds"],"summary":"Detach Feed From Zone","operationId":"detach_feed_from_zone_zones__zone_id__feeds__feed_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Feeds"],"summary":"Patch Zones Zone Id Feeds Feed Id","operationId":"patch_zones_zone_id_feeds_feed_id_zones__zone_id__feeds__feed_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneFeedPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/feeds/{feed_id}/agreement/":{"get":{"tags":["Feeds"],"summary":"Feed Agreement","operationId":"feed_agreement_zones__zone_id__feeds__feed_id__agreement__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/feeds/{feed_id}/verification_status/":{"post":{"tags":["Feeds"],"summary":"Post Zones Zone Id Feeds Feed Id Verification Status","operationId":"post_zones_zone_id_feeds_feed_id_verification_status_zones__zone_id__feeds__feed_id__verification_status__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneFeedVerificationStatus"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/{feed_id}/":{"get":{"tags":["Feeds"],"summary":"Get Feed","operationId":"get_feed_feeds__feed_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Feeds"],"summary":"Patch Feed","description":"## Enable/Disable a feed.\nThis endpoint is only available to the feed owner.\n\nIf a feed is disabled, it won't get any new data from the source.\nIf a feed is enabled, it will get new data from the source, every 1 minute.","operationId":"patch_feed_feeds__feed_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FeedPatch"},{"$ref":"#/components/schemas/PatchFeedFromSourceTemplateRequest"}],"title":"Patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Feeds"],"summary":"Delete Feed","operationId":"delete_feed_feeds__feed_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/{feed_id}/test/":{"post":{"tags":["Feeds"],"summary":"Feed Test","operationId":"feed_test_feeds__feed_id__test__post","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}},{"name":"realtime","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Realtime"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedTest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedTestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/{feed_id}/backfill/":{"post":{"tags":["Feeds"],"summary":"Feed Backfill","operationId":"feed_backfill_feeds__feed_id__backfill__post","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedBackfill"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedTestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feeds/{feed_id}/zones/":{"get":{"tags":["Feeds"],"summary":"Feed Zones","operationId":"feed_zones_feeds__feed_id__zones__get","security":[{"_Bearer":[]}],"parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedZoneCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/feeds/":{"get":{"tags":["Feeds"],"summary":"Get Org Feeds","operationId":"get_org_feeds_orgs__org_id__feeds__get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/feeds/{feed_id}/":{"get":{"tags":["Feeds"],"summary":"Get Org Feed","operationId":"get_org_feed_orgs__org_id__feeds__feed_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"feed_id","in":"path","required":true,"schema":{"type":"integer","title":"Feed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fake_feed/":{"get":{"tags":["Feeds"],"summary":"Get Fake Feed","operationId":"get_fake_feed_fake_feed__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FakeMDSResponse"}}}}}}},"/zones/{zone_id}/geo_features/":{"get":{"tags":["Geo Features"],"summary":"Get Geo Features","operationId":"get_geo_features_zones__zone_id__geo_features__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"within_meters","in":"query","required":false,"schema":{"type":"number","minimum":0.0,"title":"Within Meters"}},{"name":"lat","in":"query","required":false,"schema":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lng"}},{"name":"regulation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"title":"Regulation Id"}},{"name":"geometry_resolution_meters","in":"query","required":false,"schema":{"type":"number","minimum":0.0,"default":1,"title":"Geometry Resolution Meters"}},{"name":"include_geometries","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Geometries"}},{"name":"starting_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Starting From"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"default":[],"title":"Tags"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Geo Features"],"summary":"Create Geo Feature","operationId":"create_geo_feature_zones__zone_id__geo_features__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"strict_geometry","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Strict Geometry"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoFeatureCreate"},{"$ref":"#/components/schemas/GeoJSONFeature"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Geo Feature"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoFeature"},{"$ref":"#/components/schemas/GeoFeatureCollection"}],"title":"Response Create Geo Feature Zones  Zone Id  Geo Features  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/geo_features/tags/":{"get":{"tags":["Geo Features"],"summary":"Get Geo Geo Feature Tags","operationId":"get_geo_geo_feature_tags_zones__zone_id__geo_features_tags__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"title":"Response Get Geo Geo Feature Tags Zones  Zone Id  Geo Features Tags  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/geo_features/processing_statuses/":{"get":{"tags":["Geo Features"],"summary":"Get Geo Feature Processing Statuses","operationId":"get_geo_feature_processing_statuses_zones__zone_id__geo_features_processing_statuses__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeatureProcessingStatusCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo_features/{geo_feature_id}/processing_status/":{"get":{"tags":["Geo Features"],"summary":"Get Geo Feature Processing Status","operationId":"get_geo_feature_processing_status_geo_features__geo_feature_id__processing_status__get","security":[{"_Bearer":[]}],"parameters":[{"name":"geo_feature_id","in":"path","required":true,"schema":{"type":"integer","title":"Geo Feature Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeatureProcessingStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo_features/{geo_feature_id}/":{"get":{"tags":["Geo Features"],"summary":"Get Geo Feature","operationId":"get_geo_feature_geo_features__geo_feature_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"geo_feature_id","in":"path","required":true,"schema":{"type":"integer","title":"Geo Feature Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeature"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Geo Features"],"summary":"Delete Geo Feature","operationId":"delete_geo_feature_geo_features__geo_feature_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"geo_feature_id","in":"path","required":true,"schema":{"type":"integer","title":"Geo Feature Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Geo Features"],"summary":"Patch Geo Feature","operationId":"patch_geo_feature_geo_features__geo_feature_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"geo_feature_id","in":"path","required":true,"schema":{"type":"integer","title":"Geo Feature Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeaturePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoFeature"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo_features/{geo_feature_id}/regulations/":{"get":{"tags":["Geo Features"],"summary":"Geo Feature Regulations","operationId":"geo_feature_regulations_geo_features__geo_feature_id__regulations__get","security":[{"_Bearer":[]}],"parameters":[{"name":"geo_feature_id","in":"path","required":true,"schema":{"type":"integer","title":"Geo Feature Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/incidents/{incident_id}/attachments/":{"post":{"tags":["Incidents"],"summary":"Add Attachment To Incident","operationId":"add_attachment_to_incident_incidents__incident_id__attachments__post","security":[{"_Bearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Incident Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_add_attachment_to_incident_incidents__incident_id__attachments__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentAttachmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/incidents/":{"post":{"tags":["Incidents"],"summary":"Post Incident","operationId":"post_incident_zones__zone_id__incidents__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"trigger_email","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Trigger Email"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentWithAttachmentsCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Incident"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Incidents"],"summary":"List Incidents Zone","operationId":"list_incidents_zone_zones__zone_id__incidents__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"only_devices_events","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Devices Events"}},{"name":"only_unresolved","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Unresolved"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/incidents/{incident_id}/":{"get":{"tags":["Incidents"],"summary":"Get Incident","operationId":"get_incident_incidents__incident_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Incident Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Incident"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/incidents/":{"get":{"tags":["Incidents"],"summary":"List Incidents Org Feeds","operationId":"list_incidents_org_feeds_orgs__org_id__incidents__get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/incidents/extract_code/":{"post":{"tags":["Incidents"],"summary":"Extract Code From Image","description":"Extract a code in format XXX-XXX from an image using AWS Rekognition.\nReturns the code if found, or raises a 404 if no code is found.","operationId":"extract_code_from_image_incidents_extract_code__post","security":[{"_Bearer":[]}],"parameters":[{"name":"provider_name","in":"query","required":false,"schema":{"type":"string","description":"The provider name","title":"Provider Name"},"description":"The provider name"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_extract_code_from_image_incidents_extract_code__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractCodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{zone_name}/policy/policies/":{"get":{"tags":["MDS"],"summary":"Mds Policies","operationId":"mds_policies_mds__mds_version___zone_name__policy_policies__get","parameters":[{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MdsPolicyFormat"}],"default":"mds","title":"Format"}},{"name":"nb_history_versions","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"description":"If specified, only include X latest version. Possible value: 1, 2.","title":"Nb History Versions"},"description":"If specified, only include X latest version. Possible value: 1, 2."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VianovaMds110"},{"$ref":"#/components/schemas/VianovaMds041"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Policies Mds  Mds Version   Zone Name  Policy Policies  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{org_name}/{zone_name}/policy/policies/":{"get":{"tags":["MDS"],"summary":"Mds Org Zone Policies","operationId":"mds_org_zone_policies_mds__mds_version___org_name___zone_name__policy_policies__get","parameters":[{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"org_name","in":"path","required":true,"schema":{"type":"string","title":"Org Name"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MdsPolicyFormat"}],"default":"mds","title":"Format"}},{"name":"reprocess_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reprocess Cache"}},{"name":"nb_history_versions","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"description":"If specified, only include X latest version. Possible value: 1, 2.","title":"Nb History Versions"},"description":"If specified, only include X latest version. Possible value: 1, 2."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VianovaMds110"},{"$ref":"#/components/schemas/VianovaMds041"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Org Zone Policies Mds  Mds Version   Org Name   Zone Name  Policy Policies  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{zone_name}/policy/policies/{policy_uuid}/":{"get":{"tags":["MDS"],"summary":"Mds Zone Policy","operationId":"mds_zone_policy_mds__mds_version___zone_name__policy_policies__policy_uuid___get","parameters":[{"name":"policy_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Policy Uuid"}},{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"latest_version","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Latest Version"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MdsPolicyFormat"}],"default":"mds","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v110__Policy"},{"$ref":"#/components/schemas/vianova__mds__versions__v041__Policy"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Zone Policy Mds  Mds Version   Zone Name  Policy Policies  Policy Uuid   Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{org_name}/{zone_name}/policy/policies/{policy_uuid}/":{"get":{"tags":["MDS"],"summary":"Mds Org Zone Policy","operationId":"mds_org_zone_policy_mds__mds_version___org_name___zone_name__policy_policies__policy_uuid___get","parameters":[{"name":"policy_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Policy Uuid"}},{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"org_name","in":"path","required":true,"schema":{"type":"string","title":"Org Name"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"latest_version","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Latest Version"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MdsPolicyFormat"}],"default":"mds","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v110__Policy"},{"$ref":"#/components/schemas/vianova__mds__versions__v041__Policy"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Org Zone Policy Mds  Mds Version   Org Name   Zone Name  Policy Policies  Policy Uuid   Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/policy/policies/{policy_uuid}/":{"get":{"tags":["MDS"],"summary":"Mds Policy","operationId":"mds_policy_mds__mds_version__policy_policies__policy_uuid___get","parameters":[{"name":"policy_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Policy Uuid"}},{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"latest_version","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Latest Version"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/MdsPolicyFormat"}],"default":"mds","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v110__Policy"},{"$ref":"#/components/schemas/vianova__mds__versions__v041__Policy"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Policy Mds  Mds Version  Policy Policies  Policy Uuid   Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{zone_name}/policy/geographies/":{"get":{"tags":["MDS"],"summary":"Mds Geographies","operationId":"mds_geographies_mds__mds_version___zone_name__policy_geographies__get","parameters":[{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"nb_history_versions","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"description":"If specified, only include X latest version. Possible value: 1, 2.","title":"Nb History Versions"},"description":"If specified, only include X latest version. Possible value: 1, 2."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{org_name}/{zone_name}/policy/geographies/":{"get":{"tags":["MDS"],"summary":"Mds Org Zone Geographies","operationId":"mds_org_zone_geographies_mds__mds_version___org_name___zone_name__policy_geographies__get","parameters":[{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}},{"name":"org_name","in":"path","required":true,"schema":{"type":"string","title":"Org Name"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"reprocess_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reprocess Cache"}},{"name":"nb_history_versions","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"description":"If specified, only include X latest version. Possible value: 1, 2.","title":"Nb History Versions"},"description":"If specified, only include X latest version. Possible value: 1, 2."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{zone_name}/policy/geographies/{geography_uuid}/":{"get":{"tags":["MDS"],"summary":"Mds Geography","operationId":"mds_geography_mds__mds_version___zone_name__policy_geographies__geography_uuid___get","parameters":[{"name":"geography_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Geography Uuid"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoJSONFeature"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Geography Mds  Mds Version   Zone Name  Policy Geographies  Geography Uuid   Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mds/{mds_version}/{org_name}/{zone_name}/policy/geographies/{geography_uuid}/":{"get":{"tags":["MDS"],"summary":"Mds Org Zone Geography","operationId":"mds_org_zone_geography_mds__mds_version___org_name___zone_name__policy_geographies__geography_uuid___get","parameters":[{"name":"geography_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Geography Uuid"}},{"name":"org_name","in":"path","required":true,"schema":{"type":"string","title":"Org Name"}},{"name":"zone_name","in":"path","required":true,"schema":{"type":"string","title":"Zone Name"}},{"name":"mds_version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/MdsVersion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoJSONFeature"},{"$ref":"#/components/schemas/GeoJSONFeatureCollection"}],"title":"Response Mds Org Zone Geography Mds  Mds Version   Org Name   Zone Name  Policy Geographies  Geography Uuid   Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/metrics/":{"post":{"tags":["Metrics"],"summary":"Metrics","description":"Get metrics on feeds, regulations & infringements, fleet of vehicles","operationId":"metrics_zones__zone_id__metrics__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"skip_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Skip Cache"}},{"name":"reprocess_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reprocess Cache"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricDefinition"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/metrics/":{"post":{"tags":["Metrics"],"summary":"Metrics","operationId":"metrics_orgs__org_id__metrics__post","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricDefinition"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/":{"get":{"tags":["Notifications"],"summary":"Get All Notifications","operationId":"get_all_notifications_notifications__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/{notification_id}/":{"get":{"tags":["Notifications"],"summary":"Get Notification","operationId":"get_notification_notifications__notification_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Notifications"],"summary":"Patch Notification","operationId":"patch_notification_notifications__notification_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/channels/":{"post":{"tags":["Notifications"],"summary":"Post Channel","operationId":"post_channel_zones__zone_id__channels__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelBase"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Notifications"],"summary":"Get Channels Zone","operationId":"get_channels_zone_zones__zone_id__channels__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/channels/":{"get":{"tags":["Notifications"],"summary":"Get Channels","operationId":"get_channels_channels__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/channels/{channel_id}/":{"get":{"tags":["Notifications"],"summary":"Get Channel","operationId":"get_channel_channels__channel_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Channel Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Channel","operationId":"delete_channel_channels__channel_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Channel Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Notifications"],"summary":"Patch Channel","operationId":"patch_channel_channels__channel_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Channel Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/":{"get":{"tags":["Orgs"],"summary":"Get Orgs","operationId":"get_orgs_orgs__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/":{"get":{"tags":["Orgs"],"summary":"Get Org","operationId":"get_org_orgs__org_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Org"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Orgs"],"summary":"Patch Org","operationId":"patch_org_orgs__org_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Org"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/avatar/":{"patch":{"tags":["Orgs"],"summary":"Patch Org Avatar","operationId":"patch_org_avatar_orgs__org_id__avatar__patch","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgAvatarPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Org"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/thumbnail/":{"post":{"tags":["Orgs"],"summary":"Add Org Thumbnail","operationId":"add_org_thumbnail_orgs__org_id__thumbnail__post","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_add_org_thumbnail_orgs__org_id__thumbnail__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThumbnailResponse"}}}},"400":{"description":"Bad Request"},"403":{"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Orgs"],"summary":"Get Org Thumbnail","operationId":"get_org_thumbnail_orgs__org_id__thumbnail__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Org Id"}},{"name":"length","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Resize thumbnail to a resolution of length x length (in pixels).","title":"Length"},"description":"Resize thumbnail to a resolution of length x length (in pixels)."}],"responses":{"200":{"description":"Successful Response","content":{"image/webp":{}}},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Orgs"],"summary":"Delete Org Thumbnail","operationId":"delete_org_thumbnail_orgs__org_id__thumbnail__delete","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"204":{"description":"Successful Response"},"403":{"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/provider_scopes/":{"get":{"tags":["Users"],"summary":"Get User Provider Scopes","operationId":"get_user_provider_scopes_users__user_id__provider_scopes__get","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/providers/":{"get":{"tags":["Providers"],"summary":"Get Providers","operationId":"get_providers_zones__zone_id__providers__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/providers/{provider_id}/":{"get":{"tags":["Providers"],"summary":"Get Provider","operationId":"get_provider_providers__provider_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"integer","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/regulations/":{"get":{"tags":["Regulations"],"summary":"Get Regulations","operationId":"get_regulations_zones__zone_id__regulations__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"include_geometries","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Geometries"}},{"name":"include_expired","in":"query","required":false,"schema":{"type":"boolean","description":"Include expired regulations. If False, only ongoing regulations are returned.","default":true,"title":"Include Expired"},"description":"Include expired regulations. If False, only ongoing regulations are returned."},{"name":"include_obsolete","in":"query","required":false,"schema":{"type":"boolean","description":"Include obsolete regulations. If False, only the latest version of each regulation is returned.","default":true,"title":"Include Obsolete"},"description":"Include obsolete regulations. If False, only the latest version of each regulation is returned."},{"name":"geo_format","in":"query","required":false,"schema":{"type":"string","description":"Format of the geometry elements in the response. Can be 'geojson' or 'wkb'.","default":"geojson","title":"Geo Format"},"description":"Format of the geometry elements in the response. Can be 'geojson' or 'wkb'."},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Regulations"],"summary":"Create Regulation","operationId":"create_regulation_zones__zone_id__regulations__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Regulation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regulations/{regulation_id}/":{"delete":{"tags":["Regulations"],"summary":"Delete Regulation","operationId":"delete_regulation_regulations__regulation_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"integer"}],"title":"Regulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Regulations"],"summary":"Patch Regulation","operationId":"patch_regulation_regulations__regulation_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"integer"}],"title":"Regulation Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Regulation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Regulations"],"summary":"Get Regulation","operationId":"get_regulation_regulations__regulation_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"integer"}],"title":"Regulation Id"}},{"name":"latest_version","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Latest Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Regulation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regulations/{regulation_id}/zone/":{"get":{"tags":["Regulations"],"summary":"Get Regulation Zone","operationId":"get_regulation_zone_regulations__regulation_id__zone__get","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"integer"}],"title":"Regulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/regulations/{regulation_id}/logs/":{"get":{"tags":["Regulations"],"summary":"Get Regulation Logs","operationId":"get_regulation_logs_regulations__regulation_id__logs__get","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"integer"}],"title":"Regulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationLogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/regulation_groups/":{"get":{"tags":["Regulations"],"summary":"Get Zone Regulation Groups","description":"Original SQL query, translated to sqlalchemy by our good old friend chatgpt 🤖\n\nselect *\nfrom HAWKEYE_SOURCES.REGULATION_GROUP\nwhere zone_id=25326 and deleted_at is null\n\nUNION\n\nselect *\nfrom hawkeye_sources.regulation_group\nwhere\n        regulation_group.zone_id in (\n        select zone_id\n        from hawkeye_sources.shared_dataset\n        where receiving_zone_id=25326\n    )\nand regulation_group.deleted_at is null\nand NOT (\n        regulation_ids && (\n                            select\n                                CASE\n                                    WHEN\n                                        coalesce(array_length(ARRAY_agg(regulation_id),1), 0) = 0\n                                    THEN\n                                        array[-1]\n                                    ELSE\n                                        ARRAY_agg(regulation_id)\n                                    END\n                            from hawkeye_sources.regulation\n                            WHERE definition->>'is_private' = 'true'\n                            and\n                                regulation.zone_id in (\n                                    select zone_id\n                                    from hawkeye_sources.shared_dataset\n                                    where receiving_zone_id=25326\n                                )\n                            )\n    );","operationId":"get_zone_regulation_groups_zones__zone_id__regulation_groups__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"only_with_regulations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Only With Regulations"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroupCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Regulations"],"summary":"Create Zone Regulations Group","operationId":"create_zone_regulations_group_zones__zone_id__regulation_groups__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroupBase"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/regulation_groups/{regulation_group_id}/":{"get":{"tags":["Regulations"],"summary":"Get Zone Regulation Group","operationId":"get_zone_regulation_group_zones__zone_id__regulation_groups__regulation_group_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_group_id","in":"path","required":true,"schema":{"type":"integer","title":"Regulation Group Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Regulations"],"summary":"Update Zone Regulations Group","operationId":"update_zone_regulations_group_zones__zone_id__regulation_groups__regulation_group_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_group_id","in":"path","required":true,"schema":{"type":"integer","title":"Regulation Group Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroupPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Regulations"],"summary":"Delete Zone Regulations Group","operationId":"delete_zone_regulations_group_zones__zone_id__regulation_groups__regulation_group_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"regulation_group_id","in":"path","required":true,"schema":{"type":"integer","title":"Regulation Group Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegulationGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/reports/":{"get":{"tags":["Reports"],"summary":"List Reports","operationId":"list_reports_zones__zone_id__reports__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"with_definition","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"With Definition"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Reports"],"summary":"Create Report","operationId":"create_report_zones__zone_id__reports__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/{report_id}/":{"get":{"tags":["Reports"],"summary":"Get Report","operationId":"get_report_reports__report_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Reports"],"summary":"Patch Report","operationId":"patch_report_reports__report_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Reports"],"summary":"Delete Report","operationId":"delete_report_reports__report_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/{report_id}/share/":{"post":{"tags":["Reports"],"summary":"Share Report","operationId":"share_report_reports__report_id__share__post","security":[{"_Bearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedReportDates"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Reports"],"summary":"Delete Shared Report","operationId":"delete_shared_report_reports__report_id__share__delete","security":[{"_Bearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/shared_report_model/":{"get":{"tags":["Reports"],"summary":"Get Shared Report Model","operationId":"get_shared_report_model_shared_report_model__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SharedReport"},{"$ref":"#/components/schemas/SharedReportAvailableFiles"}],"title":"Response Get Shared Report Model Shared Report Model  Get"}}}}}}},"/":{"get":{"tags":["Root"],"summary":"Get Root","operationId":"get_root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Root"}}}}}}},"/health/":{"get":{"tags":["Root"],"summary":"Health","operationId":"health_health__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"tags":["Root"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/error/":{"get":{"tags":["Root"],"summary":"Error","description":"Error endpoint, will raise an exception","operationId":"error_error__get","parameters":[{"name":"timeout","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Timeout"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/error/504/":{"get":{"tags":["Root"],"summary":"Error Timeout","description":"Error endpoint, will return a 504 timeout error","operationId":"error_timeout_error_504__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/zones/{zone_id}/shared_datasets/":{"get":{"tags":["Zones"],"summary":"Get Shared Datasets","description":"Get all shared datasets for a zone.","operationId":"get_shared_datasets_zones__zone_id__shared_datasets__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedDatasetCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Zones"],"summary":"Create Shared Dataset","description":"Create shared dataset for zone","operationId":"create_shared_dataset_zones__zone_id__shared_datasets__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedDatasetPost"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedDataset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/shared_datasets/{shared_dataset_id}/":{"get":{"tags":["Zones"],"summary":"Get Shared Dataset","description":"Get all shared datasets for a zone.","operationId":"get_shared_dataset_shared_datasets__shared_dataset_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"shared_dataset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Shared Dataset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedDataset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/source_templates/{source_template_key}/feeds/":{"post":{"tags":["Feeds"],"summary":"Create Feed From Source Template","operationId":"create_feed_from_source_template_source_templates__source_template_key__feeds__post","security":[{"_Bearer":[]}],"parameters":[{"name":"source_template_key","in":"path","required":true,"schema":{"type":"string","title":"Source Template Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeedFromSourceTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feed"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/source_templates/{source_template_key}/":{"get":{"tags":["Feeds"],"summary":"Get Source Template","operationId":"get_source_template_source_templates__source_template_key___get","security":[{"_Bearer":[]}],"parameters":[{"name":"source_template_key","in":"path","required":true,"schema":{"type":"string","title":"Source Template Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceTemplateModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/orgs/{org_id}/source_templates/":{"get":{"tags":["Feeds"],"summary":"Get Source Templates","operationId":"get_source_templates_orgs__org_id__source_templates__get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceTemplateCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/token/":{"post":{"tags":["Root"],"summary":"Token","operationId":"token_token__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_token_token__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_groups/":{"get":{"tags":["UserGroups"],"summary":"Get User Groups","operationId":"get_user_groups_user_groups__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroupCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["UserGroups"],"summary":"Post User Group","operationId":"post_user_group_user_groups__post","security":[{"_Bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroupCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_groups/{user_group_id}/":{"get":{"tags":["UserGroups"],"summary":"Get User Group","operationId":"get_user_group_user_groups__user_group_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["UserGroups"],"summary":"Delete User Group","operationId":"delete_user_group_user_groups__user_group_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_groups/{user_group_id}/zones/{zone_id}/":{"post":{"tags":["UserGroups"],"summary":"Post User Group Zone","operationId":"post_user_group_zone_user_groups__user_group_id__zones__zone_id___post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["UserGroups"],"summary":"Delete User Group Zone","operationId":"delete_user_group_zone_user_groups__user_group_id__zones__zone_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_groups/{user_group_id}/members/{user_id}/":{"post":{"tags":["UserGroups"],"summary":"Post User Group Member","operationId":"post_user_group_member_user_groups__user_group_id__members__user_id___post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["UserGroups"],"summary":"Delete User Group Member","operationId":"delete_user_group_member_user_groups__user_group_id__members__user_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/":{"get":{"tags":["Root"],"summary":"Whoami","operationId":"whoami_user__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"_Bearer":[]}]}},"/orgs/{org_id}/users/":{"get":{"tags":["Users"],"summary":"Get Users","operationId":"get_users_orgs__org_id__users__get","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Users"],"summary":"Create User","operationId":"create_user_orgs__org_id__users__post","security":[{"_Bearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/":{"get":{"tags":["Users"],"summary":"Get User","operationId":"get_user_users__user_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Users"],"summary":"Patch User","operationId":"patch_user_users__user_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/disable/":{"post":{"tags":["Users"],"summary":"Disable User","operationId":"disable_user_users__user_id__disable__post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/enable/":{"post":{"tags":["Users"],"summary":"Enable User","operationId":"enable_user_users__user_id__enable__post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/update_mfa_status/":{"post":{"tags":["Users"],"summary":"Update Mfa Status","operationId":"update_mfa_status_users__user_id__update_mfa_status__post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/reset_password/":{"post":{"tags":["Users"],"summary":"Reset User Password","operationId":"reset_user_password_users__user_id__reset_password__post","security":[{"_Bearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/init_account/":{"post":{"tags":["Users"],"summary":"Init Account","operationId":"init_account_init_account__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitAccountRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitAccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"_Bearer":[]}]}},"/zones/{zone_id}/":{"patch":{"tags":["Zones"],"summary":"Patch Zone","operationId":"patch_zone_zones__zone_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZonePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Zones"],"summary":"Get Zone","operationId":"get_zone_zones__zone_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Zones"],"summary":"Delete Zone","operationId":"delete_zone_zones__zone_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/":{"get":{"tags":["Zones"],"summary":"Get Zones","operationId":"get_zones_zones__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Zones"],"summary":"Add Zone","operationId":"add_zone_zones__post","security":[{"_Bearer":[]}],"parameters":[{"name":"activate_plugins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Activate Plugins"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zone_roles/":{"get":{"tags":["ZoneRoles"],"summary":"Get Zone Roles","operationId":"get_zone_roles_zone_roles__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRoleCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/zone_roles/":{"get":{"tags":["ZoneRoles"],"summary":"Get Zones Zone Id Zone Roles","operationId":"get_zones_zone_id_zone_roles_zones__zone_id__zone_roles__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRoleCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["ZoneRoles"],"summary":"Post Zones Zone Id Zone Roles","operationId":"post_zones_zone_id_zone_roles_zones__zone_id__zone_roles__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRoleCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRole"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/zone_roles/{zone_role_id}/":{"get":{"tags":["ZoneRoles"],"summary":"Get Zone Role","operationId":"get_zone_role_zones__zone_id__zone_roles__zone_role_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_role_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Role Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRole"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["ZoneRoles"],"summary":"Patch Zones Zone Id Zone Roles Zone Role Id","operationId":"patch_zones_zone_id_zone_roles_zone_role_id_zones__zone_id__zone_roles__zone_role_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_role_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Role Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRolePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneRole"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ZoneRoles"],"summary":"Delete Zones Zone Id Zone Roles Zone Role Id","operationId":"delete_zones_zone_id_zone_roles_zone_role_id_zones__zone_id__zone_roles__zone_role_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_role_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Role Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/permissions/":{"get":{"tags":["Zones"],"summary":"Get Zone Permissions","operationId":"get_zone_permissions_zones__zone_id__permissions__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZonePermissions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/":{"get":{"tags":["Streams"],"summary":"Get Stream","operationId":"get_stream_zones__zone_id__streams__stream_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Streams"],"summary":"Patch Stream","description":"Patches a stream.","operationId":"patch_stream_zones__zone_id__streams__stream_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Streams"],"summary":"Delete Stream","description":"Deletes a stream.","operationId":"delete_stream_zones__zone_id__streams__stream_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/":{"get":{"tags":["Streams"],"summary":"Get Streams","description":"List all streams for a scope.","operationId":"get_streams_zones__zone_id__streams__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"include_dry_run","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Dry Run"}},{"name":"include_no_uploads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include No Uploads"}},{"name":"include_encapsulated_stream_uploads","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Encapsulated Stream Uploads"}},{"name":"deduplicate","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Deduplicate"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Streams"],"summary":"Create Stream","description":"Creates a new stream\n\nWe can provide a name but it's not mandatory\n\nThe initial stream is empty, but records can be added via the Streams Upload API.\n\nThen, records can be retrieved via the Streams Query API.\n\n**NOTE**: There is a default limit of 10 streams per scope, according to the scope tier","operationId":"create_stream_zones__zone_id__streams__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/tags/{tag_name}/":{"patch":{"tags":["Streams"],"summary":"Patch Stream Tag","description":"Patches a tag's metadata (label, description) on a geofeatures stream.","operationId":"patch_stream_tag_zones__zone_id__streams__stream_id__tags__tag_name___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"tag_name","in":"path","required":true,"schema":{"type":"string","title":"Tag Name"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagInfoPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/streams/version/":{"post":{"tags":["Streams"],"summary":"Add Stream Version","description":"Creates a new version for multiple streams across any zone.\n\nThis endpoint increments the streams' versions, allowing for rollback support.\nThe valid_from timestamp determines when the new version becomes active.\n\n**NOTE**: This endpoint is restricted to superusers only (called via hawkeye_superuser_client lambda).","operationId":"add_stream_version_streams_version__post","security":[{"_Bearer":[]}],"parameters":[{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamVersionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/streams/translation_keys/":{"get":{"tags":["Streams"],"summary":"Get Translation Keys","description":"Get all translation keys related to streams and query builder","operationId":"get_translation_keys_streams_translation_keys__get","responses":{"200":{"description":"Successful Response"}}}},"/zones/{zone_id}/stream_selectors/":{"get":{"tags":["Streams"],"summary":"Get Stream Selectors","operationId":"get_stream_selectors_zones__zone_id__stream_selectors__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamSelectorCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Streams"],"summary":"Create Stream Selector","operationId":"create_stream_selector_zones__zone_id__stream_selectors__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamSelectorCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamSelector"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_selectors/{stream_selector_id}/":{"delete":{"tags":["Streams"],"summary":"Delete Stream Selector","operationId":"delete_stream_selector_zones__zone_id__stream_selectors__stream_selector_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_selector_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Selector Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/generate_query/":{"post":{"tags":["Streams"],"summary":"Generate Query","operationId":"generate_query_zones__zone_id__streams__stream_id__generate_query__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenAIPrompt"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequestGenAIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/explain_query/":{"post":{"tags":["Streams"],"summary":"Explain Query","operationId":"explain_query_zones__zone_id__streams__stream_id__explain_query__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenAIQueryExplanation"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryExplanationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/explain_query_failure/":{"post":{"tags":["Streams"],"summary":"Explain Query Failure","description":"Explains why a query failed and suggests alternatives.","operationId":"explain_query_failure_zones__zone_id__streams__stream_id__explain_query_failure__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenAIQueryExplanationFailure"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryFailureExplanationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/generate_prompts/":{"get":{"tags":["Streams"],"summary":"Generate Prompts","description":"Generates relevant prompts for querying a stream based on its metadata.","operationId":"generate_prompts_zones__zone_id__streams__stream_id__generate_prompts__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"skip_cache","in":"query","required":false,"schema":{"type":"boolean","description":"Skip cache","default":false,"title":"Skip Cache"},"description":"Skip cache"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedPromptsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/streams/query_request_gen_ai_history/":{"get":{"tags":["Streams"],"summary":"List Query Request Gen Ais","operationId":"list_query_request_gen_ais_streams_query_request_gen_ai_history__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"}],"description":"The zone id","title":"Zone Id"},"description":"The zone id"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"description":"The user id","title":"User Id"},"description":"The user id"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"}],"description":"The start date","title":"Start Date"},"description":"The start date"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"}],"description":"The end date","title":"End Date"},"description":"The end date"},{"name":"success","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"}],"description":"The success status","title":"Success"},"description":"The success status"},{"name":"stream_primary_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"description":"The stream primary key targetted","title":"Stream Primary Key"},"description":"The stream primary key targetted"},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequestGenAICollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/generate_categorization/":{"post":{"tags":["Streams"],"summary":"Generate Categorization","description":"Generate AI-powered categorization for a stream asynchronously.\n\nThis endpoint triggers a Lambda function that analyzes the stream's metadata\nand sample data to generate:\n- A summary description of the dataset\n- Identification of what each row represents\n- Column descriptions with semantic types\n- Suggested use cases\n- Domain classification and tags\n- Geometry and boundary information (if applicable)\n\nThe categorization is automatically saved to the stream definition.\nThe Lambda executes asynchronously, so this endpoint returns immediately.","operationId":"generate_categorization_zones__zone_id__streams__stream_id__generate_categorization__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stream"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/generate_use_cases/":{"post":{"tags":["Streams"],"summary":"Generate Stream Use Cases","description":"Generate AI-powered use case recommendations for a stream.\n\nThis endpoint analyzes the stream and optionally other streams in the same scope\nto generate practical data product recommendations. Each use case includes:\n\n- A specific business pain point it addresses\n- How to combine 1-2 streams (join strategy)\n- Recommended metrics and aggregations\n- Suggested visualizations and widgets\n- Confidence level and domain classification\n\nThe analysis considers geographic and temporal compatibility between streams\nand focuses on practical, actionable business applications.","operationId":"generate_stream_use_cases_zones__zone_id__streams__stream_id__generate_use_cases__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"include_scope_streams","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to include other streams from the same scope for joining","default":true,"title":"Include Scope Streams"},"description":"Whether to include other streams from the same scope for joining"},{"name":"max_streams_to_analyze","in":"query","required":false,"schema":{"type":"integer","description":"Maximum number of scope streams to analyze for compatibility","default":30,"title":"Max Streams To Analyze"},"description":"Maximum number of scope streams to analyze for compatibility"},{"name":"additional_instructions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"description":"Optional instructions to guide use case generation","title":"Additional Instructions"},"description":"Optional instructions to guide use case generation"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseCaseGenerationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/projects/":{"get":{"tags":["Projects"],"summary":"Get Projects","operationId":"get_projects_zones__zone_id__projects__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponseCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Projects"],"summary":"Create Project","operationId":"create_project_zones__zone_id__projects__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/projects/{project_id}/":{"patch":{"tags":["Projects"],"summary":"Patch Project","operationId":"patch_project_zones__zone_id__projects__project_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Projects"],"summary":"Get Project","operationId":"get_project_zones__zone_id__projects__project_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Projects"],"summary":"Delete Project","operationId":"delete_project_zones__zone_id__projects__project_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/query/":{"post":{"tags":["Streams"],"summary":"Query","description":"Query streams for raw records in streams or aggregate computations.","operationId":"query_zones__zone_id__streams_query__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"skip_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Skip Cache"}},{"name":"reprocess_cache","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reprocess Cache"}},{"name":"query_request_gen_ai_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"title":"Query Request Gen Ai Id"}},{"name":"_debug","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":" Debug"}},{"name":"_benchmark_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"title":" Benchmark Tag"}},{"name":"retry","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Retry"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/preselected_queries/":{"get":{"tags":["Streams"],"summary":"Preselected Queries","operationId":"preselected_queries_zones__zone_id__preselected_queries__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamQueryCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_queries/":{"get":{"tags":["Streams"],"summary":"Get Stream Queries","operationId":"get_stream_queries_zones__zone_id__stream_queries__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamQueryCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/custom_metrics/":{"get":{"tags":["Streams"],"summary":"Get Custom Metrics","operationId":"get_custom_metrics_custom_metrics__get","parameters":[{"name":"metric","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CustomMetricType"}],"title":"Metric"}},{"name":"stream_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/VianovaStreamType"}],"title":"Stream Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomMetricCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_alerts/":{"post":{"tags":["Streams"],"summary":"Create Stream Alert","operationId":"create_stream_alert_zones__zone_id__stream_alerts__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"with_stream_creation","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"With Stream Creation"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlertCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlert"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Streams"],"summary":"List Stream Alerts","operationId":"list_stream_alerts_zones__zone_id__stream_alerts__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlertCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_alerts/{stream_alert_id}/":{"get":{"tags":["Streams"],"summary":"Get Stream Alert","operationId":"get_stream_alert_zones__zone_id__stream_alerts__stream_alert_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_alert_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Alert Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlert"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Streams"],"summary":"Update Stream Alert","operationId":"update_stream_alert_zones__zone_id__stream_alerts__stream_alert_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_alert_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Alert Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlertPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamAlert"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Streams"],"summary":"Delete Stream Alert","description":"Deletes a stream alert.","operationId":"delete_stream_alert_zones__zone_id__stream_alerts__stream_alert_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_alert_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Alert Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_layers/":{"get":{"tags":["Streams"],"summary":"Get Stream Layers","description":"List all stream layers for a zone.","operationId":"get_stream_layers_zones__zone_id__stream_layers__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"description":"Filter by stream ID","title":"Stream Id"},"description":"Filter by stream ID"},{"name":"origin_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OriginType"}],"description":"Filter by origin type","title":"Origin Type"},"description":"Filter by origin type"},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayerCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Streams"],"summary":"Post Stream Layers","description":"Creates a new stream layer.","operationId":"post_stream_layers_zones__zone_id__stream_layers__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayerCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_layers/{stream_layer_id}/":{"delete":{"tags":["Streams"],"summary":"Delete Stream Layer","description":"Deletes a stream layer.","operationId":"delete_stream_layer_zones__zone_id__stream_layers__stream_layer_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_layer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Layer Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Streams"],"summary":"Get Stream Layer","operationId":"get_stream_layer_zones__zone_id__stream_layers__stream_layer_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_layer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Layer Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Streams"],"summary":"Patch Stream Layer","description":"Updates a stream layer.\n\n**NOTE**: Full PATCH semantics is not yet supported.\nYou can patch separately the `source`,`style` and `tooltip` fields\n**BUT** you must provide the full value for each field.","operationId":"patch_stream_layer_zones__zone_id__stream_layers__stream_layer_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_layer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Layer Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayerPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_widgets/":{"post":{"tags":["Widget"],"summary":"Post Stream Widget","operationId":"post_stream_widget_zones__zone_id__stream_widgets__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidgetCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidget"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/stream_widgets/{stream_widget_id}/":{"patch":{"tags":["Widget"],"summary":"Patch Stream Widget","operationId":"patch_stream_widget_zones__zone_id__stream_widgets__stream_widget_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"stream_widget_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Widget Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidgetPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidget"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Widget"],"summary":"Get Stream Widget","operationId":"get_stream_widget_zones__zone_id__stream_widgets__stream_widget_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_widget_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Widget Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidget"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/uploads/":{"post":{"tags":["Streams"],"summary":"Request Upload","description":"## Generate a new upload request for a stream.\n\nThe response will contain a unique identifier for the upload request, which allows\npolling for status updates on the upload.\n\nThe response also contains the `upload_s3_url` which can be used to upload the data via\na `PUT` request.\n\nPassing `dry_run=true` to the request will return the upload request where uploaded\nfiles will only be validated for correctness, without insertion into the database.\n\nFor now, we have pretty strong requirements to upload a file as a stream, and we still have some limitations before building a more flexible system ( Confluence documentation [here](https://vianovaio.atlassian.net/wiki/spaces/PP/pages/383254539/How+to+prepare+a+file+to+upload+as+a+stream) ): \n\n**Geographic data :**\n\n- **GeoJson**\n  - Must follow the standards : https://geojson.org/\n  - It can contain multiple properties, but it can’t deal with encapsulated properties for now, with multiple levels. The encapsulated properties will be automatically deleted from the source data.\n    - **OK**\n      ```json\n      {\n        \"type\": \"Feature\",\n        \"geometry\": {\n          \"type\": \"Point\",\n          \"coordinates\": [125.6, 10.1]\n        },\n        \"properties\": {\n          \"name\": \"Dinagat Islands\"\n        }\n      }\n      ```\n    - **NOT OK**\n      ```json\n      {\n        \"type\": \"Feature\",\n        \"geometry\": {\n          \"type\": \"Point\",\n          \"coordinates\": [125.6, 10.1]\n        },\n        \"properties\": {\n          \"name\": \"Dinagat Islands\",\n          \"encapsulated_property\": {\n            \"property\": \"value\"\n          }\n        }\n      }\n      ```\n\n- **CSV**\n  - It’s mandatory it contains a geometry information which can be found in 4 different ways :\n    - A column named geometry containing the feature geography in geojson format `geometry`\n      ```json\n      {\n        \"type\": \"Point\",\n        \"coordinates\": [125.6, 10.1]   \n      }\n      ```\n    - 2 columns named latitude and longitude which will automatically build Point features\n    - 1 column named `h3_token` containing the h3 token, following the h3 convention : https://www.uber.com/en-FR/blog/h3/\n    - 4 columns named like below which will automatically build LineString feature. **Warning :** The lines created will be straight line, without caring about the streets shapes\n      - `latitude_<something_1>`\n      - `longitude_<something_1>`\n      - `latitude_<something_2>`\n      - `longitude_<something_2>`\n\n**Time data :**\n\n- The geojson or csv files can contain a time dimension, really interesting for a deeper analysis on Cityscope, as a time series stream.\n- The datetime column must respect this format : `2022-05-04` or `2022-05-04T22:00:00`\n- If multiple datetime columns are in the file, the loading script will randomly take the first one it sees : It might be a good idea to make sure you only keep the datetime column you’re interested in","operationId":"request_upload_zones__zone_id__streams__stream_id__uploads__post","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamUploadEntity"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/streams/{stream_id}/uploads/{stream_upload_id}/":{"get":{"tags":["Streams"],"summary":"Get Operation","description":"Get the status of an upload request.","operationId":"get_operation_zones__zone_id__streams__stream_id__uploads__stream_upload_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"stream_upload_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Upload Id"}},{"name":"stream_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Stream Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamUploadEntity"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/":{"post":{"tags":["Vip"],"summary":"Create Page","operationId":"create_page_zones__zone_id__pages__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vip"],"summary":"Get Pages","operationId":"get_pages_zones__zone_id__pages__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"load_related","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to load related dashboards and components","default":true,"title":"Load Related"},"description":"Whether to load related dashboards and components"},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/":{"patch":{"tags":["Vip"],"summary":"Update Page","operationId":"update_page_zones__zone_id__pages__page_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vip"],"summary":"Get Page","operationId":"get_page_zones__zone_id__pages__page_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vip"],"summary":"Delete Page","operationId":"delete_page_zones__zone_id__pages__page_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/duplicate/":{"post":{"tags":["Vip"],"summary":"Duplicate Page","description":"Duplicate a page and all its contents (dashboards, components, stream layers, etc.)\nThe duplicated page will always be of type 'saved_map'.","operationId":"duplicate_page_zones__zone_id__pages__page_id__duplicate__post","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/dashboards/":{"post":{"tags":["Vip"],"summary":"Create Dashboard","operationId":"create_dashboard_zones__zone_id__pages__page_id__dashboards__post","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIDashboard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vip"],"summary":"Get Dashboards","operationId":"get_dashboards_zones__zone_id__pages__page_id__dashboards__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIDashboardCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/elements/":{"post":{"tags":["Vip"],"summary":"Create Element","operationId":"create_element_zones__zone_id__pages__page_id__elements__post","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayerElementCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamLayer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/dashboards/{dashboard_id}/":{"get":{"tags":["Vip"],"summary":"Get Dashboard","operationId":"get_dashboard_zones__zone_id__pages__page_id__dashboards__dashboard_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIDashboard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Vip"],"summary":"Update Dashboard","operationId":"update_dashboard_zones__zone_id__pages__page_id__dashboards__dashboard_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIDashboard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vip"],"summary":"Delete Dashboard","operationId":"delete_dashboard_zones__zone_id__pages__page_id__dashboards__dashboard_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/dashboards/reorder/":{"patch":{"tags":["Vip"],"summary":"Reorder Dashboards","operationId":"reorder_dashboards_zones__zone_id__pages__page_id__dashboards_reorder__patch","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardReorderRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIDashboardCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/dashboards/{dashboard_id}/components/":{"post":{"tags":["Vip"],"summary":"Create Component","operationId":"create_component_zones__zone_id__pages__page_id__dashboards__dashboard_id__components__post","security":[{"_Bearer":[]}],"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vip"],"summary":"Get Components","operationId":"get_components_zones__zone_id__pages__page_id__dashboards__dashboard_id__components__get","security":[{"_Bearer":[]}],"parameters":[{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/dashboards/{dashboard_id}/components/{component_id}/":{"get":{"tags":["Vip"],"summary":"Get Component","operationId":"get_component_zones__zone_id__pages__page_id__dashboards__dashboard_id__components__component_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"component_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Component Id"}},{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Vip"],"summary":"Update Component","operationId":"update_component_zones__zone_id__pages__page_id__dashboards__dashboard_id__components__component_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"component_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Component Id"}},{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vip"],"summary":"Delete Component","operationId":"delete_component_zones__zone_id__pages__page_id__dashboards__dashboard_id__components__component_id___delete","security":[{"_Bearer":[]}],"parameters":[{"name":"component_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Component Id"}},{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Dashboard Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/pages/{page_id}/thumbnail/":{"post":{"tags":["Zones"],"summary":"Create Zone Page Thumbnail","operationId":"create_zone_page_thumbnail_zones__zone_id__pages__page_id__thumbnail__post","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_zone_page_thumbnail_zones__zone_id__pages__page_id__thumbnail__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThumbnailResponse"}}}},"400":{"description":"Bad Request"},"403":{"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Zones"],"summary":"Get Zone Page Thumbnail","operationId":"get_zone_page_thumbnail_zones__zone_id__pages__page_id__thumbnail__get","security":[{"_Bearer":[]}],"parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"length","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Resize thumbnail to a resolution of length x length (in pixels).","title":"Length"},"description":"Resize thumbnail to a resolution of length x length (in pixels)."}],"responses":{"200":{"description":"Successful Response","content":{"image/webp":{}}},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/presentation/":{"post":{"tags":["Vip"],"summary":"Create Presentation","description":"Creates a PowerPoint presentation with multiple charts and their analyses.","operationId":"create_presentation_zones__zone_id__presentation__post","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/presentation/{presentation_id}/":{"get":{"tags":["Streams"],"summary":"Get Presentation","description":"Gets a PowerPoint presentation with multiple charts and their analyses.","operationId":"get_presentation_zones__zone_id__presentation__presentation_id___get","security":[{"_Bearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Presentation Id"}},{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Vip"],"summary":"Update Presentation","description":"Updates a presentation (currently only supports name updates).","operationId":"update_presentation_zones__zone_id__presentation__presentation_id___patch","security":[{"_Bearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Presentation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/zones/{zone_id}/widget_library/":{"get":{"tags":["Vip"],"summary":"Get Widget Library","operationId":"get_widget_library_zones__zone_id__widget_library__get","security":[{"_Bearer":[]}],"parameters":[{"name":"zone_id","in":"path","required":true,"schema":{"type":"integer","title":"Zone Id"}},{"name":"charts_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StreamWidgetRenderType"}}],"description":"Filter by chart type","title":"Charts Types"},"description":"Filter by chart type"},{"name":"created_by","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}}],"description":"Filter by user ids","title":"Created By"},"description":"Filter by user ids"},{"name":"stream_primary_keys","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}}],"description":"Filter by stream primary keys","title":"Stream Primary Keys"},"description":"Filter by stream primary keys"},{"name":"stream_layer_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}}],"description":"Filter by stream layer ids","title":"Stream Layer Ids"},"description":"Filter by stream layer ids"},{"name":"page_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}}],"description":"Filter by page ids","title":"Page Ids"},"description":"Filter by page ids"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"}],"description":"Search by title","title":"Search"},"description":"Search by title"},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"\\d+"}],"title":"Page Token"}},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0}],"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamWidgetCollection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccessProtectionLevel":{"type":"string","enum":["public","credentialed"],"title":"AccessProtectionLevel"},"AccountInitUser":{"properties":{"job_title":{"anyOf":[{"type":"string"}],"title":"Job Title"},"origin":{"allOf":[{"$ref":"#/components/schemas/UserOrigin"}],"default":"CITYSCOPE"},"first_name":{"anyOf":[{"type":"string","minLength":0,"strip_whitespace":1}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","minLength":0,"strip_whitespace":1}],"title":"Last Name"},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"}]}},"type":"object","title":"AccountInitUser"},"AggregationType":{"type":"string","enum":["average","sum","unknown"],"title":"AggregationType"},"AuditLogMethod":{"type":"string","enum":["post","patch","delete"],"title":"AuditLogMethod"},"Body_add_attachment_to_incident_incidents__incident_id__attachments__post":{"properties":{"file":{"type":"string","title":"File"}},"type":"object","required":["file"],"title":"Body_add_attachment_to_incident_incidents__incident_id__attachments__post"},"Body_add_org_thumbnail_orgs__org_id__thumbnail__post":{"properties":{"file":{"type":"string","title":"File","format":"binary"}},"type":"object","required":["file"],"title":"Body_add_org_thumbnail_orgs__org_id__thumbnail__post"},"Body_create_zone_page_thumbnail_zones__zone_id__pages__page_id__thumbnail__post":{"properties":{"file":{"type":"string","title":"File","format":"binary"}},"type":"object","required":["file"],"title":"Body_create_zone_page_thumbnail_zones__zone_id__pages__page_id__thumbnail__post"},"Body_extract_code_from_image_incidents_extract_code__post":{"properties":{"file":{"type":"string","title":"File","format":"binary"}},"type":"object","required":["file"],"title":"Body_extract_code_from_image_incidents_extract_code__post"},"Body_token_token__post":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"^password$"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","format":"password","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"}],"format":"password","title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_token_token__post"},"Channel":{"properties":{"published_time":{"type":"string","format":"date-time","title":"Published Time"},"description":{"type":"string","title":"Description"},"frequency":{"anyOf":[{"type":"string","enum":["instant"],"const":"instant"},{"type":"string","pattern":"^0(( ((\\d+,)+\\d+|\\d+|\\*)){4})$"}],"title":"Frequency"},"delivery_methods":{"items":{"$ref":"#/components/schemas/ChannelDeliveryMethod"},"type":"array","title":"Delivery Methods"},"enabled":{"type":"boolean","title":"Enabled","default":true},"channel_type":{"$ref":"#/components/schemas/ChannelType"},"start_interval_seconds":{"type":"integer","title":"Start Interval Seconds","description":"The number of seconds that will be removed from the alert trigger time, used to scan the data in stream alerting.\n    For example, if the alert is triggered at 10:00 and the start_interval_seconds is 300, and the end_interval_seconds is 0, the data in the stream will be scanned from 09:55 to 10:00.\n    start_time = alert_time - start_interval_seconds. end_time = alert_time - end_interval_seconds.\n    start_time = 10:00 - 300 = 09:55. end_time = 10:00 - 0 = 10:00.\n    If nothing is provided, we fall back to the original behaviour, which is to scan the data from the last time the alert triggered.","default":0},"end_interval_seconds":{"type":"integer","title":"End Interval Seconds","description":"The number of seconds that will be removed from the alert trigger time, used to scan the data in stream alerting, to set up the end time of the alert.\n    For example, if the alert is triggered at 10:00 and the end_interval_seconds is 300 and the start_interval_seconds is 600, the data in the stream will be scanned from 09:50 to 09:55.\n    start_time = alert_time - start_interval_seconds. end_time = alert_time - end_interval_seconds.\n    start_time = 10:00 - 600 = 09:50. end_time = 10:00 - 300 = 09:55.\n    If nothing is provided, we fall back to the original behaviour, which is to scan the data until now.","default":0},"user_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"User Id"},"incident":{"anyOf":[{"$ref":"#/components/schemas/ChannelIncident"}]},"infringement":{"anyOf":[{"$ref":"#/components/schemas/ChannelInfringement"}]},"regulation":{"anyOf":[{"$ref":"#/components/schemas/ChannelRegulation"}]},"stream_alert":{"anyOf":[{"$ref":"#/components/schemas/ChannelStreamAlert"}]},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"channel_id":{"type":"string","format":"uuid","title":"Channel Id"},"user":{"type":"string","format":"path","title":"User"},"zone":{"type":"string","format":"path","title":"Zone"}},"type":"object","required":["published_time","description","frequency","delivery_methods","channel_type","self_link","kind","channel_id","user","zone"],"title":"Channel"},"ChannelBase":{"properties":{"description":{"type":"string","title":"Description"},"frequency":{"anyOf":[{"type":"string","enum":["instant"],"const":"instant"},{"type":"string","pattern":"^0(( ((\\d+,)+\\d+|\\d+|\\*)){4})$"}],"title":"Frequency"},"delivery_methods":{"items":{"$ref":"#/components/schemas/ChannelDeliveryMethod"},"type":"array","title":"Delivery Methods"},"enabled":{"type":"boolean","title":"Enabled","default":true},"channel_type":{"$ref":"#/components/schemas/ChannelType"},"start_interval_seconds":{"type":"integer","title":"Start Interval Seconds","description":"The number of seconds that will be removed from the alert trigger time, used to scan the data in stream alerting.\n    For example, if the alert is triggered at 10:00 and the start_interval_seconds is 300, and the end_interval_seconds is 0, the data in the stream will be scanned from 09:55 to 10:00.\n    start_time = alert_time - start_interval_seconds. end_time = alert_time - end_interval_seconds.\n    start_time = 10:00 - 300 = 09:55. end_time = 10:00 - 0 = 10:00.\n    If nothing is provided, we fall back to the original behaviour, which is to scan the data from the last time the alert triggered.","default":0},"end_interval_seconds":{"type":"integer","title":"End Interval Seconds","description":"The number of seconds that will be removed from the alert trigger time, used to scan the data in stream alerting, to set up the end time of the alert.\n    For example, if the alert is triggered at 10:00 and the end_interval_seconds is 300 and the start_interval_seconds is 600, the data in the stream will be scanned from 09:50 to 09:55.\n    start_time = alert_time - start_interval_seconds. end_time = alert_time - end_interval_seconds.\n    start_time = 10:00 - 600 = 09:50. end_time = 10:00 - 300 = 09:55.\n    If nothing is provided, we fall back to the original behaviour, which is to scan the data until now.","default":0},"user_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"User Id"},"incident":{"anyOf":[{"$ref":"#/components/schemas/ChannelIncident"}]},"infringement":{"anyOf":[{"$ref":"#/components/schemas/ChannelInfringement"}]},"regulation":{"anyOf":[{"$ref":"#/components/schemas/ChannelRegulation"}]},"stream_alert":{"anyOf":[{"$ref":"#/components/schemas/ChannelStreamAlert"}]}},"type":"object","required":["description","frequency","delivery_methods","channel_type"],"title":"ChannelBase"},"ChannelCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Channel"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ChannelCollection"},"ChannelDeliveryMethod":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ChannelDeliveryMethodType"}],"default":"email"},"email":{"allOf":[{"$ref":"#/components/schemas/ChannelDeliveryMethodEmail"}],"default":{"additional_recipients":[],"notify_user":true}}},"type":"object","title":"ChannelDeliveryMethod"},"ChannelDeliveryMethodEmail":{"properties":{"additional_recipients":{"items":{"type":"string","format":"email"},"type":"array","title":"Additional Recipients","default":[]},"notify_user":{"type":"boolean","title":"Notify User","default":true}},"type":"object","title":"ChannelDeliveryMethodEmail"},"ChannelDeliveryMethodType":{"type":"string","enum":["email","cityscope"],"title":"ChannelDeliveryMethodType"},"ChannelIncident":{"properties":{"incident_type":{"$ref":"#/components/schemas/IncidentType"},"report":{"anyOf":[{"$ref":"#/components/schemas/ChannelIncidentReport"}]},"reported_device":{"anyOf":[{"$ref":"#/components/schemas/ChannelIncidentReportedDevice"}]},"incident":{"anyOf":[{"type":"string","format":"path"}],"title":"Incident"}},"type":"object","required":["incident_type"],"title":"ChannelIncident"},"ChannelIncidentReport":{"properties":{"alert":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Alert"}},"type":"object","title":"ChannelIncidentReport"},"ChannelIncidentReportedDevice":{"properties":{"providers":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Providers","default":[]}},"type":"object","title":"ChannelIncidentReportedDevice"},"ChannelInfringement":{"properties":{"providers":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Providers","default":[]}},"type":"object","title":"ChannelInfringement"},"ChannelPatch":{"properties":{"description":{"anyOf":[{"type":"string"}],"title":"Description"},"frequency":{"anyOf":[{"type":"string","enum":["instant"],"const":"instant"},{"type":"string","pattern":"^0(( ((\\d+,)+\\d+|\\d+|\\*)){4})$"}],"title":"Frequency"},"delivery_methods":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChannelDeliveryMethod"},"type":"array"}],"title":"Delivery Methods"},"enabled":{"anyOf":[{"type":"boolean"}],"title":"Enabled"}},"type":"object","title":"ChannelPatch"},"ChannelRegulation":{"properties":{"providers":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Providers","default":[]},"events":{"items":{"$ref":"#/components/schemas/ChannelRegulationEvent"},"type":"array","title":"Events"}},"type":"object","required":["events"],"title":"ChannelRegulation"},"ChannelRegulationEvent":{"properties":{"type":{"$ref":"#/components/schemas/ChannelRegulationEventType"}},"type":"object","required":["type"],"title":"ChannelRegulationEvent"},"ChannelRegulationEventType":{"type":"string","enum":["created","expiring"],"title":"ChannelRegulationEventType"},"ChannelStreamAlert":{"properties":{"stream_alert_id":{"type":"string","format":"uuid","title":"Stream Alert Id"}},"type":"object","required":["stream_alert_id"],"title":"ChannelStreamAlert"},"ChannelType":{"type":"string","enum":["incident","regulation","infringement","stream_alert"],"title":"ChannelType"},"CityModel":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"city_id":{"type":"string","title":"City Id"},"name":{"type":"string","title":"Name"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}]},"population":{"anyOf":[{"type":"integer"}],"title":"Population"},"country_name":{"type":"string","title":"Country Name"},"area_km2":{"type":"number","title":"Area Km2"}},"additionalProperties":true,"type":"object","required":["self_link","kind","city_id","name","country_name","area_km2"],"title":"CityModel"},"CityModelCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/CityModel"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"CityModelCollection"},"CleanupOutput":{"properties":{},"type":"object","title":"CleanupOutput"},"ClientCredentials1":{"properties":{"method":{"type":"string","enum":["client_credentials"],"const":"client_credentials","title":"Method","default":"client_credentials"},"login_url":{"type":"string","title":"Login Url"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"data":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Data"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Headers"}},"additionalProperties":false,"type":"object","required":["login_url","username","password"],"title":"ClientCredentials1"},"ClientCredentials2":{"properties":{"method":{"type":"string","enum":["client_credentials"],"const":"client_credentials","title":"Method","default":"client_credentials"},"login_uri":{"type":"string","title":"Login Uri"},"password":{"type":"string","title":"Password"},"email":{"type":"string","title":"Email"}},"additionalProperties":false,"type":"object","required":["login_uri","password","email"],"title":"ClientCredentials2"},"ClientCredentialsAuth":{"properties":{"method":{"type":"string","enum":["client_credential_auth"],"const":"client_credential_auth","title":"Method","default":"client_credential_auth"},"login_uri":{"type":"string","title":"Login Uri"},"user_name":{"anyOf":[{"type":"string"}],"title":"User Name"},"user_pass":{"anyOf":[{"type":"string"}],"title":"User Pass"},"grant_type":{"anyOf":[{"type":"string"}],"title":"Grant Type"},"password":{"anyOf":[{"type":"string"}],"title":"Password"},"email":{"anyOf":[{"type":"string"}],"title":"Email"},"realm":{"anyOf":[{"type":"string","enum":["external"],"const":"external"}],"title":"Realm"},"encoding":{"anyOf":[{"type":"string","enum":["form"],"const":"form"},{"type":"string","enum":["json"],"const":"json"},{"type":"string","enum":["mds"],"const":"mds"}],"title":"Encoding"},"client_secret":{"anyOf":[{"type":"string"}],"title":"Client Secret"},"client_id":{"anyOf":[{"type":"string"}],"title":"Client Id"},"remove_headers":{"anyOf":[{"items":{"type":"string","enum":["Accept"],"const":"Accept"},"type":"array"}],"title":"Remove Headers"},"data_key_mapping":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Data Key Mapping"},"scope":{"anyOf":[{"type":"string"}],"title":"Scope"}},"additionalProperties":false,"type":"object","required":["login_uri"],"title":"ClientCredentialsAuth"},"ClientSecret":{"properties":{"method":{"type":"string","enum":["client_secret"],"const":"client_secret","title":"Method","default":"client_secret"},"login_uri":{"type":"string","title":"Login Uri"},"user_name":{"anyOf":[{"type":"string"}],"title":"User Name"},"user_pass":{"anyOf":[{"type":"string"}],"title":"User Pass"},"grant_type":{"anyOf":[{"type":"string"}],"title":"Grant Type"},"password":{"anyOf":[{"type":"string"}],"title":"Password"},"email":{"anyOf":[{"type":"string"}],"title":"Email"},"realm":{"anyOf":[{"type":"string","enum":["external"],"const":"external"}],"title":"Realm"},"encoding":{"anyOf":[{"type":"string","enum":["form"],"const":"form"},{"type":"string","enum":["json"],"const":"json"},{"type":"string","enum":["mds"],"const":"mds"}],"title":"Encoding"},"client_secret":{"anyOf":[{"type":"string"}],"title":"Client Secret"},"client_id":{"anyOf":[{"type":"string"}],"title":"Client Id"},"remove_headers":{"anyOf":[{"items":{"type":"string","enum":["Accept"],"const":"Accept"},"type":"array"}],"title":"Remove Headers"},"data_key_mapping":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Data Key Mapping"},"scope":{"anyOf":[{"type":"string"}],"title":"Scope"}},"additionalProperties":false,"type":"object","required":["login_uri"],"title":"ClientSecret"},"ColumnDefinition":{"properties":{"old_column_name":{"type":"string","title":"Old Column Name"},"new_column_name":{"anyOf":[{"type":"string"}],"title":"New Column Name","description":"If set to null, the the column will be kept with its old name."}},"type":"object","required":["old_column_name"],"title":"ColumnDefinition"},"ColumnDescription":{"properties":{"column_name":{"type":"string","title":"Column Name","description":"Name of the column."},"description":{"anyOf":[{"type":"string"}],"title":"Description","description":"What this column represents."},"semantic_type":{"anyOf":[{"type":"string"}],"title":"Semantic Type","description":"Semantic type (e.g., 'id', 'timestamp', 'status', 'measurement', 'geometry')."},"unit":{"anyOf":[{"type":"string"}],"title":"Unit","description":"Unit of measurement if applicable (e.g., 'meters', 'km/h')."}},"type":"object","required":["column_name"],"title":"ColumnDescription","description":"Semantic description of a column."},"CompanyIndustry":{"type":"string","enum":["mobility_operator","cities_and_governments","non_profit","consultancy","transportation_and_logistics","insurance","utilities","real_estate","technology","others"],"title":"CompanyIndustry"},"CompanySize":{"type":"string","enum":["one_five","five_twenty_five","twenty_five_fifty","fifty_hundred","hundred_five_hundred","five_hundred_thousand","thousand_plus"],"title":"CompanySize"},"Component":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"component_id":{"type":"string","title":"Component Id"},"name":{"type":"string","title":"Name"},"definition":{"$ref":"#/components/schemas/ComponentDefinitionServe"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"additionalProperties":true,"type":"object","required":["self_link","kind","component_id","name","definition","created_at","updated_at"],"title":"Component"},"ComponentCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Component"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ComponentCollection"},"ComponentCreate":{"properties":{"name":{"type":"string","title":"Name"},"definition":{"$ref":"#/components/schemas/ComponentDefinitionCreate"}},"type":"object","required":["name","definition"],"title":"ComponentCreate"},"ComponentDefinitionCreate":{"properties":{"type":{"$ref":"#/components/schemas/ComponentType"},"value":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetCreate"},{"type":"string"}],"title":"Value"},"position":{"$ref":"#/components/schemas/ComponentPosition"}},"type":"object","required":["type","value","position"],"title":"ComponentDefinitionCreate"},"ComponentDefinitionPatch":{"properties":{"type":{"anyOf":[{"$ref":"#/components/schemas/ComponentType"}]},"value":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetCreate"},{"type":"string"}],"title":"Value"},"position":{"anyOf":[{"$ref":"#/components/schemas/ComponentPosition"}]}},"type":"object","title":"ComponentDefinitionPatch"},"ComponentDefinitionServe":{"properties":{"type":{"$ref":"#/components/schemas/ComponentType"},"value":{"anyOf":[{"$ref":"#/components/schemas/StreamWidget"},{"type":"string"}],"title":"Value"},"position":{"$ref":"#/components/schemas/ComponentPosition"}},"type":"object","required":["type","value","position"],"title":"ComponentDefinitionServe"},"ComponentPatch":{"properties":{"component_id":{"anyOf":[{"type":"string"}],"title":"Component Id"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"definition":{"anyOf":[{"$ref":"#/components/schemas/ComponentDefinitionPatch"}]}},"type":"object","title":"ComponentPatch"},"ComponentPosition":{"properties":{"x":{"type":"integer","minimum":0.0,"title":"X"},"y":{"type":"integer","minimum":0.0,"title":"Y"},"colspan":{"type":"integer","minimum":1.0,"title":"Colspan"},"rowspan":{"type":"integer","minimum":1.0,"title":"Rowspan"}},"type":"object","required":["x","y","colspan","rowspan"],"title":"ComponentPosition"},"ComponentType":{"type":"string","enum":["stream_widget","map_widget","text","title","select"],"title":"ComponentType"},"Country":{"type":"string","enum":["Aruba","Afghanistan","Angola","Anguilla","Åland Islands","Albania","Andorra","United Arab Emirates","Argentina","Armenia","American Samoa","Antarctica","French Southern Territories","Antigua and Barbuda","Australia","Austria","Azerbaijan","Burundi","Belgium","Benin","Bonaire, Sint Eustatius and Saba","Burkina Faso","Bangladesh","Bulgaria","Bahrain","Bahamas","Bosnia and Herzegovina","Saint Barthélemy","Belarus","Belize","Bermuda","Bolivia, Plurinational State of","Brazil","Barbados","Brunei Darussalam","Bhutan","Bouvet Island","Botswana","Central African Republic","Canada","Cocos (Keeling) Islands","Switzerland","Chile","China","Côte d'Ivoire","Cameroon","Congo, The Democratic Republic of the","Congo","Cook Islands","Colombia","Comoros","Cabo Verde","Costa Rica","Cuba","Curaçao","Christmas Island","Cayman Islands","Cyprus","Czechia","Germany","Djibouti","Dominica","Denmark","Dominican Republic","Algeria","Ecuador","Egypt","Eritrea","Western Sahara","Spain","Estonia","Ethiopia","Finland","Fiji","Falkland Islands (Malvinas)","France","Faroe Islands","Micronesia, Federated States of","Gabon","United Kingdom","Georgia","Guernsey","Ghana","Gibraltar","Guinea","Guadeloupe","Gambia","Guinea-Bissau","Equatorial Guinea","Greece","Grenada","Greenland","Guatemala","French Guiana","Guam","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia","Isle of Man","India","British Indian Ocean Territory","Ireland","Iran, Islamic Republic of","Iraq","Iceland","Israel","Italy","Jamaica","Jersey","Jordan","Japan","Kazakhstan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Saint Kitts and Nevis","Korea, Republic of","Kuwait","Lao People's Democratic Republic","Lebanon","Liberia","Libya","Saint Lucia","Liechtenstein","Sri Lanka","Lesotho","Lithuania","Luxembourg","Latvia","Macao","Saint Martin (French part)","Morocco","Monaco","Moldova, Republic of","Madagascar","Maldives","Mexico","Marshall Islands","North Macedonia","Mali","Malta","Myanmar","Montenegro","Mongolia","Northern Mariana Islands","Mozambique","Mauritania","Montserrat","Martinique","Mauritius","Malawi","Malaysia","Mayotte","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua","Niue","Netherlands","Norway","Nepal","Nauru","New Zealand","Oman","Pakistan","Panama","Pitcairn","Peru","Philippines","Palau","Papua New Guinea","Poland","Puerto Rico","Korea, Democratic People's Republic of","Portugal","Paraguay","Palestine, State of","French Polynesia","Qatar","Réunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Sudan","Senegal","Singapore","South Georgia and the South Sandwich Islands","Saint Helena, Ascension and Tristan da Cunha","Svalbard and Jan Mayen","Solomon Islands","Sierra Leone","El Salvador","San Marino","Somalia","Saint Pierre and Miquelon","Serbia","South Sudan","Sao Tome and Principe","Suriname","Slovakia","Slovenia","Sweden","Eswatini","Sint Maarten (Dutch part)","Seychelles","Syrian Arab Republic","Turks and Caicos Islands","Chad","Togo","Thailand","Tajikistan","Tokelau","Turkmenistan","Timor-Leste","Tonga","Trinidad and Tobago","Tunisia","Türkiye","Tuvalu","Taiwan, Province of China","Tanzania, United Republic of","Uganda","Ukraine","United States Minor Outlying Islands","Uruguay","United States","Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela, Bolivarian Republic of","Virgin Islands, British","Virgin Islands, U.S.","Viet Nam","Vanuatu","Wallis and Futuna","Samoa","Yemen","South Africa","Zambia","Zimbabwe"],"title":"Country"},"CreateFeedFromSourceTemplateRequest":{"properties":{"parameters":{"$ref":"#/components/schemas/Parameters"},"existing_feed":{"anyOf":[{"type":"string","format":"path"}],"title":"Existing Feed"},"title":{"anyOf":[{"type":"string"}],"title":"Title"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"feed_location":{"anyOf":[{"$ref":"#/components/schemas/LatLng"}]},"address":{"anyOf":[{"$ref":"#/components/schemas/FeedAddress"}]}},"type":"object","required":["parameters"],"title":"CreateFeedFromSourceTemplateRequest"},"CustomMetric":{"properties":{"stream_type":{"$ref":"#/components/schemas/VianovaStreamType"},"metric":{"$ref":"#/components/schemas/CustomMetricType"},"label":{"type":"string","title":"Label"},"units":{"anyOf":[{"$ref":"#/components/schemas/MetricUnits"}]},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label"},"metric_description":{"anyOf":[{"type":"string"}],"title":"Metric Description"},"aggregation_operations":{"anyOf":[{"items":{"$ref":"#/components/schemas/QueryRequestAggregationOperation"},"type":"array"}],"title":"Aggregation Operations","default":[]},"computed_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/QueryRequestComputedField"},"type":"array"}],"title":"Computed Fields","default":[]},"is_visible":{"type":"boolean","title":"Is Visible","description":"Is this metric visible in the query builder UI or not","default":true}},"type":"object","required":["stream_type","metric","label"],"title":"CustomMetric"},"CustomMetricCollection":{"properties":{"custom_metrics":{"items":{"$ref":"#/components/schemas/CustomMetric"},"type":"array","title":"Custom Metrics","default":[]}},"type":"object","title":"CustomMetricCollection"},"CustomMetricType":{"type":"string","enum":["availability","co2_savings","count_destination","total_count_destination","daily_count_destination","count_origin","daily_count_origin","total_count_origin","count_riding","distance_origin","total_distance_origin","distance_origin_km","distance_destination","distance_destination_km","duration_destination","duration_destination_minutes","duration_origin","duration_origin_minutes","total_actual_cost_origin","total_actual_cost_destination","actual_cost_per_km_origin","actual_cost_per_km_destination","actual_cost_per_trip_origin","actual_cost_per_trip_destination","total_standard_cost_origin","total_standard_cost_destination","standard_cost_per_km_origin","standard_cost_per_km_destination","standard_cost_per_trip_origin","standard_cost_per_trip_destination","cost_efficiency_origin","cost_efficiency_destination","fleet_size","idle_time_seconds","vehicle_rotation","count_drop_off","count_infringement","count_infringement_average_per_hour","amount_fees_subsidies","compliance","infringement_duration_hours","infringement_duration_hours_average_per_hour","count_infringement_unique","count_infringement_unique_average_per_hour","device_count","count_distinct_infringement_device","in_out_bound_trips_utilization","average_trips_per_day","average_trips_per_hour","average_vehicle_count","average_capacity_ratio"],"title":"CustomMetricType"},"DashboardCreate":{"properties":{"name":{"anyOf":[{"type":"string"}],"title":"Name"},"definition":{"$ref":"#/components/schemas/DashboardDefinition"},"components":{"items":{"$ref":"#/components/schemas/ComponentCreate"},"type":"array","title":"Components","default":[]},"controller":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerCreate"},{"type":"string"}],"title":"Controller"}},"type":"object","required":["definition"],"title":"DashboardCreate"},"DashboardDefinition":{"properties":{"grid_length":{"type":"integer","minimum":1.0,"title":"Grid Length","description":"Number of grid columns","default":5},"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/DashboardFilter"},"type":"array"}],"title":"Filters"}},"type":"object","title":"DashboardDefinition"},"DashboardDefinitionPatch":{"properties":{"grid_length":{"anyOf":[{"type":"integer","minimum":1.0}],"title":"Grid Length"},"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/DashboardFilter"},"type":"array"}],"title":"Filters"}},"type":"object","title":"DashboardDefinitionPatch"},"DashboardFilter":{"properties":{"stream_id":{"anyOf":[{"type":"string"}],"title":"Stream Id"},"filters":{"items":{"anyOf":[{"$ref":"#/components/schemas/FieldSelector"},{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/FieldSelectorToFilters"}]},"type":"array","title":"Filters","default":[]}},"type":"object","title":"DashboardFilter"},"DashboardPatch":{"properties":{"name":{"anyOf":[{"type":"string"}],"title":"Name"},"definition":{"anyOf":[{"$ref":"#/components/schemas/DashboardDefinitionPatch"}]},"controller":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerCreate"}]},"components":{"anyOf":[{"items":{"$ref":"#/components/schemas/ComponentPatch"},"type":"array"}],"title":"Components"}},"type":"object","title":"DashboardPatch"},"DashboardReorderRequest":{"properties":{"dashboard_ids":{"items":{"type":"string"},"type":"array","title":"Dashboard Ids"}},"type":"object","required":["dashboard_ids"],"title":"DashboardReorderRequest"},"DataFreshnessMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"avg_diff_in_seconds":{"anyOf":[{"type":"number"}],"title":"Avg Diff In Seconds"}},"type":"object","title":"DataFreshnessMetric"},"DatasetCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/DatasetEntity"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"DatasetCollection"},"DatasetEntity":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"geo_feature_tag":{"type":"string","title":"Geo Feature Tag"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"layers":{"items":{"$ref":"#/components/schemas/DatasetLayer"},"type":"array","title":"Layers"},"dataset_id":{"type":"string","title":"Dataset Id"},"sync_style_request":{"type":"string","format":"path","title":"Sync Style Request"}},"additionalProperties":true,"type":"object","required":["self_link","kind","geo_feature_tag","label","description","layers","dataset_id","sync_style_request"],"title":"DatasetEntity"},"DatasetLayer":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"property_key":{"anyOf":[{"type":"string"}],"title":"Property Key"},"unit":{"anyOf":[{"type":"string"}],"title":"Unit"},"mapbox_layers":{"items":{"$ref":"#/components/schemas/MapboxLayer"},"type":"array","title":"Mapbox Layers"}},"type":"object","required":["key","label","description","mapbox_layers"],"title":"DatasetLayer"},"DateRange":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"}},"type":"object","required":["start","end"],"title":"DateRange"},"Day":{"type":"string","enum":["sun","mon","tue","wed","thu","fri","sat"],"title":"Day"},"DbtBackfillStatusOutput":{"properties":{"complete":{"type":"boolean","title":"Complete"},"run_status":{"$ref":"#/components/schemas/GitlabStatusEnum"}},"type":"object","required":["complete","run_status"],"title":"DbtBackfillStatusOutput"},"Device":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"device_id":{"type":"string","title":"Device Id"},"device_type":{"$ref":"#/components/schemas/DeviceType"},"last_event_time":{"type":"string","format":"date-time","title":"Last Event Time"},"last_event_type":{"anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"string"}],"title":"Last Event Type"},"propulsion_type":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__models__PropulsionType"},"type":"array","title":"Propulsion Type"},"provider":{"$ref":"#/components/schemas/DeviceProvider"},"vehicle_id":{"type":"string","title":"Vehicle Id"}},"additionalProperties":true,"type":"object","required":["self_link","kind","device_id","device_type","last_event_time","last_event_type","propulsion_type","provider","vehicle_id"],"title":"Device"},"DeviceCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Device"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"DeviceCollection"},"DeviceIncidentConfig":{"properties":{"event_time":{"type":"string","format":"date-time","title":"Event Time"},"event_type":{"anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"string"}],"title":"Event Type"},"position":{"$ref":"#/components/schemas/LatLng"},"device":{"type":"string","format":"path","title":"Device"},"provider":{"type":"string","format":"path","title":"Provider"},"report_type":{"anyOf":[{"$ref":"#/components/schemas/IncidentReportType"}]},"severity":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0}],"title":"Severity"}},"type":"object","required":["event_time","event_type","position","device","provider"],"title":"DeviceIncidentConfig"},"DeviceIncidentUpdateDetails":{"properties":{"event_time":{"type":"string","format":"date-time","title":"Event Time"},"event_type":{"anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"string"}],"title":"Event Type"},"position":{"$ref":"#/components/schemas/LatLng"}},"type":"object","required":["event_time","event_type","position"],"title":"DeviceIncidentUpdateDetails"},"DeviceProvider":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["self_link","kind","name"],"title":"DeviceProvider"},"DeviceState":{"type":"string","enum":["available","elsewhere","non_operational","non_contactable","on_trip","removed","reserved","unknown","missing","stopped"],"title":"DeviceState"},"DeviceType":{"type":"string","enum":["bicycle","scooter","moped","car","unknown","scooter_seated"],"title":"DeviceType"},"DriverSourceTemplateModel":{"properties":{"type":{"anyOf":[{"$ref":"#/components/schemas/FeedDriverType"}]},"version":{"anyOf":[{"$ref":"#/components/schemas/DriverVersion"}]}},"type":"object","title":"DriverSourceTemplateModel"},"DriverVersion":{"type":"string","enum":["0.2","0.3.0","0.3.2","0.4.0","0.4.1","1.0","1.1","1.2.0","2.0.0","2.0.0.lime","realtime","type1","type2","type3","type4","type5","type6","type7","type8","type9","type10","type11","unknown","wunder","1","2"],"title":"DriverVersion"},"EventRecord":{"properties":{"event_time":{"type":"string","format":"date-time","title":"Event Time"},"next_event_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Next Event Time"},"device_state":{"anyOf":[{"$ref":"#/components/schemas/DeviceState"}]},"next_device_state":{"anyOf":[{"$ref":"#/components/schemas/DeviceState"}]},"event_type":{"anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"string"}],"title":"Event Type"},"next_event_type":{"anyOf":[{"$ref":"#/components/schemas/EventType"},{"type":"string"}],"title":"Next Event Type"},"position":{"$ref":"#/components/schemas/LatLng"},"next_position":{"anyOf":[{"$ref":"#/components/schemas/LatLng"}]},"provider":{"type":"string","format":"path","title":"Provider"},"device_type":{"anyOf":[{"$ref":"#/components/schemas/DeviceType"},{"type":"string"}],"title":"Device Type"},"regulation":{"anyOf":[{"type":"string","format":"path"}],"title":"Regulation"},"provider_device_id":{"anyOf":[{"type":"string"}],"title":"Provider Device Id"},"infringements":{"anyOf":[{"items":{"$ref":"#/components/schemas/EventRecordInfringement"},"type":"array"}],"title":"Infringements"},"trip_trajectory":{"anyOf":[{"$ref":"#/components/schemas/GeoJSONFeature"}],"description":"The trajectory of the device during the trip"},"battery_pct":{"anyOf":[{"type":"number"}],"title":"Battery Pct"}},"type":"object","required":["event_time","position","provider"],"title":"EventRecord","description":"An event record is a record of an event that has occurred.\nIt will contain informations about :\n- event time and the next event time for this device\n- event type and the next event type for this device\n- device state and the next device state for this device\n- position and the next position for this device\n- provider\n- device type\n- ..."},"EventRecordInfringement":{"properties":{"regulation":{"type":"string","format":"path","title":"Regulation"}},"type":"object","required":["regulation"],"title":"EventRecordInfringement"},"EventType":{"type":"string","enum":["agency_drop_off","agency_pick_up","battery_charged","battery_low","changed_geographies","comms_lost","comms_restored","compliance_pick_up","decommissioned","located","low_battery","maintenance","maintenance_drop_off","maintenance_pick_up","missing","off_hours","on_hours","provider_drop_off","rebalance_drop_off","rebalance_pick_up","reservation_cancel","reservation_start","service_end","service_start","system_resume","system_suspend","trip_cancel","trip_end","trip_enter_jurisdiction","trip_leave_jurisdiction","trip_start","unknown","unspecified","user_drop_off","user_pick_up"],"title":"EventType"},"Events":{"properties":{"events":{"items":{"$ref":"#/components/schemas/EventRecord"},"type":"array","title":"Events"}},"type":"object","required":["events"],"title":"Events"},"EventsRequest":{"properties":{"subfleet":{"anyOf":[{"$ref":"#/components/schemas/Subfleet"}]},"distinct_devices":{"type":"boolean","title":"Distinct Devices","description":"Only for historical events.\n\nIf true, returns at most 1 event per distinct device, selecting the most recent event.","default":false},"include_infringements":{"type":"boolean","title":"Include Infringements","description":"If true, returns infringements related to the devices in realtime.\n\nOnly for realtime events.","default":true},"include_telemetries":{"type":"boolean","title":"Include Telemetries","description":"If true, returns the trips event times and trip trajectories.\n\nOnly for historical events.","default":false},"use_cached":{"type":"boolean","title":"Use Cached","description":"Only for historical events. The realtime events are obviously not cached, because the realtime events are the most recent ones.\n\nIf true, returns cached data.\n\nMost recent data is 1 minute old.\nCached data is 1 hour old.","default":false},"sampled":{"type":"boolean","title":"Sampled","description":"Only for historical events.\n\nIf true, returns a sample of events, unordered, picked randomly matching the criterias of the subfleet.\nElse, returns the most recent events, ordered by event_time, matching the criterias of the subfleet.","default":false},"only_position":{"type":"boolean","title":"Only Position","description":"Only for historical events.\n\nIf true, returns only the position of the devices.","default":false}},"type":"object","title":"EventsRequest","description":"# Events endpoint\n\nThe events endpoint is a generic endpoint which can serve multiple purposes, based on the parameters that are sent :\n- Realtime events\n- Historical events\n- Historical infringements\n\n\nWe listed the main API requests parameters for each use case : \n- `Subfleet`\n- `Include_infringements`\n- `Distinct_devices`\n- `Include_telemetries`\n- `Use_cached`\n\nEach parameter, according to the use case, will follow the [RFC convention](https://www.rfc-editor.org/rfc/rfc2119#section-4) to describe the requirement level of the param\n- MUST = It must be set up in the context of this use case\n- MUST NOT = It must not be set up in the context of this use case\n- MAY = Not mandatory to use, but is an option that will change the end result\n- SHOULD NOT = Can be set, but will have no impact on the result, useless to set\n\nWe also listed the default limits for each use case, and if they’re tweaked by some params : \n- Limit (How many rows returned in the response)\n- Time limit (Until when can we request the data)\n- Freshness (How fresh is the data)\n\nWe also put an example of the response payload for each use case of the events endpoint.\n\n## Use case 1 - Realtime data :\n\nThis part will describe how to get the latest know vehicle position and status, it's closely coupled to the concept of search horizon described [here](https://help.vianova.io/docs/what-is-the-quality-of-data#fleet-sizes-and-search-horizons)\n\n\n- API parameters : \n    - `Subfleet` : MUST NOT be used\n        - If set, it will automatically be historical data and not realtime anymore (see use case below)\n    - `Include_infrigements` : MAY be used\n        - Will include a list of regulations that the device is infringing\n    - `Distinct_devices`: SHOULD NOT be used\n    - `Include_telemetries` : SHOULD NOT be used\n    - `Use_cached`: SHOULD NOT be used\n    - `Only_position`: SHOULD NOT be used\n    - `Sampled`: SHOULD NOT be used\n\n- Default limits : \n    - Limit : 2k rows\n    - Time limit : 7 days\n        - Can be 14 days, but it’s up to customers to request it\n    - Freshness : 1 minute old\n\n- Response structure : \n```json\n{\n   \"position\" : {\n       \"lat\":0.0,\n       \"lng\":0.0\n   },\n   \"device_type\": \"string\",\n   \"event_time\": \"string\",\n   \"device_state\": \"string\",\n   \"event_type\": \"string\",\n   \"provider\": \"string\", // provider url\n   \"provider_device_id\": \"string\",\n   \"infringements\" : [\n       \"string\" // regulation url that made occur the infringement\n   ]\n}\n```\n\n## Use case 2 - Historical events :\n\nThis part will describe how to get historical data, include trips trajectory. We only provide a limited timeframe with blurred start and stop for privacy reasons. You can follow our recipe with code exemple [here](https://help.vianova.io/recipes/how-to-get-raw-data-from-api)\n\n- API parameters : \n    - `Subfleet` : MUST be used\n        - If not set, it will fetch realtime events (see above)\n        - `Subfleet.regulations` : MUST NOT be used\n            - If set, will fetch historical infringements (see below)\n    - `Include_infrigements` : SHOULD NOT be used\n    - `Distinct_devices`: MAY be used\n        - If set :\n            - It’ll fetch only one event per device (the most recent event for the device) \n            - Limit : 15k rows\n    - `Include_telemetries` : MAY be used\n        - If set : \n            - Returns the trips event times and trip trajectories\n            - Time limit : 10 days max, not available before\n    - `Use_cached`: MAY be used\n        - If set : \n            - Uses cached data\n            - Freshness : 1 hour old data\n    - `Only_position`: MAY be used\n        - If set : \n            - Returns only the position of the devices\n            - Limit : 15k rows\n    - `Sampled`: MAY be used\n        - If set : \n            - Returns a unordered random sample of the data, events picked randomly in the time range\n            - Limit : 15k rows\n\n- Default limits : \n    - Limit : 2k\n    - Time limit : As long as you’ve data ingested in the scope\n    - Freshness : 1 minute old\n\n- Response structure \n```json\n{\n   \"position\" : {\n       \"lat\":0.0,\n       \"lng\":0.0\n   },\n   \"device_type\": \"string\",\n   \"event_time\": \"string\",\n   \"device_state\": \"string\",\n   \"event_type\": \"string\",\n   \"provider\": \"string\", // provider url\n   \"provider_device_id\": \"string\",\n   \"trip_trajectory\": {} // if include telemetries\n}\n```\n\n## Use case 3 - Historical infringements :\n\nThis part will describe who you can get historical raw infringement from the event based policies (you can read this article to understand more about the [difference](https://help.vianova.io/docs/understanding-compliance))\n\n- API parameters : \n    - `Subfleet` : MUST be used, otherwise it’ll fetch realtime events (see below)\n        - `Subfleet.regulations` : MUST be used, otherwise it’ll fetch historical events, and not historical infringements\n        - `Subfleet.regulations.unique_infringements` : MAY be used\n            - If set : Only unique infringements => If an infringement happens for 12 hours, there will be only one infringement, instead of having 12 distinct infringements in the list (one per hour) \n    - `Include_infrigements` : SHOULD NOT be used\n    - `Distinct_devices`: SHOULD NOT be used\n    - `Include_telemetries` : SHOULD NOT be used\n    - `Use_cached:` SHOULD NOT be used\n    - `Only_position`: SHOULD NOT be used\n    - `Sampled`: SHOULD NOT be used\n\n- Default limits : \n    - Limit : 15k\n    - Time limit : As long as you’ve data ingested in the scope\n    - Freshness : 1 minute old\n\n- Response structure \n```json\n{\n   \"position\" : {\n       \"lat\":0.0,\n       \"lng\":0.0\n   },\n   \"regulation\": \"string\", //Url of the regulation\n   \"device_type\": \"string\",\n   \"event_time\": \"string\",\n   \"next_event_time\": \"string\", // Only for unique infringements => Matches the end of the infringement\n   \"provider\": \"string\", // provider url\n   \"provider_device_id\": \"string\",\n}\n```"},"ExtractCodeResponse":{"properties":{"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"ExtractCodeResponse"},"FakeMDSResponse":{"properties":{"provider":{"type":"string","title":"Provider"},"version":{"type":"string","title":"Version"},"status_changes":{"items":{"type":"object"},"type":"array","title":"Status Changes"}},"type":"object","required":["provider","version","status_changes"],"title":"FakeMDSResponse"},"Feed":{"properties":{"provider":{"$ref":"#/components/schemas/FeedProvider"},"status":{"$ref":"#/components/schemas/FeedStatus"},"driver":{"$ref":"#/components/schemas/FeedDriver"},"endpoints":{"items":{"$ref":"#/components/schemas/FeedEndpoint"},"type":"array","title":"Endpoints"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}]},"address":{"anyOf":[{"$ref":"#/components/schemas/FeedAddress"}]},"title":{"anyOf":[{"type":"string"}],"title":"Title"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"initialize_feed_status":{"anyOf":[{"$ref":"#/components/schemas/InitializeFeedStatus"}]},"access_protection_level":{"$ref":"#/components/schemas/AccessProtectionLevel"},"source_template_key":{"anyOf":[{"type":"string"}],"title":"Source Template Key"},"verified":{"type":"boolean","title":"Verified","default":true},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"feed_id":{"type":"integer","minimum":1.0,"title":"Feed Id"},"test":{"type":"string","format":"path","title":"Test"},"providers":{"type":"string","format":"path","title":"Providers"},"org":{"type":"string","format":"path","title":"Org"},"zones":{"type":"string","format":"path","title":"Zones"},"provider_statuses":{"items":{"$ref":"#/components/schemas/FeedProviderStatus"},"type":"array","title":"Provider Statuses"},"feed_zones":{"anyOf":[{"items":{"$ref":"#/components/schemas/vianova__hawkeye__src__models__feeds__FeedZone"},"type":"array"}],"title":"Feed Zones"}},"type":"object","required":["provider","status","driver","endpoints","access_protection_level","self_link","kind","feed_id","test","providers","org","zones","provider_statuses"],"title":"Feed"},"FeedAddress":{"properties":{"city":{"anyOf":[{"type":"string"}],"title":"City"},"country":{"anyOf":[{"type":"string"}],"title":"Country"}},"type":"object","title":"FeedAddress"},"FeedBackfill":{"properties":{"initialize_start_time":{"anyOf":[{"type":"string","format":"date"}],"title":"Initialize Start Time"},"initialize_end_time":{"anyOf":[{"type":"string","format":"date"}],"title":"Initialize End Time"},"metrics_only":{"type":"boolean","title":"Metrics Only","default":false},"force":{"type":"boolean","title":"Force","default":false}},"type":"object","title":"FeedBackfill"},"FeedCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Feed"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"FeedCollection"},"FeedDriver":{"properties":{"type":{"$ref":"#/components/schemas/FeedDriverType"},"version":{"$ref":"#/components/schemas/DriverVersion"},"patches":{"items":{"$ref":"#/components/schemas/FeedDriverPatch"},"type":"array","uniqueItems":true,"title":"Patches","default":[]},"machine_ram_mb":{"allOf":[{"$ref":"#/components/schemas/RamEnum"}],"default":256}},"type":"object","required":["type","version"],"title":"FeedDriver"},"FeedDriverPatch":{"type":"string","enum":["mds_slowdown_fetch_requests","gbfs_rotate_vehicle_id","unknown"],"title":"FeedDriverPatch"},"FeedDriverType":{"type":"string","enum":["GBFS","MDS","unknown"],"title":"FeedDriverType"},"FeedEndpoint":{"properties":{"realtime":{"type":"boolean","title":"Realtime","default":false},"gbfs":{"type":"boolean","title":"Gbfs","default":false},"base_url":{"type":"string","title":"Base Url"},"uri":{"type":"string","format":"path","title":"Uri"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","default":{}},"authentication":{"anyOf":[{"$ref":"#/components/schemas/Oauth2Bearer"},{"$ref":"#/components/schemas/ClientCredentials1"},{"$ref":"#/components/schemas/ClientCredentials2"},{"$ref":"#/components/schemas/ClientCredentialsAuth"},{"$ref":"#/components/schemas/ClientSecret"},{"$ref":"#/components/schemas/Jwt"}],"title":"Authentication"},"parameters":{"type":"object","title":"Parameters","default":{}}},"type":"object","required":["base_url","uri"],"title":"FeedEndpoint"},"FeedIncidentConfig":{"properties":{"feed":{"type":"string","format":"path","title":"Feed"},"event_time":{"type":"string","format":"date-time","title":"Event Time"}},"type":"object","required":["feed","event_time"],"title":"FeedIncidentConfig"},"FeedInitializerStep":{"type":"string","enum":["find_start_date","terminate","metrics_only","fetch_backfill_status","dbt_backfill","dbt_backfill_status","cleanup","emit_events"],"title":"FeedInitializerStep"},"FeedPatch":{"properties":{"initialize_start_time":{"anyOf":[{"type":"string","format":"date"}],"title":"Initialize Start Time"},"initialize_end_time":{"anyOf":[{"type":"string","format":"date"}],"title":"Initialize End Time"},"status":{"$ref":"#/components/schemas/FeedStatusPatch"}},"type":"object","required":["status"],"title":"FeedPatch"},"FeedProvider":{"properties":{"name":{"type":"string","title":"Name"},"code":{"type":"string","maxLength":3,"title":"Code"}},"type":"object","required":["name","code"],"title":"FeedProvider"},"FeedProviderStatus":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"starting_from_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Starting From Time"},"last_update_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Last Update Time"},"telemetry":{"anyOf":[{"$ref":"#/components/schemas/TelemetryMetric"}]},"trip_distance":{"anyOf":[{"$ref":"#/components/schemas/TripDistanceMetric"}]},"incidents":{"anyOf":[{"$ref":"#/components/schemas/IncidentsMetric"}]},"average_response":{"anyOf":[{"$ref":"#/components/schemas/RequestDelayMetric"}]},"uptime":{"anyOf":[{"$ref":"#/components/schemas/UptimeMetric"}]},"data_freshness":{"anyOf":[{"$ref":"#/components/schemas/DataFreshnessMetric"}]},"vehicles_on_prow":{"anyOf":[{"$ref":"#/components/schemas/VehicleStateOnProwMetric"}]},"devices_types":{"items":{"$ref":"#/components/schemas/DeviceType"},"type":"array","uniqueItems":true,"title":"Devices Types","default":[]},"provider":{"type":"string","format":"path","title":"Provider"},"feed_type":{"anyOf":[{"type":"string"}],"title":"Feed Type"},"feed_driver_simplified_version":{"anyOf":[{"type":"string"}],"title":"Feed Driver Simplified Version"}},"additionalProperties":true,"type":"object","required":["self_link","kind","provider"],"title":"FeedProviderStatus"},"FeedProviderStatusCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/FeedProviderStatus"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"FeedProviderStatusCollection"},"FeedStatus":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"schedule":{"type":"string","title":"Schedule"}},"type":"object","required":["schedule"],"title":"FeedStatus"},"FeedStatusPatch":{"properties":{"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["enabled"],"title":"FeedStatusPatch"},"FeedTest":{"properties":{"params":{"additionalProperties":{"type":"string"},"type":"object","title":"Params","default":{}}},"type":"object","title":"FeedTest"},"FeedTestResponse":{"properties":{"raw_data":{"anyOf":[{"items":{"type":"object"},"type":"array"}],"title":"Raw Data"}},"type":"object","title":"FeedTestResponse"},"FeedZoneCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__src__routes__feeds__FeedZone"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"FeedZoneCollection"},"FeedsGroupBy":{"type":"string","enum":["feed","provider"],"title":"FeedsGroupBy"},"FeesSubsidies":{"properties":{"rate_recurrence":{"$ref":"#/components/schemas/RateRecurrence"},"rate_amount":{"type":"number","title":"Rate Amount"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["rate_recurrence","rate_amount","currency"],"title":"FeesSubsidies"},"FetchBackfillStatusOutput":{"properties":{"complete":{"type":"boolean","title":"Complete"},"fetched_hour_count":{"type":"integer","title":"Fetched Hour Count"},"date_range_hour_count":{"type":"integer","title":"Date Range Hour Count"}},"type":"object","required":["complete","fetched_hour_count","date_range_hour_count"],"title":"FetchBackfillStatusOutput"},"FieldSelector":{"title":"FieldSelector","oneOf":[{"$ref":"#/components/schemas/FieldSelectorLabel"},{"items":{"type":"string"},"type":"array"},{"type":"string"}]},"FieldSelectorLabel":{"properties":{"field":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"}],"title":"Field"},"label":{"type":"string","title":"Label"}},"type":"object","required":["field","label"],"title":"FieldSelectorLabel"},"FieldSelectorToFilters":{"properties":{"field_selector":{"$ref":"#/components/schemas/FieldSelector"},"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array"}],"title":"Filters"},"filter_compare_to":{"anyOf":[{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array"}],"title":"Filter Compare To"}},"type":"object","required":["field_selector"],"title":"FieldSelectorToFilters"},"FileUpload":{"properties":{"period":{"$ref":"#/components/schemas/Period"},"device_type":{"anyOf":[{"type":"string"}],"title":"Device Type"},"object_link":{"anyOf":[{"type":"string"}],"title":"Object Link"}},"type":"object","required":["period"],"title":"FileUpload"},"FormatOptions":{"properties":{"rank":{"allOf":[{"$ref":"#/components/schemas/RankOptions"}],"default":{"add_go_to_target_in_widget":true}}},"type":"object","title":"FormatOptions"},"GenAIPreviousContext":{"properties":{"gen_ai_prompt":{"allOf":[{"$ref":"#/components/schemas/GenAIPrompt"}],"description":"The prompt to generate a query for"},"query_request":{"allOf":[{"$ref":"#/components/schemas/QueryRequest"}],"description":"The query request that was generated"}},"type":"object","required":["gen_ai_prompt","query_request"],"title":"GenAIPreviousContext"},"GenAIPrompt":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"The prompt to generate a query for"},"format":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetRenderType"}],"description":"The format of the query"},"format_options":{"anyOf":[{"$ref":"#/components/schemas/FormatOptions"}]},"joined_stream_id":{"anyOf":[{"type":"string"}],"title":"Joined Stream Id","description":"The stream id of the joined stream if there is one"},"joined_snapping_condition":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilter"}],"description":"The snapping condition to join on the joined stream if there is one"},"previous_context":{"anyOf":[{"$ref":"#/components/schemas/GenAIPreviousContext"}]},"explanation_request":{"type":"boolean","title":"Explanation Request","description":"Whether this is a request for query explanation","default":false}},"type":"object","required":["prompt"],"title":"GenAIPrompt"},"GenAIQueryExplanation":{"properties":{"genai_query_request_id":{"type":"string","format":"uuid","title":"Genai Query Request Id"}},"type":"object","required":["genai_query_request_id"],"title":"GenAIQueryExplanation"},"GenAIQueryExplanationFailure":{"properties":{"genai_query_request_id":{"type":"string","format":"uuid","title":"Genai Query Request Id"}},"type":"object","required":["genai_query_request_id"],"title":"GenAIQueryExplanationFailure"},"GenerateNotificationContentKey":{"type":"string","enum":["regulation_created","regulation_expiring","incident_reported_device","incident_reported_device_immediate","incident_report_alert","incident_live_infringement","initialize_feed_complete","zone_feed_status_update","zone_feed_pending_data_producer","daily_zone_feed_pending_data_producer","stream_alert","freeze_zone_reminder__to_be_frozen","freeze_zone_reminder__frozen","freeze_zone_reminder__to_be_deleted","freeze_zone_reminder__deleted","unknown"],"title":"GenerateNotificationContentKey"},"GeneratedPrompt":{"properties":{"prompt":{"type":"string","title":"Prompt"},"format":{"$ref":"#/components/schemas/StreamWidgetRenderType"},"format_options":{"anyOf":[{"$ref":"#/components/schemas/FormatOptions"}]},"title":{"type":"string","title":"Title"}},"type":"object","required":["prompt","format","title"],"title":"GeneratedPrompt","description":"A generated prompt with its suggested format"},"GeneratedPromptsResponse":{"properties":{"generated_prompts":{"items":{"$ref":"#/components/schemas/GeneratedPrompt"},"type":"array","title":"Generated Prompts"}},"type":"object","required":["generated_prompts"],"title":"GeneratedPromptsResponse","description":"Response model for generate_prompts endpoint"},"GeoFeature":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"creation_time":{"type":"string","format":"date-time","title":"Creation Time"},"name":{"type":"string","title":"Name"},"tags":{"items":{"type":"string","maxLength":50},"type":"array","uniqueItems":true,"title":"Tags"},"geometry":{"$ref":"#/components/schemas/GeometryElement"},"status":{"allOf":[{"$ref":"#/components/schemas/GeoFeatureStatus"}],"default":"live"},"properties":{"anyOf":[{"type":"object"}],"title":"Properties"},"author":{"anyOf":[{"type":"string","format":"path"}],"title":"Author"},"parent":{"anyOf":[{"type":"string","format":"path"}],"title":"Parent"},"geo_feature_id":{"type":"integer","minimum":1.0,"title":"Geo Feature Id"},"uuid":{"type":"string","format":"uuid","title":"Uuid"},"regulations":{"type":"string","format":"path","title":"Regulations"},"processing_status":{"type":"string","format":"path","title":"Processing Status"},"previous_version":{"anyOf":[{"type":"string","format":"path"}],"title":"Previous Version"},"is_deletable":{"type":"boolean","title":"Is Deletable"},"zone_link":{"type":"string","format":"path","title":"Zone Link"}},"additionalProperties":true,"type":"object","required":["self_link","kind","creation_time","name","tags","geometry","geo_feature_id","uuid","regulations","processing_status","is_deletable","zone_link"],"title":"GeoFeature"},"GeoFeatureCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/GeoFeature"},"type":"array","title":"Contents"},"tags":{"type":"string","format":"path","title":"Tags"},"statuses":{"type":"string","format":"path","title":"Statuses"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents","tags","statuses"],"title":"GeoFeatureCollection"},"GeoFeatureCreate":{"properties":{"name":{"type":"string","title":"Name"},"tags":{"items":{"type":"string","maxLength":50},"type":"array","uniqueItems":true,"title":"Tags"},"geometry":{"$ref":"#/components/schemas/GeometryElement"},"status":{"allOf":[{"$ref":"#/components/schemas/GeoFeatureStatus"}],"default":"live"},"properties":{"anyOf":[{"type":"object"}],"title":"Properties"}},"type":"object","required":["name","tags","geometry"],"title":"GeoFeatureCreate"},"GeoFeatureFilter":{"properties":{"uri":{"anyOf":[{"type":"string","format":"path"}],"title":"Uri","description":"The geofeature API link to include in the filter. Use the geo_feature to filter.\n\nFormat : `\"/geo_features/<geo_feature_id>\"`"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}],"description":""}},"type":"object","title":"GeoFeatureFilter","description":"Exactly one of the params `geometry` or `uri` must be set."},"GeoFeaturePatch":{"properties":{"name":{"anyOf":[{"type":"string"}],"title":"Name"},"tags":{"anyOf":[{"items":{"type":"string","maxLength":50},"type":"array","uniqueItems":true}],"title":"Tags"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}]},"status":{"allOf":[{"$ref":"#/components/schemas/GeoFeatureStatus"}],"default":"live"},"properties":{"anyOf":[{"type":"object"}],"title":"Properties"},"previous_version_status":{"anyOf":[{"$ref":"#/components/schemas/GeoFeatureStatus"}]},"regulation_update_policy":{"anyOf":[{"$ref":"#/components/schemas/GeoFeatureRegulationUpdatePolicy"}]}},"type":"object","title":"GeoFeaturePatch"},"GeoFeatureProcessingStatus":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"geo_feature":{"type":"string","format":"path","title":"Geo Feature"},"status":{"$ref":"#/components/schemas/GeoFeatureProcessingStatusEnum"}},"additionalProperties":true,"type":"object","required":["self_link","kind","geo_feature","status"],"title":"GeoFeatureProcessingStatus"},"GeoFeatureProcessingStatusCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/GeoFeatureProcessingStatus"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"GeoFeatureProcessingStatusCollection"},"GeoFeatureProcessingStatusEnum":{"type":"string","enum":["queued","running","done"],"title":"GeoFeatureProcessingStatusEnum"},"GeoFeatureRegulationUpdatePolicy":{"properties":{"default_action":{"anyOf":[{"$ref":"#/components/schemas/GeoFeatureRegulationUpdatePolicyAction"}]},"regulations":{"items":{"$ref":"#/components/schemas/GeoFeatureRegulationUpdatePolicyRegulation"},"type":"array","title":"Regulations","default":[]}},"type":"object","title":"GeoFeatureRegulationUpdatePolicy"},"GeoFeatureRegulationUpdatePolicyAction":{"type":"string","enum":["update","do_nothing"],"title":"GeoFeatureRegulationUpdatePolicyAction"},"GeoFeatureRegulationUpdatePolicyRegulation":{"properties":{"regulation":{"type":"string","format":"path","title":"Regulation"},"action":{"$ref":"#/components/schemas/GeoFeatureRegulationUpdatePolicyAction"}},"type":"object","required":["regulation","action"],"title":"GeoFeatureRegulationUpdatePolicyRegulation"},"GeoFeatureStatus":{"type":"string","enum":["live","archived"],"title":"GeoFeatureStatus"},"GeoFence":{"properties":{"buffer_meters":{"type":"number","title":"Buffer Meters","description":"The maximum distance between two objects to consider them as matching.","default":0},"geo_features":{"items":{"$ref":"#/components/schemas/GeoFeatureFilter"},"type":"array","maxItems":10000,"title":"Geo Features","description":"List of geofeatures to filter events on","default":[]},"h3_tokens":{"items":{"type":"string"},"type":"array","uniqueItems":true,"title":"H3 Tokens","description":"List of h3 ids to filter events on","default":[]},"tags":{"items":{"type":"string"},"type":"array","uniqueItems":true,"title":"Tags","description":"List of geo features tags to filter events on.\n\nPossible tags (assuming these tags are set in the targeted scope): \n- transit_line\n- road\n- regulation\n- admin_boundary\n- district\n- subdistrict\n- transit_station\n\nIt can also be any custom tags you created","default":[]}},"type":"object","title":"GeoFence"},"GeoJSONFeature":{"properties":{"type":{"type":"string","enum":["Feature"],"const":"Feature","title":"Type","default":"Feature"},"properties":{"type":"object","title":"Properties"},"geometry":{"$ref":"#/components/schemas/GeometryElement"},"id":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Id"}},"type":"object","required":["properties","geometry"],"title":"GeoJSONFeature"},"GeoJSONFeatureCollection":{"properties":{"type":{"type":"string","enum":["FeatureCollection"],"const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/GeoJSONFeature"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONFeatureCollection"},"GeometryElement":{"properties":{"type":{"allOf":[{"$ref":"#/components/schemas/GeometryType"}],"description":"GeometryType of a geometry object according to the geojson specification"},"coordinates":{"items":{},"type":"array","title":"Coordinates","description":"Coordinates of a geometry object according to the geojson specification"}},"type":"object","required":["type","coordinates"],"title":"GeometryElement","description":"Geojson specification : [here](geojson.org)\nWe are specifically interested here in the `geometry object`\n\n```json\n{\n    \"type\": \"Feature\",\n    \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [125.6, 10.1]\n    },\n    \"properties\": {\n        \"name\": \"Dinagat Islands\"\n    }\n}\n```"},"GeometryElementDistance":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"},{"$ref":"#/components/schemas/Source"}],"title":"Geometry","description":"The geometry element to compare with"},"distance":{"anyOf":[{"type":"number"}],"title":"Distance","description":"Set only if condition is distance_within"}},"type":"object","required":["geometry"],"title":"GeometryElementDistance"},"GeometryType":{"type":"string","enum":["Point","LineString","Polygon","MultiPoint","MultiPolygon","MultiLineString"],"title":"GeometryType"},"GitlabStatusEnum":{"type":"string","enum":["created","waiting_for_resource","preparing","pending","running","success","failed","canceled","skipped","manual","scheduled"],"title":"GitlabStatusEnum"},"Grouping":{"type":"string","enum":["day_of_week","device_type","geo_fence","h3","hour_of_day","no_grouping","provider","regulation","regulation_type","feed"],"title":"Grouping"},"GroupingDefinition":{"properties":{"grouping":{"allOf":[{"$ref":"#/components/schemas/Grouping"}],"deprecated":true},"groupings":{"anyOf":[{"items":{"$ref":"#/components/schemas/Grouping"},"type":"array"}],"title":"Groupings"},"geo_fences":{"anyOf":[{"items":{"$ref":"#/components/schemas/GeoFence"},"type":"array"}],"title":"Geo Fences","description":"List of geofences to group by metrics on. \n\nIf no filters are set, all events will be grouped by district/subdistrict"},"h3_levels":{"anyOf":[{"items":{"type":"integer","maximum":8.0,"minimum":6.0},"type":"array","uniqueItems":true}],"title":"H3 Levels","description":"List of h3 levels to group by metrics on.\n\nSee the [h3 levels specification](https://h3geo.org/docs/core-library/restable/) to have a better understanding on h3 levels"}},"type":"object","required":["grouping"],"title":"GroupingDefinition","description":"Metrics will be grouped by the list of groupings defined here.\n\nYou can decide to group by groupings values and/or geographic values using `geo_fences` or `h3_levels`"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Incident":{"properties":{"published_time":{"type":"string","format":"date-time","title":"Published Time"},"incident_type":{"$ref":"#/components/schemas/IncidentType"},"config":{"$ref":"#/components/schemas/IncidentConfig"},"comment":{"type":"string","title":"Comment","default":""},"subject":{"anyOf":[{"type":"string"}],"title":"Subject"},"cc":{"anyOf":[{"items":{"type":"string","format":"email"},"type":"array"}],"title":"Cc"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"incident_id":{"type":"string","format":"uuid","title":"Incident Id"},"zone":{"anyOf":[{"type":"string","format":"path"}],"title":"Zone"},"user":{"type":"string","format":"path","title":"User"},"updates":{"items":{"$ref":"#/components/schemas/IncidentUpdate"},"type":"array","title":"Updates"},"updates_link":{"type":"string","format":"path","title":"Updates Link"},"attachments":{"type":"string","format":"path","title":"Attachments"},"is_unresolved":{"type":"boolean","title":"Is Unresolved","default":false}},"type":"object","required":["published_time","incident_type","config","self_link","kind","incident_id","user","updates","updates_link","attachments"],"title":"Incident"},"IncidentAttachmentResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true}},"type":"object","title":"IncidentAttachmentResponse"},"IncidentCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Incident"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"IncidentCollection"},"IncidentConfig":{"properties":{"device":{"anyOf":[{"$ref":"#/components/schemas/DeviceIncidentConfig"}]},"feed":{"anyOf":[{"$ref":"#/components/schemas/FeedIncidentConfig"}]},"report_alert":{"anyOf":[{"$ref":"#/components/schemas/IncidentConfigReportAlert"}]}},"type":"object","title":"IncidentConfig"},"IncidentConfigReportAlert":{"properties":{"alert":{"type":"string","format":"uuid","title":"Alert"}},"type":"object","required":["alert"],"title":"IncidentConfigReportAlert"},"IncidentReportType":{"type":"string","enum":["obstruction","damaged_vehicle","general_complaint","other"],"title":"IncidentReportType"},"IncidentStatus":{"type":"string","enum":["investigating","identified","monitoring","resolved","unresolvable","none"],"title":"IncidentStatus"},"IncidentType":{"type":"string","enum":["device_event","feed","report_alert","ingestion_error"],"title":"IncidentType"},"IncidentUpdate":{"properties":{"published_time":{"type":"string","format":"date-time","title":"Published Time"},"incident_status":{"$ref":"#/components/schemas/IncidentStatus"},"details":{"anyOf":[{"$ref":"#/components/schemas/IncidentUpdateDetails"}]},"comment":{"type":"string","title":"Comment"},"source":{"anyOf":[{"type":"string","enum":["vianova"],"const":"vianova"}],"title":"Source"},"user":{"type":"string","format":"path","title":"User"}},"type":"object","required":["published_time","incident_status","comment","user"],"title":"IncidentUpdate"},"IncidentUpdateDetails":{"properties":{"device":{"anyOf":[{"$ref":"#/components/schemas/DeviceIncidentUpdateDetails"}]},"report_alert":{"anyOf":[{"$ref":"#/components/schemas/IncidentUpdateDetailsReportAlert"}]}},"type":"object","title":"IncidentUpdateDetails"},"IncidentUpdateDetailsReportAlert":{"properties":{"report_id":{"type":"string","format":"uuid","title":"Report Id"},"report_title":{"type":"string","title":"Report Title"},"section_title":{"type":"string","title":"Section Title"},"widget_title":{"type":"string","title":"Widget Title"},"violations":{"items":{"$ref":"#/components/schemas/IncidentUpdateDetailsReportAlertViolation"},"type":"array","title":"Violations"}},"type":"object","required":["report_id","report_title","section_title","widget_title","violations"],"title":"IncidentUpdateDetailsReportAlert"},"IncidentUpdateDetailsReportAlertViolation":{"properties":{"limit_type":{"$ref":"#/components/schemas/ReportAlertLimitType"},"limit_value":{"type":"number","title":"Limit Value"},"violation_count":{"type":"integer","title":"Violation Count"},"search_hours":{"type":"integer","title":"Search Hours"},"device_count":{"type":"integer","title":"Device Count"},"hour":{"type":"string","format":"date-time","title":"Hour"}},"type":"object","required":["limit_type","limit_value","violation_count","search_hours","device_count","hour"],"title":"IncidentUpdateDetailsReportAlertViolation"},"IncidentWithAttachmentsCreate":{"properties":{"incident_type":{"$ref":"#/components/schemas/IncidentType"},"config":{"$ref":"#/components/schemas/IncidentConfig"},"comment":{"type":"string","title":"Comment","default":""},"subject":{"anyOf":[{"type":"string"}],"title":"Subject"},"cc":{"anyOf":[{"items":{"type":"string","format":"email"},"type":"array"}],"title":"Cc"},"attachments":{"anyOf":[{"items":{"type":"string"},"type":"array"}],"title":"Attachments"}},"type":"object","required":["incident_type","config"],"title":"IncidentWithAttachmentsCreate"},"IncidentsMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"most_recent_incident_date":{"anyOf":[{"type":"string","format":"date"}],"title":"Most Recent Incident Date"}},"type":"object","title":"IncidentsMetric"},"InitAccountRequest":{"properties":{"user_details":{"$ref":"#/components/schemas/AccountInitUser"},"org_details":{"$ref":"#/components/schemas/OrgCreate"}},"type":"object","required":["user_details","org_details"],"title":"InitAccountRequest"},"InitAccountResponse":{"properties":{"user":{"$ref":"#/components/schemas/User"},"org":{"$ref":"#/components/schemas/Org"}},"type":"object","required":["user","org"],"title":"InitAccountResponse"},"InitializeFeedStatus":{"properties":{"step":{"anyOf":[{"$ref":"#/components/schemas/FeedInitializerStep"}]},"last_update":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Last Update"},"date_range":{"anyOf":[{"$ref":"#/components/schemas/DateRange"}]},"cleanup":{"anyOf":[{"$ref":"#/components/schemas/CleanupOutput"}]},"fetch_backfill_status":{"anyOf":[{"$ref":"#/components/schemas/FetchBackfillStatusOutput"}]},"dbt_backfill_status":{"anyOf":[{"$ref":"#/components/schemas/DbtBackfillStatusOutput"}]}},"type":"object","title":"InitializeFeedStatus"},"Join":{"properties":{"label":{"type":"string","title":"Label"},"join_on":{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array","title":"Join On","description":"The join on","default":[]}},"type":"object","required":["label"],"title":"Join"},"Jwt":{"properties":{"method":{"type":"string","enum":["jwt"],"const":"jwt","title":"Method","default":"jwt"},"algorithm":{"allOf":[{"$ref":"#/components/schemas/JwtAlgorithm"}],"default":"RS256"},"aud":{"type":"string","title":"Aud"},"email":{"type":"string","title":"Email"},"iss":{"type":"string","title":"Iss"},"key":{"type":"string","title":"Key"},"key_id":{"type":"string","title":"Key Id"},"sub":{"type":"string","title":"Sub"}},"additionalProperties":false,"type":"object","required":["aud","email","iss","key","key_id","sub"],"title":"Jwt"},"JwtAlgorithm":{"type":"string","enum":["RS256","ES256","unknown"],"title":"JwtAlgorithm"},"Kind":{"type":"string","enum":["page","dashboard","component","presentation","channel","city","collection","dataset","device","feed","feed_provider_status","geo_feature","geo_feature_processing_status","incident","notification","operation","org","project","provider","registered_device","regulation","regulation_group","report","shared_dataset","source_template","stream","stream_alert","stream_layer","stream_upload","stream_widget","stream_selector","user","user_group","zone","zone_role","query_request_gen_ai"],"title":"Kind"},"LabelSelector":{"properties":{"label":{"anyOf":[{"type":"string"}],"title":"Label"}},"type":"object","title":"LabelSelector"},"Language":{"type":"string","enum":["de","en","es","fr","it","nl","sv","no"],"title":"Language"},"LatLng":{"properties":{"lat":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Lat"},"lng":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lng"}},"type":"object","required":["lat","lng"],"title":"LatLng"},"LayerSource":{"allOf":[{"$ref":"#/components/schemas/LayerSourceQueryRequest"}],"title":"LayerSource"},"LayerSourceQueryRequest":{"properties":{"query":{"allOf":[{"$ref":"#/components/schemas/QueryRequest"}],"description":"The query to run to retrieve data to visualize in the layer."},"query_response":{"anyOf":[{"$ref":"#/components/schemas/QueryResponse"}],"description":"Contains the response of the query API endpoint when the stream layer is associated with a stream widget which is associated to a report, and is public and shared"}},"type":"object","required":["query"],"title":"LayerSourceQueryRequest"},"LayerTooltip":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/LayerTooltipField"},"type":"array","title":"Fields","default":[]}},"type":"object","title":"LayerTooltip"},"LayerTooltipField":{"properties":{"field":{"$ref":"#/components/schemas/FieldSelector"}},"type":"object","required":["field"],"title":"LayerTooltipField"},"LoginResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","enum":["bearer"],"const":"bearer","title":"Token Type","default":"bearer"}},"type":"object","required":["access_token"],"title":"LoginResponse"},"MapboxComputation":{"properties":{"mapbox_computation_type":{"$ref":"#/components/schemas/MapboxComputationType"},"property_key":{"type":"string","title":"Property Key"}},"type":"object","required":["mapbox_computation_type","property_key"],"title":"MapboxComputation"},"MapboxComputationType":{"type":"string","enum":["max","min"],"title":"MapboxComputationType"},"MapboxLayer":{"properties":{"type":{"$ref":"#/components/schemas/MapboxLayerType"},"layout":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/MapboxComputation"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"string"},{"items":{},"type":"array"},{"items":{"anyOf":[{"$ref":"#/components/schemas/MapboxComputation"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"string"},{"items":{},"type":"array"}]},"type":"array"}]},"type":"object","title":"Layout","default":{}},"paint":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/MapboxComputation"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"string"},{"items":{},"type":"array"},{"items":{"anyOf":[{"$ref":"#/components/schemas/MapboxComputation"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"string"},{"items":{},"type":"array"}]},"type":"array"}]},"type":"object","title":"Paint","default":{}},"style_id":{"anyOf":[{"type":"string"}],"title":"Style Id"}},"type":"object","required":["type"],"title":"MapboxLayer"},"MapboxLayerType":{"type":"string","enum":["circle","fill","heatmap","line","symbol","background","raster","fill-extrusion","hillshade","sky"],"title":"MapboxLayerType"},"MdsPolicyFormat":{"type":"string","enum":["mds","geojson"],"title":"MdsPolicyFormat"},"MdsVersion":{"type":"string","enum":["0.4.1","1.1.0"],"title":"MdsVersion"},"MetricDefinition":{"properties":{"subfleet":{"anyOf":[{"$ref":"#/components/schemas/Subfleet"}]},"groupings":{"items":{"$ref":"#/components/schemas/GroupingDefinition"},"type":"array","title":"Groupings","default":[]},"metric_types":{"items":{"$ref":"#/components/schemas/MetricType"},"type":"array","title":"Metric Types","default":[]},"window":{"anyOf":[{"$ref":"#/components/schemas/ResolutionInterval"},{"type":"number","format":"time-delta"}],"title":"Window","deprecated":true},"resolution":{"anyOf":[{"$ref":"#/components/schemas/ResolutionInterval"},{"type":"number","format":"time-delta"}],"title":"Resolution","description":"The resolution of the metrics","default":"hour"},"aggregation_type":{"allOf":[{"$ref":"#/components/schemas/AggregationType"}],"description":"The metrics can be computed in 2 ways : \n- sum of the values\n- average of the values","default":"average"}},"type":"object","title":"MetricDefinition","description":"## Payload to get all the metrics based on multiple fields on specific groupings.\n\nIt reuses the concept of a Subfleet to filter the output metrics on many params.\n\n**Restrictions** :\n- Some metrics are incompatible together. We have 3 types of metrics :\n    - `feed`. Metrics :\n        - feed_status\n    - `regulation`. Metrics :\n        - count_infringement\n        - count_infringement_unique\n        - infringement_duration_hours\n        - compliance\n        - amount_fees_subsidies\n        - regulation_metric_value\n    - `fleet`. Metrics :\n        - availability\n        - co2_savings\n        - count_destination\n        - count_origin\n        - count_riding\n        - distance_destination\n        - distance_origin\n        - duration_destination\n        - duration_origin\n        - fleet_size\n        - idle_time_seconds\n        - vehicle_rotation\n\n    You can't ask for metrics in one request if they're not in the same group.\n    For example :\n        - you can ask for availability + fleet_size, they're in the fleet metrics group.\n        - you can **NOT** ask for availability + count_infringement, one is about fleet and the other one is about regulations\n\n- Some metrics can only be grouped by some groupings : \n\n\n| metric                      | day_of_week   | device_type   | feed   | geo_fence   | h3   | hour_of_day   | no_grouping   | provider   | regulation   | regulation_type   |\n|-----------------------------|---------------|---------------|--------|-------------|------|---------------|---------------|------------|--------------|-------------------|\n| amount_fees_subsidies       | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| availability                | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| co2_savings                 | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| compliance                  | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| count_destination           | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| count_infringement          | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| count_infringement_unique   | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| count_origin                | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| count_riding                | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| distance_destination        | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| distance_origin             | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| duration_destination        | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| duration_origin             | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| feed_status                 |               |               | X      |             |      |               | X             | X          |              |                   |\n| fleet_size                  | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| idle_time_seconds           | X             | X             |        | X           | X    | X             | X             | X          |              |                   |\n| infringement_duration_hours | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| regulation_metric_value     | X             | X             |        |             |      | X             | X             | X          | X            | X                 |\n| vehicle_rotation            | X             | X             |        | X           | X    | X             | X             | X          |              |                   |"},"MetricRegulations":{"properties":{"uuids":{"items":{"type":"string","format":"uuid"},"type":"array","uniqueItems":true,"title":"Uuids","description":"The regulation UUIDs to include in the filter","default":[]},"regulation_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","uniqueItems":true,"title":"Regulation Ids","description":"The regulations ids to include in the filter","default":[]},"regulation_types":{"items":{"$ref":"#/components/schemas/RegulationType"},"type":"array","uniqueItems":true,"title":"Regulation Types","description":"Select regulations with matching regulation_type to include in the filter.","default":[]},"providers":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Providers","description":"The providers API links to include in the filter. Use the provider ids to filter them.\n\nFormat : `[\"/providers/1\",\"/providers/2\"]`","default":[]},"regulation_version":{"anyOf":[{"$ref":"#/components/schemas/RegulationVersionEnum"}]},"unique_infringements":{"type":"boolean","title":"Unique Infringements","default":false}},"type":"object","title":"MetricRegulations"},"MetricResponse":{"properties":{"time_samples":{"items":{"type":"string","format":"date-time"},"type":"array","title":"Time Samples"},"end_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Time"},"groupings":{"items":{"$ref":"#/components/schemas/ResponseGrouping"},"type":"array","title":"Groupings"}},"type":"object","required":["time_samples","groupings"],"title":"MetricResponse"},"MetricTime":{"properties":{"start_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Start Time","description":"The start datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"end_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Time","description":"The end datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"start_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"Start Time From Now","description":"The start date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => start_date = current date minus 7 days\n\nOverriden by `start_time`"},"end_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"End Time From Now","description":"The end date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => end_date = current date plus 7 days\n\nOverriden by `end_time`"}},"type":"object","title":"MetricTime"},"MetricType":{"type":"string","enum":["amount_fees_subsidies","availability","co2_savings","compliance","count_destination","count_infringement","count_origin","count_riding","distance_destination","distance_origin","total_distance_origin","duration_destination","duration_origin","feed_status","fleet_size","idle_time_seconds","infringement_duration_hours","regulation_metric_value","count_infringement_unique","vehicle_rotation","count_drop_off","unknown"],"title":"MetricType","description":"## Description of the different metrics\n\nA good description of the different metrics can be found here : [https://help.vianova.io/docs/defining-metrics-and-key-performance-indicators#trip-counts](KB Help center)\n\n- amount_fees_subsidies : the money amount generated by the subsidies in relation to infringements\n- availability : the availability percentage of the devices\n- co2_savings : co2 savings per device (not available in all zones)\n- compliance :\n- count_destination : number of devices going into a specific destination\n- count_infringement : number of infringements\n- count_origin : number of devices leaving from a specific origin\n- count_riding : number of trips\n- distance_destination : distance in m to go to a specific destination\n- total_distance_origin : total distance in m when leaving from a specific origin\n- distance_origin : distance in m when leaving from a specific origin\n- duration_destination : duration in s to go to a specific destination\n- duration_origin : duration in s when leaving from a specific origin\n- feed_status : data feed status information and incidents appearing on feeds\n- fleet_size : number of vehicles in a fleet\n- idle_time_seconds : number of seconds vehicles are not used\n- infringement_duration_hours : infrigement's duration in hours\n- regulation_metric_value :\n- count_infringement_unique :\n- vehicle_rotation :\n- unknown = auto()"},"MetricUnit":{"type":"string","enum":["currency","feed_status","hours","kg_co2","meters","metric_count","ratio","seconds","unknown","vehicles"],"title":"MetricUnit"},"MetricUnitMagnitude":{"properties":{"unit":{"$ref":"#/components/schemas/MetricUnit"},"value":{"anyOf":[{"type":"number"}],"title":"Value"}},"type":"object","required":["unit"],"title":"MetricUnitMagnitude"},"MetricUnits":{"properties":{"numerators":{"anyOf":[{"items":{"$ref":"#/components/schemas/MetricUnitMagnitude"},"type":"array"}],"title":"Numerators","default":[]},"denominators":{"anyOf":[{"items":{"$ref":"#/components/schemas/MetricUnitMagnitude"},"type":"array"}],"title":"Denominators","default":[]}},"type":"object","title":"MetricUnits"},"Notification":{"properties":{"published_time":{"type":"string","format":"date-time","title":"Published Time"},"is_read":{"type":"boolean","title":"Is Read"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"notification_id":{"type":"string","format":"uuid","title":"Notification Id"},"channel":{"$ref":"#/components/schemas/NotificationChannel"},"user":{"type":"string","format":"path","title":"User"},"zone":{"anyOf":[{"type":"string","format":"path"}],"title":"Zone"},"content":{"$ref":"#/components/schemas/NotificationContentSimple"},"assets":{"items":{"$ref":"#/components/schemas/NotificationAsset"},"type":"array","title":"Assets"},"notification_type":{"$ref":"#/components/schemas/GenerateNotificationContentKey"}},"type":"object","required":["published_time","is_read","self_link","kind","notification_id","channel","user","content","assets","notification_type"],"title":"Notification"},"NotificationAsset":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"file_name":{"anyOf":[{"type":"string"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"}],"title":"File Type"}},"type":"object","required":["self_link"],"title":"NotificationAsset"},"NotificationChannel":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"}},"type":"object","required":["self_link"],"title":"NotificationChannel"},"NotificationCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Notification"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"NotificationCollection"},"NotificationContentSimple":{"properties":{"subject":{"type":"string","title":"Subject"},"details":{"type":"string","title":"Details"}},"type":"object","required":["subject","details"],"title":"NotificationContentSimple"},"NotificationPatch":{"properties":{"is_read":{"anyOf":[{"type":"boolean"}],"title":"Is Read"}},"type":"object","title":"NotificationPatch"},"Oauth2Bearer":{"properties":{"method":{"type":"string","enum":["oauth2_bearer"],"const":"oauth2_bearer","title":"Method","default":"oauth2_bearer"},"login_uri":{"type":"string","title":"Login Uri"},"client_secret":{"type":"string","title":"Client Secret"},"client_id":{"type":"string","title":"Client Id"},"scope":{"anyOf":[{"type":"string"}],"title":"Scope"},"full_url":{"type":"boolean","title":"Full Url","default":false}},"additionalProperties":false,"type":"object","required":["login_uri","client_secret","client_id"],"title":"Oauth2Bearer"},"OrderBy":{"properties":{"field":{"anyOf":[{"$ref":"#/components/schemas/FieldSelector"}],"description":"at least one of field or label must be set"},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"at least one of field or label must be set"},"ascending":{"type":"boolean","title":"Ascending","default":false},"nulls_last":{"type":"boolean","title":"Nulls Last","default":false}},"type":"object","title":"OrderBy","description":"The order in which to return the results of a query.\n2 possible ways to order results :\n- field : to order by a field\n- label : to order by a computed or aggregated field (they also need to set up this label)"},"Org":{"properties":{"company_size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"}]},"company_name":{"anyOf":[{"type":"string"}],"title":"Company Name"},"company_industry":{"anyOf":[{"$ref":"#/components/schemas/CompanyIndustry"}]},"country":{"anyOf":[{"$ref":"#/components/schemas/Country"}]},"use_cases":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__models__UseCase"},"type":"array","title":"Use Cases","default":[]},"org_name":{"type":"string","title":"Org Name"},"language":{"allOf":[{"$ref":"#/components/schemas/Language"}],"default":"en"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"org_id":{"type":"integer","minimum":1.0,"title":"Org Id"},"users":{"type":"string","format":"path","title":"Users"},"source_templates":{"type":"string","format":"path","title":"Source Templates"},"feeds":{"type":"string","format":"path","title":"Feeds"},"thumbnail":{"type":"string","format":"path","title":"Thumbnail"},"streams":{"type":"string","format":"path","title":"Streams"},"avatar_initials":{"anyOf":[{"type":"string"}],"title":"Avatar Initials"},"avatar_background_color":{"anyOf":[{"type":"string"}],"title":"Avatar Background Color"},"has_mfa":{"type":"boolean","title":"Has Mfa","default":false},"enforce_mfa":{"type":"boolean","title":"Enforce Mfa","default":false}},"type":"object","required":["org_name","self_link","kind","org_id","users","source_templates","feeds","thumbnail","streams"],"title":"Org"},"OrgAvatarPatch":{"properties":{"avatar_initials":{"anyOf":[{"type":"string","maxLength":3}],"title":"Avatar Initials"},"avatar_background_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}],"title":"Avatar Background Color"}},"type":"object","title":"OrgAvatarPatch"},"OrgCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Org"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"OrgCollection"},"OrgCreate":{"properties":{"company_size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"}]},"company_name":{"anyOf":[{"type":"string"}],"title":"Company Name"},"company_industry":{"anyOf":[{"$ref":"#/components/schemas/CompanyIndustry"}]},"country":{"anyOf":[{"$ref":"#/components/schemas/Country"}]},"use_cases":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__models__UseCase"},"type":"array","title":"Use Cases","default":[]},"org_name":{"type":"string","title":"Org Name"},"language":{"allOf":[{"$ref":"#/components/schemas/Language"}],"default":"en"}},"type":"object","required":["org_name"],"title":"OrgCreate"},"OrgPatch":{"properties":{"whitelabel_url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"}],"title":"Whitelabel Url"},"hubspot_recordid":{"anyOf":[{"type":"string"}],"title":"Hubspot Recordid"},"has_mfa":{"anyOf":[{"type":"boolean"}],"title":"Has Mfa"},"enforce_mfa":{"anyOf":[{"type":"boolean"}],"title":"Enforce Mfa"}},"type":"object","title":"OrgPatch"},"OriginType":{"type":"string","enum":["dashboard","page","project","stream_layer","stream","stream_widget"],"title":"OriginType"},"OverSettings":{"properties":{"partition_by":{"items":{"$ref":"#/components/schemas/FieldSelector"},"type":"array","title":"Partition By","description":"Fields to partition the window over. When empty, the window spans all rows."},"order_by":{"items":{"$ref":"#/components/schemas/OrderBy"},"type":"array","title":"Order By","description":"Fields to order the window over. Required for cumulative window operations."}},"type":"object","title":"OverSettings"},"Page":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"type":{"$ref":"#/components/schemas/PageType"},"page_id":{"type":"string","title":"Page Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"dashboards":{"items":{"$ref":"#/components/schemas/UIDashboard"},"type":"array","title":"Dashboards","default":[]},"elements":{"items":{"$ref":"#/components/schemas/StreamLayer"},"type":"array","title":"Elements","default":[]},"creator":{"$ref":"#/components/schemas/User"},"thumbnail":{"anyOf":[{"type":"string","format":"path"}],"title":"Thumbnail"}},"additionalProperties":true,"type":"object","required":["self_link","kind","type","page_id","created_at","updated_at","creator"],"title":"Page"},"PageCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Page"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"PageCollection"},"PageCreate":{"properties":{"name":{"anyOf":[{"type":"string"}],"title":"Name"},"type":{"$ref":"#/components/schemas/PageType"}},"type":"object","required":["type"],"title":"PageCreate"},"PagePatch":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"PagePatch"},"PageType":{"type":"string","enum":["saved_map","dashboard"],"title":"PageType"},"Parameters":{"properties":{"include_historical_endpoints":{"type":"boolean","title":"Include Historical Endpoints","default":true},"include_realtime_endpoints":{"type":"boolean","title":"Include Realtime Endpoints","default":true}},"type":"object","title":"Parameters"},"PatchFeedFromSourceTemplateRequest":{"properties":{"parameters":{"$ref":"#/components/schemas/Parameters"}},"type":"object","required":["parameters"],"title":"PatchFeedFromSourceTemplateRequest"},"Period":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"label":{"type":"string","title":"Label"},"type":{"$ref":"#/components/schemas/PeriodType"}},"type":"object","required":["start","end","label","type"],"title":"Period"},"PeriodType":{"type":"string","enum":["month","quarter","year"],"title":"PeriodType"},"PermissionGeoFeatures":{"properties":{"allowed_create_geo_feature_tags":{"items":{"type":"string"},"type":"array","uniqueItems":true,"title":"Allowed Create Geo Feature Tags","default":[]}},"type":"object","title":"PermissionGeoFeatures"},"PermissionIncidents":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":true},"allowed_create_incident_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/IncidentType"},"type":"array","uniqueItems":true}],"title":"Allowed Create Incident Types"}},"type":"object","title":"PermissionIncidents"},"PermissionMetrics":{"properties":{"fleet_fraction":{"type":"number","title":"Fleet Fraction","default":1.0},"availability":{"allOf":[{"$ref":"#/components/schemas/PermissionMetricsAvailability"}],"default":{}},"metric_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/MetricType"},"type":"array","uniqueItems":true}],"title":"Metric Types"}},"type":"object","title":"PermissionMetrics"},"PermissionMetricsAvailability":{"properties":{"max_duration_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"Max Duration From Now"},"min_duration_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"Min Duration From Now"}},"type":"object","title":"PermissionMetricsAvailability"},"PermissionNotifications":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","title":"PermissionNotifications"},"PermissionProjects":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false}},"type":"object","title":"PermissionProjects"},"PermissionRegulations":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":true},"regulation_count_cap":{"anyOf":[{"type":"integer"}],"title":"Regulation Count Cap"}},"type":"object","title":"PermissionRegulations"},"PermissionReports":{"properties":{"report_count_cap":{"anyOf":[{"type":"integer"}],"title":"Report Count Cap"},"widget_count_cap":{"anyOf":[{"type":"integer"}],"title":"Widget Count Cap"},"create_report_metrics_permissions":{"anyOf":[{"$ref":"#/components/schemas/PermissionMetrics"}]}},"type":"object","title":"PermissionReports"},"PermissionStreams":{"properties":{"stream_count_cap":{"type":"integer","title":"Stream Count Cap","default":100}},"type":"object","title":"PermissionStreams"},"PresentationChartInput":{"properties":{"image":{"type":"string","minLength":1,"title":"Image"},"stream_widget_id":{"type":"string","title":"Stream Widget Id"},"query_response":{"$ref":"#/components/schemas/QueryResponse"},"query_request":{"$ref":"#/components/schemas/QueryRequest"},"comparison_query_request":{"anyOf":[{"$ref":"#/components/schemas/QueryRequest"}]},"comparison_query_response":{"anyOf":[{"$ref":"#/components/schemas/QueryResponse"}]}},"type":"object","required":["image","stream_widget_id","query_response","query_request"],"title":"PresentationChartInput"},"PresentationCreateRequest":{"properties":{"charts":{"items":{"$ref":"#/components/schemas/PresentationChartInput"},"type":"array","title":"Charts"},"map":{"anyOf":[{"$ref":"#/components/schemas/PresentationMapInput"}]},"dashboard_id":{"type":"string","title":"Dashboard Id"},"with_overview":{"type":"boolean","title":"With Overview","default":false},"with_conclusion":{"type":"boolean","title":"With Conclusion","default":false},"with_ai_analysis":{"type":"boolean","title":"With Ai Analysis","default":true},"zone_id":{"type":"integer","title":"Zone Id"},"language":{"anyOf":[{"type":"string"}],"title":"Language"},"presentation_name":{"anyOf":[{"type":"string"}],"title":"Presentation Name"},"vertical_prompt":{"anyOf":[{"type":"string"}],"title":"Vertical Prompt"},"persona_prompt":{"anyOf":[{"type":"string"}],"title":"Persona Prompt"}},"type":"object","required":["charts","dashboard_id","zone_id"],"title":"PresentationCreateRequest"},"PresentationMapInput":{"properties":{"image":{"type":"string","minLength":1,"title":"Image"},"stream_layer_title":{"anyOf":[{"type":"string"}],"title":"Stream Layer Title"}},"type":"object","required":["image"],"title":"PresentationMapInput"},"PresentationPatch":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"PresentationPatch"},"PresentationResponse":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"presentation_id":{"type":"string","title":"Presentation Id"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"is_ready":{"type":"boolean","title":"Is Ready"}},"additionalProperties":true,"type":"object","required":["self_link","kind","presentation_id","name","created_at","updated_at","is_ready"],"title":"PresentationResponse"},"ProjectCreate":{"properties":{"title":{"type":"string","title":"Title"}},"type":"object","required":["title"],"title":"ProjectCreate"},"ProjectPatch":{"properties":{"title":{"anyOf":[{"type":"string"}],"title":"Title"},"project_sources":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProjectSourcePatch"},"type":"array"}],"title":"Project Sources"}},"type":"object","title":"ProjectPatch"},"ProjectResponse":{"properties":{"title":{"type":"string","title":"Title"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"project_sources":{"items":{"$ref":"#/components/schemas/ProjectSource"},"type":"array","title":"Project Sources","default":[]},"zone":{"type":"string","format":"path","title":"Zone"}},"type":"object","required":["title","self_link","kind","project_id","zone"],"title":"ProjectResponse"},"ProjectResponseCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/ProjectResponse"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ProjectResponseCollection"},"ProjectSource":{"properties":{"project_source_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Project Source Id"},"stream_id":{"anyOf":[{"type":"string","format":"path"}],"title":"Stream Id"},"layers":{"items":{"$ref":"#/components/schemas/StreamLayer"},"type":"array","title":"Layers","default":[]},"tab":{"anyOf":[{"$ref":"#/components/schemas/StreamWidget"}]},"filters":{"items":{"$ref":"#/components/schemas/StreamWidget"},"type":"array","title":"Filters","default":[]},"controllers":{"items":{"$ref":"#/components/schemas/StreamWidget"},"type":"array","title":"Controllers","default":[]}},"type":"object","title":"ProjectSource"},"ProjectSourcePatch":{"properties":{"project_source_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Project Source Id"},"stream_id":{"anyOf":[{"type":"string","format":"path"}],"title":"Stream Id"},"layers":{"anyOf":[{"items":{"type":"string","format":"path"},"type":"array"}],"title":"Layers"},"tab":{"anyOf":[{"type":"string","format":"path"}],"title":"Tab"},"filters":{"anyOf":[{"items":{"type":"string","format":"path"},"type":"array"}],"title":"Filters"},"controllers":{"anyOf":[{"items":{"type":"string","format":"path"},"type":"array"}],"title":"Controllers"}},"type":"object","title":"ProjectSourcePatch"},"Provider":{"properties":{"provider_id":{"type":"integer","minimum":1.0,"title":"Provider Id"},"uuid":{"type":"string","format":"uuid","title":"Uuid"},"name":{"type":"string","title":"Name"},"contact_emails":{"items":{"type":"string"},"type":"array","uniqueItems":true,"title":"Contact Emails","default":[]},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"}},"type":"object","required":["provider_id","uuid","name","self_link","kind"],"title":"Provider"},"ProviderCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Provider"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ProviderCollection"},"PublicationStatus":{"type":"string","enum":["draft","published"],"title":"PublicationStatus"},"QueryExplanationResponse":{"properties":{"explanation":{"type":"string","title":"Explanation"}},"type":"object","required":["explanation"],"title":"QueryExplanationResponse"},"QueryFailureExplanationResponse":{"properties":{"explanation":{"type":"string","title":"Explanation"},"actionable_prompts":{"items":{"$ref":"#/components/schemas/GenAIPrompt"},"type":"array","title":"Actionable Prompts"}},"type":"object","required":["explanation","actionable_prompts"],"title":"QueryFailureExplanationResponse","description":"Response model for query failure explanation."},"QueryLayerOptionsGeofeatureJoinedStream":{"properties":{"geofeature_tag":{"type":"string","title":"Geofeature Tag"},"geofeatures_stream_id":{"anyOf":[{"type":"string"}],"title":"Geofeatures Stream Id"}},"type":"object","required":["geofeature_tag"],"title":"QueryLayerOptionsGeofeatureJoinedStream"},"QueryLayerOptionsJoinedStream":{"properties":{"joined_stream_id":{"type":"string","title":"Joined Stream Id"}},"type":"object","required":["joined_stream_id"],"title":"QueryLayerOptionsJoinedStream"},"QueryLayerOptionsODJoinedStream":{"properties":{"origin_stream_id":{"type":"string","title":"Origin Stream Id"},"destination_stream_id":{"type":"string","title":"Destination Stream Id"}},"type":"object","required":["origin_stream_id","destination_stream_id"],"title":"QueryLayerOptionsODJoinedStream"},"QueryLayerOptionsOperations":{"properties":{"aggregation_operations":{"items":{"$ref":"#/components/schemas/QueryRequestAggregationOperation"},"type":"array","title":"Aggregation Operations","default":[]},"computed_fields":{"items":{"$ref":"#/components/schemas/QueryRequestComputedField"},"type":"array","title":"Computed Fields","default":[]}},"type":"object","title":"QueryLayerOptionsOperations"},"QueryLayerOptionsSnapOptions":{"properties":{"joined_stream":{"anyOf":[{"$ref":"#/components/schemas/QueryLayerOptionsJoinedStream"}]},"geofeature_joined_stream":{"anyOf":[{"$ref":"#/components/schemas/QueryLayerOptionsGeofeatureJoinedStream"}]},"od_joined_streams":{"anyOf":[{"$ref":"#/components/schemas/QueryLayerOptionsODJoinedStream"}]},"h3_level":{"anyOf":[{"type":"integer"}],"title":"H3 Level"},"snapping_distance":{"type":"number","title":"Snapping Distance","description":"The snapping distance to use when snapping the uploaded data to the geofeatures stream, in meters.","default":10}},"type":"object","title":"QueryLayerOptionsSnapOptions"},"QueryRequest":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/FieldSelector"},"type":"array","title":"Fields","description":"Fields to return. It's the raw fields in the stream, with no transformations","default":[]},"aggregation":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestAggregation"}],"description":"The aggregation to be performed. If not supplied, no aggregation will be performed"},"computed_fields":{"items":{"$ref":"#/components/schemas/QueryRequestComputedField"},"type":"array","title":"Computed Fields","description":"The computed fields to be performed. If not supplied, no computed fields will be performed. We compute fields with other fields or values, but it's not an aggregation. The results wont be grouped by these fields","default":[]},"distinct_on":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestDistinctOn"}],"description":"The distinct on to be performed. If not supplied, no distinct on will be performed."},"joins":{"items":{"$ref":"#/components/schemas/Join"},"type":"array","title":"Joins","description":"Joins to apply","default":[]},"where":{"items":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilterOr"},{"$ref":"#/components/schemas/QueryRequestFilterAnd"},{"$ref":"#/components/schemas/QueryRequestFilter"}]},"type":"array","title":"Where","description":"Conditions to filter by","default":[]},"order_by":{"items":{"$ref":"#/components/schemas/OrderBy"},"type":"array","title":"Order By","description":"The order in which the records should be returned","default":[]},"limit":{"type":"integer","minimum":1.0,"title":"Limit","description":"Maximum number of results","default":50000},"sample":{"anyOf":[{"type":"integer"}],"title":"Sample","description":"Sample size to use for the query"},"custom_metrics":{"items":{"$ref":"#/components/schemas/QueryRequestCustomMetric"},"type":"array","title":"Custom Metrics","description":"Custom metrics to be computed. If not supplied, no custom metrics will be computed","default":[]},"pivot_response":{"type":"boolean","title":"Pivot Response","description":"\n        If true, the response will be pivoted. This is useful for pivot queries\n        Example :\n        - bus_stops, car_stops, bike_stops\n        - 1, 2, 3\n        \n        =>\n\n        - stops_type, value:\n        - bus_stops, 1\n        - car_stops, 2\n        - bike_stops, 3\n        ","default":false},"query_hydration":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestHydration"}],"description":"If provided, the query will be hydrated from a template rather than using the other fields"},"hourly_stats_live_preview":{"type":"boolean","title":"Hourly Stats Live Preview","description":"If true AND a geometry within-filter is present, triggers the hourly_stats live preview path (strips joins, overrides date window, returns geometry as WKB column). Clients must opt in explicitly; sending a geometry within-filter alone no longer triggers live preview.","default":false}},"type":"object","title":"QueryRequest","description":"# 1 - How to use it and build a request\n\n## Recipe\nYou can find [here](https://help.vianova.io/recipes/how-to-upload-a-stream-source-and-query-the-data) a recipe with an hello-world example which will : \n\n- Show you how to connect to the API\n- How to use the streams API\n    - Upload an example dataset as a stream\n    - Get the stream definition schema\n- How to (basically) use the Query API on this example dataset\n\n![recipe_screenshot](recipe_screenshot.png)\n\n## Summary\nIt's a request builder to get data from a stream\n\nSupports multiple \"modes\":\n\n- listing all records matching a criteria\n- performing ad-hoc aggregations over records\n- retrieving a distinct_on of records at a specific time, distinct on a set of fields\n\nThis reuses all the principles of a SQL query and can be considered as a (very) simplified layer above the data. A basic understanding of the main SQL principles would be helpful to understand its capacities, especially because we'll use SQL as a guideline to explain the different principles.\n\n## Dataset & queries examples\n\nWith this documentation is also provided a set of examples which contain : \n\n- A raw data example of the stream we are querying\n- A sentence explaining what we're trying to achieve with this query\n- The full payload of the sentence\n- An extract of the response sent by the API : \n    - schema of the columns response\n    - the first row result\n\nYou can find it [HERE](https://vianova.gitlab.io/-/supernova/-/jobs/3127876742/artifacts/preview/4.%20Serve/Hawkeye/Query%20API/3_query_api_examples.html) \n\n## API use - Use stream definition\n\nThe API already provides the stream definition of the columns on different endpoints ( `GET zone/{zone_id}/streams/`, `GET zone/{zone_id}/streams/{stream_id}` ). This stream definition gives us information about data present in the stream : \n\n- the column name\n- the min/max of the column\n- the number of rows\n- the data type\n\nHere is a stream definition example\n```json\n\"stream_fields\": {\n    \"additionalProp1\": {\n      \"index\": \"primary\",\n      \"extents\": {\n        \"min\": 2345,\n        \"max\": 6789\n      },\n      \"count\": 0,\n      \"data_type\": \"number\"\n    },\n    ...\n  },\n```\nWith this stream definition, you have the necessary informations to build a request to answer questions you have on the data.\n\n## API Use - The query request payload explanation\n\nA payload for the query endpoint ( `POST zone/{zone_id}/streams/query` ) is composed like this : \n```json\n{\n  \"fields\": [],\n  \"aggregation\": {\n    \"time\": {\n      \"resolution\": \"minute\",\n      \"field\": \"string\",\n      \"label\": \"string\"\n    },\n    \"operations\": []\n  },\n  \"computed_fields\": [],\n  \"distinct_on\": {\n    \"fields\": [],\n    \"order_by\": [],\n    \"where\": []\n  },\n  \"joins\": [],\n  \"where\": [],\n  \"order_by\": [],\n  \"limit\": 50000,\n  \"sample\": null\n}\n```\nLet's discover what's the use case for each field\n\n### **`fields`**\n\n- It is considered as a simple `select` in SQL to choose the fields to return.\n!!! note\n    - If none of the attributes `fields`, `aggregation` or `computed_fields` are provided in the payload request, it will select all fields in the stream by default\n    - You can assign a \"label\" to the field to rename it in the output\n    - You can also select the fields of a joined stream here\n\n```json\n    {\n        \"fields\": [\n            \"start_name\",\n            \"end_name\",\n            \"geography\",\n        ]\n        ...\n    }\n```\n\n- SQL translation : \n    ```sql \n    select start_name,end_name,geography from stream_records\n    ```\n\n### **`aggregation`**\n\n- It's also a `select` in SQL, but it is used to compute aggregations on 1 specific field : sum of the field, average, count, etc.\n- All operations available : \n    - `count`\n    - `sum`\n    - `average`\n    - `min`\n    - `max`\n    - `any`\n    - `count_distinct`\n    - `time with resolution`: this one is a bit specific\n    !!! note\n        - `count` does not need a `field` key associated with it, it will count all rows\n        - All the other aggregations can be performed on fields which have a `number` type (We obviously can't make an `average` or a `sum` on a `string`)\n        - There's no need to supply another value in the `fields` key, it will be merged as a single `select`\n        - If you want to order by an aggregated_field, you'll have to provide the `label` property that will be used in the `order_by` field\n        - When making an aggregation on a field, it means you automatically group by the other selected fields in the `fields` key. If you want to group by a specific field, you'll have to provide it in the `fields` key. \n        - You can apply a `round` parameter at the aggregation level to round the result of the aggregation to a specific number of decimals\n        - You can assign settings to the `count_distinct` operation, to specify when counting the distinct values, by adding specific query request filter : \n\n        ```json\n            {\n                \"field\": \"id\",\n                \"type\": \"count_distinct\",\n                \"settings\": {\n                \"count_distinct_settings\": {\n                    \"filters\": [\n                    {\n                        \"condition\": \"exists\",\n                        \"field\": \"date\",\n                        \"value\": true\n                    }\n                    ]\n                }\n                }\n            }\n        ```\n\n- It can contain :\n    - A list of operations that will be applied on fields :\n    ```json\n        {\n            \"aggregation\": {\n                \"operations\": [\n                    {\n                        \"field\": \"od_count\",\n                        \"type\": \"sum\"\n                    }\n                ]\n            }\n            ...\n        },\n    ```\n        - SQL translation :\n        ```sql \n        select sum(od_count) from stream_records\n        ```\n\n    - the time/date to group by the values on, with the possibility to change the resolution of the selected field date\n    ```json\n        {\n            \"aggregation\": {\n                \"time\": {\n                    \"resolution\": \"month\",\n                    \"field\": \"OCCURRED_ON_DATE\"\n                },\n                \"operations\": [\n                    {\n                        \"type\": \"count\"\n                    }\n                ]\n            },\n            ...\n        }\n    ```\n    - SQL translation :\n        ```sql \n        select DATE_TRUNC(MONTH,OCCURED_ON_DATE)::TIMESTAMP_NTZ as \"time\" from stream_records\n        ``` \n\n### **`computed_fields`**\n\n- It's also another way of selecting data : `select` in SQL, but it's used to make operations between fields or values. Aggregation functions summarize data across rows, while simple arithmetic operations perform calculations on values within a single row or between specific columns. Aggregation operations result in a single value that represents a summary of a data set, whereas simple operations apply calculations to individual values, producing results for each row. Clear explanation [here](https://chat.openai.com/share/cef52448-8ccf-4d2c-8334-2a3c8dfb663c) : \n- Available operations : \n    - `plus`\n    - `minus`\n    - `multiply`\n    - `divide`\n    - `anonymize` (simple hash)\n    - `distance` (distance between 2 geometries)\n    - `hour_of_day` (extract the hour of the day)\n    - `day_of_week` (extract the day of the week)\n    - `least` (return the smallest value)\n    - `days_between` (return the number of days between 2 dates)\n    - `hours_between` (return the number of hours between 2 dates)\n    - `current_timestamp` (return the current timestamp)\n    - `round` (round a number)\n    - `h3_coverage` (return the h3 coverage of a geometry)\n    - `bucket` (bucketting operation on a specific field)\n    - `centroid` (return the centroid of a geometry)\n    - `date_interval` (operation is used to return the date interval between two dates. First field is the date (a field, plain date, etc..), second field is the number (positive or negative integer), third field is the unit which should be a resolution (day, week, month, year)\n\n!!! note\n    - There's no need to supply another value in the `fields` key, it will be merged as a single `select`\n    - It can be quite powerful because it can be used in a nested way. You can make any nested computations that you want, the parser uses recursivity to interpret correctly the final operation\n    - If you want to order by an aggregated_field, you'll have to provide the `label` property that will be used in the `order_by` field.\n    - You can apply a `round` parameter at the aggregation level to round the result of the aggregation to a specific number of decimals.\n    - You can apply settings to some operations : \n        - `settings` : \n            - `day_of_week` : \n                - `as_number` : If true, will return the day of the week as a number (0 for Monday, 6 for Sunday). If false, will return the day of the week as a string (Monday, Sunday)\n            - `bucket`: \n                - `buckets_number` : The number of buckets you want to create\n                - `bucket_size` : The size of the bucket\n                - `format` : The format of the bucket (lower bound, upper bound, both bounds) = (min, max, min_max)\n                - `min` : The minimum value of the bucket\n                - `max` : The maximum value of the bucket\n            - `over`:\n                - `order_by`: Required for `cumulative_sum`. The running sum is evaluated in this exact window order.\n                - `partition_by`: Optional. Use it to restart the running sum for each provider, district, vehicle type, or other grouping field.\n    - You can also use directly a custom metric inside a computed field\n\n```json\n    {\n        \"computed_fields\": [\n            {\n                \"fields\": [\n                    {\n                        \"fields\" : [\n                            {\n                                \"fields\": [\n                                    \"end_time\",\n                                    \"start_time\"\n                                ],\n                                \"type\": \"minus\"\n                            },\n                            {\n                                \"fields\": [\n                                    10,\n                                    100\n                                ],\n                                \"type\": \"multiply\"\n                            }\n                        ],\n                        \"type\": \"divide\"\n                    },\n                    99\n                ],\n                \"type\": \"plus\",\n                \"label\": \"trip_duration_recomputed\"\n            },\n            ...\n    }\n```\n\n- SQL translation :\n    ```sql \n    select ((end_time - start_time) / (10 * 100)) + 99 as \"trip_duration_recomputed\" from stream_records\n    ```\n\n!!! note\n    - Advanced usage => We can mix computed fields and aggregations together, in the same query, in both aggregation and computed fields. \n    - Example : Computed field inside aggregation : \n    ```json\n        {\n            \"aggregation\": {\n                \"operations\": [\n                    {\n                        \"type\": \"sum\",\n                        \"field\": {\n                            \"type\": \"plus\",\n                            \"fields: [\n                                1,\n                                \"od_count\"\n                            ]\n                        }\n                    }\n                ]\n            }\n            ...\n        },\n    ```\n        - SQL translation : \n        ```sql\n        select sum(od_count + 1) from stream_records\n        ```\n    - Example : Aggregation inside computed field : \n    ```json\n        {\n            \"computed_fields\": [\n                {\n                    \"fields\": [\n                        {\n                            \"fields\": [\n                                \"end_time\",\n                                \"start_time\"\n                            ],\n                            \"type\": \"minus\"\n                        },\n                        {\n                            \"type\": \"sum\",\n                            \"field\": \"od_count\"\n                        }\n                    ],\n                    \"type\": \"divide\"\n                },\n                ...\n            ]\n        }\n    ```\n        - SQL translation : \n        ```sql\n        select (end_time - start_time) / sum(od_count) from stream_records\n        ```\n\n#### `cumulative_sum`\n\nUse `cumulative_sum` in `computed_fields` to return a running sum over one numeric input. The input can be a raw numeric field, an aggregation operation, a custom metric, or a compatible nested computed field. `NULL` input values contribute zero to the running total.\n\nThe operation requires `settings.over.order_by`. Optional `settings.over.partition_by` creates independent running totals per partition. Cumulative sums are computed after filters and grouping, and before the final limit is applied, so `limit` only truncates the rows returned to the client.\n\nExample: cumulative monthly trips from a custom metric.\n\n```json\n{\n  \"aggregation\": {\n    \"time\": {\n      \"resolution\": \"month\",\n      \"field\": \"index\",\n      \"label\": \"month\"\n    }\n  },\n  \"computed_fields\": [\n    {\n      \"type\": {\n        \"metric\": \"total_count_origin\"\n      },\n      \"fields\": [],\n      \"label\": \"total_count_origin\"\n    },\n    {\n      \"type\": \"cumulative_sum\",\n      \"fields\": [\n        {\n          \"type\": {\n            \"metric\": \"total_count_origin\"\n          },\n          \"fields\": []\n        }\n      ],\n      \"label\": \"cumulative_total_count_origin\",\n      \"settings\": {\n        \"over\": {\n          \"order_by\": [\n            {\n              \"label\": \"month\",\n              \"ascending\": true\n            }\n          ]\n        }\n      }\n    }\n  ],\n  \"order_by\": [\n    {\n      \"label\": \"month\",\n      \"ascending\": true,\n      \"nulls_last\": true\n    }\n  ]\n}\n```\n\nExample: restart the same running total for each provider.\n\n```json\n{\n  \"fields\": [\"provider_name\"],\n  \"aggregation\": {\n    \"time\": {\n      \"resolution\": \"month\",\n      \"field\": \"index\",\n      \"label\": \"month\"\n    }\n  },\n  \"computed_fields\": [\n    {\n      \"type\": \"cumulative_sum\",\n      \"fields\": [\n        {\n          \"type\": {\n            \"metric\": \"total_count_origin\"\n          },\n          \"fields\": []\n        }\n      ],\n      \"label\": \"cumulative_total_count_origin\",\n      \"settings\": {\n        \"over\": {\n          \"partition_by\": [\"provider_name\"],\n          \"order_by\": [\n            {\n              \"label\": \"month\",\n              \"ascending\": true\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\n```\n\n### **`where`**\n- Used to filter the rows based on the values of the fields. It's made of one field to compare (multiple operators available) with a value/another field\n- Operations of filtering available : \n    - equals\n    - like\n    - not_equals\n    - not_like\n    - greater_than\n    - greater_than_or_equal\n    - less_than\n    - less_than_or_equal\n    - distance_within\n    - within\n    - contains\n    - in_\n    - exists\n    - includes_all\n    - includes_any\n\n!!! warning\n    - It's mandatory to provide at least one `where` condition with the `stream_primary_key` in it, to filter it\n\n```json\n{\n    \"where\": [\n        {\n            \"field\": \"stream_primary_key\",\n            \"condition\": \"equals\",\n            \"value\": \"1111111-b0ff-4610-986f-bf3a25154971\"\n        },\n        {\n            \"field\": \"time\",\n            \"condition\": \"greater_than\",\n            \"value\": \"2022-03-20\"\n        }\n        {\n            \"field\": \"start_date\",\n            \"condition\": \"equals\",\n            \"value\": {\n                \"source\": \"end_date\"\n            }\n        }\n    ],\n    ...\n}\n```\n\n- SQL Translation\n    ```sql \n    select ...\n    from table stream_records\n    where \n        stream_primary_key = '1111111-b0ff-4610-986f-bf3a25154971' \n        and \n        time > \"2022-03-20\"\n        and\n        start_date = end_date -- check rows where the events happened in the same day, for example\n    ```\n\n- All the conditions are implicitely \"AND\" conditions. You can make explicitely conditions using `or` or `and` keys and mix everything together, unleashing the full power of the SQL language.\n\n```json\n[\n  {\n    \"or\": [\n      {\n        \"and\": [\n          {\n            \"condition\": \"equals\",\n            \"field\": \"province\",\n            \"value\": \"Ontario\"\n          },\n          {\n            \"condition\": \"greater_than\",\n            \"label\": \"sum_cases\",\n            \"value\": 47000\n          }\n        ]\n      },\n      {\n        \"and\": [\n          {\n            \"condition\": \"equals\",\n            \"field\": \"province\",\n            \"value\": \"Quebec\"\n          },\n          {\n            \"condition\": \"greater_than\",\n            \"label\": \"sum_cases\",\n            \"value\": 10000\n          }\n        ]\n      }\n    ]\n  }\n]\n```\n\n- SQL translation\n    ```sql\n    select ...\n    from table stream_records\n    where \n        (province = 'Ontario' and sum_cases > 47000) \n        or \n        (province = 'Quebec' and sum_cases > 10000)\n    ```\n\n- You can also use a computed field as the value of the condition, just to use it in the filtering and not in the output\n\n```json\n{\n    \"where\": [\n        {\n            \"field\": \"number\",\n            \"condition\": \"greater_than\",\n            \"value\": {\n                \"type\": \"plus\",\n                \"fields\": [\n                    \"number\",\n                    10\n                ]\n            }\n        }\n    ],\n    ...\n}\n```\n\n- SQL translation\n    ```sql\n    select ...\n    from table stream_records\n    where \n        number > (number + 10)\n    ```\n\n### **`order_by`**\n\n- The fields to order by the results on. It can be cumulative (order first with the field `x` then `y` then ...)\n- You can also provide *how* to order it : from highest value to lowest (`ascending:false`) or from lowest value to highest  (`ascending:true`)\n\n!!! note\n    You can also indicate if you want null values to come first or last\n\n- You can order by a simple field\n    ```json\n    {\n        \"order_by\": [\n            {\n                \"field\": \"index\",\n                \"ascending\": false\n            }\n        ],\n        ...\n    }\n    ```\n    - SQL translation : \n    ```sql \n    order by index desc \n    ```\n- And you can order by a computed/aggregated field but the fields will need to have a `label` associated with them.\n    ```json\n    {\n        \"order_by\": [\n            {\n                \"label\": \"computed_field\",\n                \"ascending\": false\n            }\n        ],\n        ...\n    }\n    ```\n    - SQL translation : \n    ```sql \n    order by computed_field desc\n    ```\n\n### **`limit`**\n\n- Number of rows maximum that will be returned in the output\n```json\n    {\n        \"limit\": 10,\n        ...\n    }\n```\nSQL translation :\n    ```sql \n    LIMIT 10 \n    ```\n\n### **`sample`**\n\n- Data will be queried on `n` rows chosen randomly in the stream\n- To use with precaution, it will use only a sample of the raw data to make the computation so the query results will only represent a subset of the truth, to use when no need for absolute precision.\n```json\n    {\n        \"sample\": 500\n        ...\n    }\n```\nSQL translation : \n    ```sql \n    FROM table stream_records SAMPLE(500 ROWS)\n    ```\n\n\n### **`distinct_on`**\n\n- You can select some fields to be unique in the output and decide on what criteria the specific row should be chosen by reusing 2 concepts already seen :\n    - `order_by`  \n    - `where`\n- You will : \n    - select the rows in the dataset with unique `field` (the same field won't appear twice)\n    - How to choose the row which should be selected to appear ? the most recent one in the dataset, for example, with the `order_by` clause  \n    - Filter : where the event_type in the row is not removed (`where`).\n!!! note\n    -  Qualify clause explained [here](https://docs.snowflake.com/fr/sql-reference/constructs/qualify.html)\n- Example : Let's say we want the last position where the vehicle was in the fleet timeline, and the vehicle should not be removed (Control screen in Cityscope) : \n```json\n    {\n        \"distinct_on\": {\n            \"fields\": [\n                \"vehicle_id\"\n            ],\n            \"order_by\": [\n                {\n                    \"ascending\": false,\n                    \"field\": \"time\"\n                }\n            ],\n            \"where\": [\n                {\n                    \"condition\": \"not_equals\",\n                    \"field\": \"event_type\",\n                    \"value\": \"removed\"\n                }\n            ]\n        },\n        ...\n    }\n```\n- SQL translation :\n\n```sql\n    QUALIFY\n        ROW_NUMBER() OVER (\n            PARTITION BY\n                vehicle_id\n            ORDER BY\n                time desc\n        ) = 1\n    AND event_type != removed\n```\n\n### **`join`**\n\n- Enables you to join your main source of data with other streams, by joining 2 streams together. \n- You can also filter on values in the dataset to be joined on.\n\n!!! warning\n    - Like in the `where` param, **it's mandatory to set up the `stream_primary_key` of the stream you want to join_on**. \n\n!!! note\n    - You can join as many streams as you want but be careful, the query might be slower to perform\n    - `join_on` is a list of `where` conditions. You'll use these conditions to choose which fields needs to be joined together, and you'll refer to the main stream with the `source` param.\n    - The `label` field will name the second stream, and we'll use it to refer to the field owned by the second stream, like we'll see in the next example\n\n```json\n    {\n        \"joins\": [\n        {\n            \"join_on\": [\n                {\n                    \"field\": \"stream_primary_key\",\n                    \"condition\": \"equals\",\n                    \"value\": \"5eee21fc-aac8-43f3-8ac0-7d2d19b9ccdf\"\n                },\n                {\n                    \"field\": \"name\",\n                    \"condition\": \"equals\",\n                    \"value\": {\n                        \"source\": \"start_name\"\n                    }\n                }\n                {\n                    \"field\": \"tag\",\n                    \"condition\": \"in_\",\n                    \"value\": [\n                        \"district\"\n                    ]\n                }\n            ],\n            \"label\": \"districts\"\n        },\n        ...\n    }\n```\n\n- SQL translation :\n    ```sql\n    ...\n    FROM stream_records\n    INNER JOIN on stream_records as districts\n        ON B.stream_primary_key = \"5eee21fc-aac8-43f3-8ac0-7d2d19b9ccdf\"\n        AND A.start_name = B.name\n        AND B.tag in ('district')\n    ```\n\n- To select a field owned by the second stream as a colum of the output results, you'll have to use a specific syntax by reusing the label set up (You can also reuse this syntax in `order_by`/`where`/`aggregation`/`computed` fields) :\n```json\n{   \n    \"fields\": [\n        \"start_name\",\n        \"end_name\",\n        [\n            \"join\",\n            \"districts\",\n            \"geography\"\n        ],\n    ],\n    ... ,\n    \"order_by\" : [\n        [\n            \"join\",\n            \"districts\",\n            \"name\"\n        ],\n    ]\n}\n```\n\n- SQL translation\n    ```sql\n    SELECT start_name, end_name, districts.geography\n    ...\n    FROM stream_records\n    INNER JOIN on stream_records as districts\n    ...\n    ORDER BY districts.name\n    ```\n\n#### Aggregate joins (grain-aware)\n\nWhen a request combines an `aggregation` with one or more `joins`, the API does **not** join raw records and then aggregate. Instead it follows a grain-aware *aggregate-first* path: each stream computes its own requested metrics at the requested grain (the time bucket plus any shared grouping dimensions), and only the pre-aggregated outputs are joined together.\n\n!!! warning \"Why this matters\"\n    Joining raw records before aggregating multiplies metric inputs whenever the two streams have a different grain. For example, joining hourly fleet stats (one row per geo feature, provider, vehicle type, and hour) to a compliance stream that can only be joined by time creates a many-to-many fan-out inside each hour bucket. Aggregating per stream first keeps each metric at its true value — e.g. fleet size stays ~60k/day instead of being inflated to ~1.7M.\n\nMetric ownership is inferred structurally from the field selectors:\n\n- A field with no `join` prefix belongs to the main stream.\n- A `[\"join\", \"<label>\", \"<field>\"]` selector belongs to that joined stream.\n- A nested computed field inherits the set of owners from its leaf fields.\n\nExample: return daily fleet size from the hourly stats stream alongside unique infringements from a joined compliance stream, over the same day axis.\n\n```json\n{\n  \"aggregation\": {\n    \"time\": { \"resolution\": \"day\", \"field\": \"index\", \"label\": \"time\" },\n    \"operations\": [\n      { \"type\": \"sum\", \"field\": \"fleet_size\", \"label\": \"fleet_size_sum\" },\n      { \"type\": \"sum\", \"field\": [\"join\", \"compliance\", \"unique_infringement_count\"], \"label\": \"unique_infringements\" }\n    ]\n  },\n  \"joins\": [\n    {\n      \"join_on\": [\n        { \"field\": \"stream_primary_key\", \"condition\": \"equals\", \"value\": \"<compliance-stream-key>\" }\n      ],\n      \"label\": \"compliance\"\n    }\n  ],\n  \"where\": [\n    { \"field\": \"stream_primary_key\", \"condition\": \"equals\", \"value\": \"<hourly-stats-stream-key>\" }\n  ],\n  \"order_by\": [ { \"label\": \"time\", \"ascending\": true } ]\n}\n```\n\nStream-local filters (on a raw field owned by one stream) are applied before that stream aggregates; filters on aggregate labels are applied after.\n\n**Cross-stream computed fields.** A computed field may combine aggregates from more than one stream in a single expression — for example a compliance rate `((total_count_origin - sum([\"join\", \"compliance\", \"unique_infringement_count\"])) / total_count_origin) * 100`, where `total_count_origin` is a main-stream metric and the infringement sum is owned by the joined compliance stream. Each single-stream aggregate (\"leaf\") is computed inside its owning stream's aggregate, and the surrounding arithmetic (`plus`, `minus`, `multiply`, `divide`, `round`) is evaluated once over the joined per-stream outputs. A leaf that appears more than once (e.g. the denominator of a rate) is computed only once. Rounding and per-stream arithmetic stay where you wrote them: a `round` inside a single-stream sub-expression is applied in that stream's aggregate, while a `round` on the cross-stream result is applied after the join. Division is not zero-guarded — a zero denominator errors exactly as it does for a single-stream `divide`.\n\n!!! note \"Unsupported combinations return `422`\"\n    The aggregate-first path is deliberately targeted. Combinations it cannot yet evaluate safely are **rejected with a `422`** rather than silently falling back to the raw-join path (which would reproduce the fan-out bug). You will get a `422` when an aggregate join uses:\n\n    - `distinct_on`, `sample`, or `pivot_response`\n    - `flatten` computed fields\n    - window-style metrics (`over`, `ratio_of_total`, `cumulative_sum`)\n    - geometry / H3 join behavior\n    - a cross-stream computed field whose terms are not all single-stream aggregates — every cross-stream term must reduce to a single-stream aggregate that can be computed before the final join (a raw cross-stream comparison, or a window-style metric spanning streams, is rejected)\n    - a grouping dimension that is not available on the joined stream's aggregate output\n    - `where` filters with mixed `OR` branches that cannot be split cleanly per stream, or that compare fields across streams\n    - ordering by raw fields, or `source`-based `join_on` / `where` predicates\n\n    The error message tells you which option to remove, or you can query the streams separately.\n\nSingle-stream queries and non-aggregate (raw) joins are unaffected and keep using the existing join behavior described above.\n\n### **`custom_metrics`**\n\n- When using hourly_stats data, you need to use the `custom_metrics` parameter to specify which metrics you want to use.\n- The metrics need to be defined in the query request, like in the example below.\n\n```json\n    {\n        \"custom_metrics\": [\n            {\n                \"metric\": \"fleet_size\",\n                \"label\": \"fleet_size\",\n            }\n        ]\n    }\n```\n\nHere are the metrics you can use : \n\n- count_origin => Number of trips originating from the zone\n- distance_origin => Total distance of trips originating from the zone\n- duration_origin => Total duration of trips originating from the zone\n- fleet_size => Number of devices in the zone\n\n### **`aggregation inside computed fields`**\n\nYou can include aggregations operation inside computed fields operation. \n\nSo instead of doing this, that will return multiple columns: \n```json\n    \"aggregation\": {\n        \"operations\": [\n            {\n                \"type\": \"count\",\n                \"label\": \"event_count\",\n            },\n            {\n                \"type\": \"count_distinct\",\n                \"field\": \"DRIVER_ID\",\n                \"label\": \"unique_drivers\",\n            }\n        ]\n    },\n    \"computed_fields\": [\n        {\n            \"label\": \"events_per_driver\",\n            \"type\": \"divide\",\n            \"fields\": [\n                {\n                    \"label\": \"event_count\"\n                },\n                {\n                    \"label\": \"unique_drivers\",\n                }\n            ],\n        },\n    ],\n```\n\nYou can do this instead, that will return a single column : \n```json\n    \"computed_fields\": [\n        {\n            \"label\": \"events_per_driver\",\n            \"type\": \"divide\",\n            \"fields\": [\n                {\n                    \"type\": \"count\",\n                    \"label\": \"event_count\",\n                },\n                {\n                    \"type\": \"count_distinct\",\n                    \"field\": \"DRIVER_ID\",\n                    \"label\": \"unique_drivers\",\n                }\n            ],\n        },\n    ],\n```\n\n### **`pivot_response`**\n\n#### Purpose\nTransforms wide-format data into long format, useful when categories are column names instead of values.\n\n#### Usage\nAdd `pivot_response: true` when your data has different types/categories as column names:\n\nBefore pivot (wide format):\n```\ndate        | car_count | bus_count | bike_count\n2024-01-01  | 10        | 20        | 30\n```\n\nAfter pivot (long format):\n```\ndate        | name      | value\n2024-01-01  | car_count | 10\n2024-01-01  | bus_count | 20\n2024-01-01  | bike_count | 30\n```\n\n#### When to Use\n- YES: When types/categories are column names (car_count, bus_count, bike_count)\n- NO: When types/categories are already values in a column (vehicle_type = 'car', 'bus', 'bike')"},"QueryRequestAggregation":{"properties":{"time":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestAggregationResolutionTime"}],"description":"Defaults to no time aggregation"},"operations":{"items":{"$ref":"#/components/schemas/QueryRequestAggregationOperation"},"type":"array","title":"Operations","description":"aggregation operations to perform over the bucketing scheme. Defaults to returning no aggregations statistics over the dimensions","default":[]}},"type":"object","title":"QueryRequestAggregation"},"QueryRequestAggregationOperation":{"properties":{"type":{"$ref":"#/components/schemas/QueryRequestAggregationOperationType"},"field":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedField"},{"$ref":"#/components/schemas/FieldSelector"}],"title":"Field","description":"required if type is not `count`"},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"The label for the aggregation"},"round":{"anyOf":[{"type":"integer"}],"title":"Round","description":"\n        The number of decimal places to round to. Defaults to 2.\n        Examples: \n        - 2.1234 with round=2 will be 2.12\n        - 2.1234 with round=1 will be 2.1\n        - 2.1234 with round=0 will be 2\n        - 11 with round=-1 will be 10\n        - 16 with round=-1 will be 20\n        "},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label","description":"The label of the units of the field. Used to display the units of the field in the front-end."},"settings":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestAggregationOperationSettings"}],"description":"Settings for the aggregation operations."}},"type":"object","required":["type"],"title":"QueryRequestAggregationOperation"},"QueryRequestAggregationOperationCountDistinctSettings":{"properties":{"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array"}],"title":"Filters","description":"The conditions to apply to the field when counting distinct values."}},"type":"object","title":"QueryRequestAggregationOperationCountDistinctSettings"},"QueryRequestAggregationOperationSettings":{"properties":{"count_distinct_settings":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestAggregationOperationCountDistinctSettings"}],"description":"Settings for the count_distinct, count, and sum operation."}},"type":"object","title":"QueryRequestAggregationOperationSettings"},"QueryRequestAggregationOperationType":{"type":"string","enum":["sum","count","average","min","max","any","count_distinct"],"title":"QueryRequestAggregationOperationType"},"QueryRequestAggregationResolution":{"type":"string","enum":["second","minute","hour","day","week","month","year"],"title":"QueryRequestAggregationResolution"},"QueryRequestAggregationResolutionTime":{"properties":{"resolution":{"$ref":"#/components/schemas/QueryRequestAggregationResolution"},"field":{"$ref":"#/components/schemas/FieldSelector"},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"The label for the aggregation"},"settings":{"allOf":[{"$ref":"#/components/schemas/QueryRequestAggregationTimeSettings"}],"description":"Settings for the time aggregation"}},"type":"object","required":["resolution","field"],"title":"QueryRequestAggregationResolutionTime"},"QueryRequestAggregationTimeSettings":{"properties":{"format_date_using_resolution":{"anyOf":[{"type":"boolean"}],"title":"Format Date Using Resolution","description":"If true, the date will be formatted using the resolution. \n        For example: \n            if the resolution is 'day', the date will be formatted as 'YYYY-MM-DD'.\",\n            if the resolution is 'month', the date will be formatted as '2021-05'.\n            if the resolution is 'year', the date will be formatted as '2021'.\n        No formatting will be applied if the resolution is 'second', 'minute' or 'hour'.\n        ","default":false}},"type":"object","title":"QueryRequestAggregationTimeSettings"},"QueryRequestComputedField":{"properties":{"label":{"anyOf":[{"type":"string"}],"title":"Label"},"type":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedFieldOperationType"},{"$ref":"#/components/schemas/QueryRequestCustomMetric"}],"title":"Type"},"settings":{"allOf":[{"$ref":"#/components/schemas/QueryRequestComputedFieldsSettings"}],"description":"Settings for the computed field."},"fields":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedField"},{"$ref":"#/components/schemas/QueryRequestAggregationOperation"},{"$ref":"#/components/schemas/GeometryElementDistance"},{"$ref":"#/components/schemas/QueryRequestReference"},{"$ref":"#/components/schemas/Source"},{"$ref":"#/components/schemas/LabelSelector"},{"type":"number"},{"type":"string","format":"date-time"},{"$ref":"#/components/schemas/QueryRequestAggregationResolution"},{"$ref":"#/components/schemas/FieldSelector"}]},"type":"array"}],"title":"Fields"},"round":{"anyOf":[{"type":"integer"}],"title":"Round","description":"\n        The number of decimal places to round to. Defaults to 2.\n        Examples: \n        - 2.1234 with round=2 will be 2.12\n        - 2.1234 with round=1 will be 2.1\n        - 2.1234 with round=0 will be 2\n        - 11 with round=-1 will be 10\n        - 16 with round=-1 will be 20\n        "},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label","description":"The label of the units of the field. Used to display the units of the field in the front-end."}},"type":"object","required":["type"],"title":"QueryRequestComputedField"},"QueryRequestComputedFieldOperationType":{"type":"string","enum":["anonymize","plus","minus","multiply","divide","distance","hour_of_day","day_of_week","least","days_between","hours_between","current_timestamp","round","h3_coverage","bucket","centroid","date_interval","flatten","date_truncate","over","ratio_of_total","cumulative_sum"],"title":"QueryRequestComputedFieldOperationType","description":"The type of operation to perform on the computed field.\n\nThe `anonymize` operation is used to anonymize the field.\nThe `plus`, `minus`, `multiply`, `divide` operations are used to perform arithmetic operations on the field.\nThe `distance` operation is used to calculate the distance between two points.\nThe `hour_of_day` operation is used to extract the hour of the day from a timestamp.\nThe `day_of_week` operation is used to extract the day of the week from a timestamp.\nThe `day_of_week` operation will return a number between 0 and 6, where 0 is Sunday and 6 is Saturday.\nThe `least` operation is used to return the smallest value of the two fields.\nThe `days_between` operation is used to return the number of days between two dates.\nThe `hours_between` operation is used to return the number of hours between two dates.\nThe `current_timestamp` operation is used to return the current timestamp.\nThe `round` operation is used to round a number to a specified number of decimal places.\nThe `h3_coverage` operation is used to return the h3 coverage of a geometry.\nThe `date_interval` operation is used to return the date interval between two dates. First field is the date (a field, plain date, etc..), second field is the number (positive or negative integer), third field is the unit which should be a resolution (day, week, month, year).\nThe `flatten` operation is used to flatten a list of values into a single string.\nThe `over` operation wraps an aggregation in a window function (`AGG(x) OVER(...)`), with optional `partition_by` fields, so a global or partitioned total can be referenced alongside per-group aggregations.\nThe `ratio_of_total` operation computes the percentage of a per-group aggregation relative to the global (or partitioned) total: `(AGG(x) / NULLIF(SUM(AGG(x)) OVER(...), 0))::float * 100`. Returns NULL when the total is zero.\nThe `cumulative_sum` operation computes a running sum over a numeric field using explicit window ordering."},"QueryRequestComputedFieldsBucketFormatSettings":{"type":"string","enum":["min","max","min_max"],"title":"QueryRequestComputedFieldsBucketFormatSettings"},"QueryRequestComputedFieldsBucketSettings":{"properties":{"buckets_number":{"anyOf":[{"type":"integer"}],"title":"Buckets Number","description":"The number of buckets to create when using a bucketed aggregation. Either this or `bucket_size` must be set."},"bucket_size":{"anyOf":[{"type":"integer"}],"title":"Bucket Size","description":"The size of the buckets to create when using a bucketed aggregation. Either this or `buckets_number` must be set."},"format":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedFieldsBucketFormatSettings"}],"description":"The format of the bucketed aggregation.","default":"min_max"},"min":{"anyOf":[{"type":"integer"}],"title":"Min","description":"The minimum value of the buckets when using a bucketed aggregation."},"max":{"anyOf":[{"type":"integer"}],"title":"Max","description":"The maximum value of the buckets when using a bucketed aggregation."}},"type":"object","title":"QueryRequestComputedFieldsBucketSettings"},"QueryRequestComputedFieldsDayOfWeekSettings":{"properties":{"as_number":{"anyOf":[{"type":"boolean"}],"title":"As Number","description":"Whether to return the day of the week as a number (0 to 6) or as a string (Sunday to Saturday).","default":true},"include_day_number":{"anyOf":[{"type":"boolean"}],"title":"Include Day Number","description":"When as_number=False, whether to include the day number in the string output (e.g. '1 - Monday' instead of 'Monday') to help with ordering.","default":false},"start_on_monday":{"anyOf":[{"type":"boolean"}],"title":"Start On Monday","description":"Whether to start the week on Monday or Sunday.","default":true}},"type":"object","title":"QueryRequestComputedFieldsDayOfWeekSettings"},"QueryRequestComputedFieldsSettings":{"properties":{"day_of_week":{"allOf":[{"$ref":"#/components/schemas/QueryRequestComputedFieldsDayOfWeekSettings"}],"description":"Settings for the day_of_week operation."},"bucket":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedFieldsBucketSettings"}],"description":"Settings for the bucketed aggregation."},"over":{"allOf":[{"$ref":"#/components/schemas/OverSettings"}],"description":"Settings for the `over` and `ratio_of_total` operations."}},"type":"object","title":"QueryRequestComputedFieldsSettings"},"QueryRequestCustomMetric":{"properties":{"metric":{"$ref":"#/components/schemas/CustomMetricType"},"label":{"anyOf":[{"type":"string"}],"title":"Label"},"round":{"anyOf":[{"type":"integer"}],"title":"Round"},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label"}},"type":"object","required":["metric"],"title":"QueryRequestCustomMetric"},"QueryRequestDistinctOn":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/FieldSelector"},"type":"array","title":"Fields","description":"The fields to be unique on","default":[]},"order_by":{"items":{"$ref":"#/components/schemas/OrderBy"},"type":"array","title":"Order By","description":"The fields to order by","default":[]},"where":{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array","title":"Where","description":"The where to apply after distinctifying","default":[]}},"type":"object","title":"QueryRequestDistinctOn"},"QueryRequestFilter":{"properties":{"field":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedField"},{"$ref":"#/components/schemas/FieldSelector"}],"title":"Field","description":"one of field or label must be set"},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"one of field or label must be set"},"condition":{"allOf":[{"$ref":"#/components/schemas/QueryRequestFilterCondition"}],"description":"condition to apply on the filter"},"value":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestComputedField"},{"$ref":"#/components/schemas/Source"},{"$ref":"#/components/schemas/GeometryElementDistance"},{"items":{"type":"string"},"type":"array"},{"type":"string"},{},{"type":"number"}],"title":"Value","description":"The value to be compared with the field can be : a value, another field (=source), geometry elements in some cases"}},"type":"object","required":["condition","value"],"title":"QueryRequestFilter"},"QueryRequestFilterAnd":{"properties":{"and":{"items":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/QueryRequestFilterOr"},{"$ref":"#/components/schemas/QueryRequestFilterAnd"}]},"type":"array","title":"And","description":"The list of filters to be applied with an AND operator"}},"type":"object","required":["and"],"title":"QueryRequestFilterAnd"},"QueryRequestFilterCondition":{"type":"string","enum":["equals","like","not_equals","not_like","greater_than","greater_than_or_equal","less_than","less_than_or_equal","distance_within","within","contains","in_","not_in_","exists","includes_all","includes_any"],"title":"QueryRequestFilterCondition","description":"The operator to use when comparing the value of a field with a value."},"QueryRequestFilterOr":{"properties":{"or":{"items":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/QueryRequestFilterOr"},{"$ref":"#/components/schemas/QueryRequestFilterAnd"}]},"type":"array","title":"Or","description":"The list of filters to be applied with an OR operator"}},"type":"object","required":["or"],"title":"QueryRequestFilterOr"},"QueryRequestGenAI":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"query_request_gen_ai_id":{"type":"string","format":"uuid","title":"Query Request Gen Ai Id"},"zone":{"$ref":"#/components/schemas/Zone"},"creator":{"$ref":"#/components/schemas/User"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"success":{"type":"boolean","title":"Success"},"is_query_generated":{"type":"boolean","title":"Is Query Generated"},"has_query_execution_run":{"type":"boolean","title":"Has Query Execution Run"},"widget_created":{"type":"boolean","title":"Widget Created"},"widget_created_id":{"anyOf":[{"type":"string"}],"title":"Widget Created Id"},"definition":{"$ref":"#/components/schemas/QueryRequestGenAIDefinition"}},"additionalProperties":true,"type":"object","required":["self_link","kind","query_request_gen_ai_id","zone","creator","created_at","success","is_query_generated","has_query_execution_run","widget_created","definition"],"title":"QueryRequestGenAI"},"QueryRequestGenAICollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/QueryRequestGenAI"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"QueryRequestGenAICollection"},"QueryRequestGenAIDefinition":{"properties":{"gen_ai_prompt":{"$ref":"#/components/schemas/GenAIPrompt"},"claude_output":{"anyOf":[{"type":"string"}],"title":"Claude Output"},"claude_output_query_failed":{"anyOf":[{"type":"object"}],"title":"Claude Output Query Failed"},"gen_ai_explanation":{"anyOf":[{"type":"string"}],"title":"Gen Ai Explanation"},"gen_ai_failure_explanation":{"anyOf":[{"type":"string"}],"title":"Gen Ai Failure Explanation"},"output":{"anyOf":[{"$ref":"#/components/schemas/QueryRequest"}]},"status":{"allOf":[{"$ref":"#/components/schemas/QueryRequestGenAIStatus"}],"default":"prompt_building_failed"},"is_query_generated":{"type":"boolean","title":"Is Query Generated","default":false},"has_query_execution_run":{"type":"boolean","title":"Has Query Execution Run","default":false},"widget_created":{"type":"boolean","title":"Widget Created","default":false},"widget_created_id":{"anyOf":[{"type":"string"}],"title":"Widget Created Id"}},"type":"object","required":["gen_ai_prompt"],"title":"QueryRequestGenAIDefinition"},"QueryRequestGenAIResponse":{"properties":{"query_request":{"$ref":"#/components/schemas/QueryRequest"},"query_request_gen_ai":{"$ref":"#/components/schemas/QueryRequestGenAI"}},"type":"object","required":["query_request","query_request_gen_ai"],"title":"QueryRequestGenAIResponse"},"QueryRequestGenAIStatus":{"type":"string","enum":["prompt_building_failed","anthropic_outage","generation_format_message_failed","query_request_validation_failed","success","scope_rate_limit_exceeded","query_execution_failed"],"title":"QueryRequestGenAIStatus"},"QueryRequestHydration":{"properties":{"template_key":{"type":"string","title":"Template Key","description":"Key of the query template to use (e.g., 'total_trips_per_district')"},"main_stream_id":{"type":"string","format":"uuid","title":"Main Stream Id","description":"The main stream ID to replace <MAIN_STREAM_ID> in the template"},"joined_stream_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Joined Stream Id","description":"Optional joined stream ID to replace <JOINED_STREAM_ID> in the template"},"additional_filters":{"items":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilterOr"},{"$ref":"#/components/schemas/QueryRequestFilterAnd"},{"$ref":"#/components/schemas/QueryRequestFilter"}]},"type":"array","title":"Additional Filters","description":"Additional filters to combine with the template's filters","default":[]}},"type":"object","required":["template_key","main_stream_id"],"title":"QueryRequestHydration","description":"Contains template key and stream IDs for hydrating a QueryRequest from a template.\nWhen this is present, the QueryRequest is built from the template rather than\nbeing stored directly in the database."},"QueryRequestReference":{"properties":{"reference":{"$ref":"#/components/schemas/QueryRequestReferenceFilter"}},"type":"object","required":["reference"],"title":"QueryRequestReference","description":"Used to reference another value defined in the query request"},"QueryRequestReferenceFilter":{"properties":{"filter":{"$ref":"#/components/schemas/QueryRequestReferenceFilterFilter"}},"type":"object","required":["filter"],"title":"QueryRequestReferenceFilter"},"QueryRequestReferenceFilterFilter":{"properties":{"field":{"$ref":"#/components/schemas/FieldSelector"},"conditions":{"items":{"$ref":"#/components/schemas/QueryRequestFilterCondition"},"type":"array","title":"Conditions"}},"type":"object","required":["field","conditions"],"title":"QueryRequestReferenceFilterFilter"},"QueryResponse":{"properties":{"response_schema":{"$ref":"#/components/schemas/QueryResponseSchema"},"data":{"items":{"items":{},"type":"array"},"type":"array","title":"Data","description":"\n    A list of rows, where each row is a list of values, in the same order as the columns\n    expressed in `response_schema`."},"applied_default_time_bounds":{"anyOf":[{"type":"object"}],"title":"Applied Default Time Bounds","description":"If default time bounds were applied, contains start_date, max_date, and window_days."}},"type":"object","required":["response_schema","data"],"title":"QueryResponse","description":"# 2 - Query response\n\nThe response from the Streams Query API.\n\nThe response contains the results of the query, and the schema of the results.\n\n## Dataset & queries examples\n\nWith this documentation is also provided a set of examples which contain : \n\n- A raw example of the stream we are querying\n- A sentence explaining what we're trying to achieve with this query\n- The full payload of the sentence\n- An extract of the response sent by the API : \n    - schema of the columns response\n    - the first row result\n\nYou can find it [HERE](https://vianova.gitlab.io/-/supernova/-/jobs/3127876742/artifacts/preview/4.%20Serve/Hawkeye/Query%20API/3_query_api_examples.html)\n\n## API Usage\n\nOnce your query is executed, you will receive an output composed like this : \n```json\n{\n  \"response_schema\": {\n    \"columns\": [\n      {\n        \"column_name\": \"string\",\n        \"data_type\": \"datetime\",\n        \"encoding\": \"wkb\",\n        \"units\": \"km\",\n        \"units_label\": \"Kilometers\"\n      }\n    ]\n  },\n  \"data\": [\n    [\n      \"string\"\n    ]\n  ]\n}\n```\n\nIt contains :\n\n- A response schema : \n    - It's the description of the different columns that are returned. It contains : \n        - the column name\n        - the data type\n        - the encoding (only if the data_type is \"geography\")\n        - the units\n        - the units label\n- Data :\n    - A list of rows, where each row is a list of values, in the same order as the columns expressed in `response_schema`\n\nFor example : \n```json\n{\n  \"response_schema\": {\n    \"columns\": [\n      {\n        \"column_name\": \"first_name\",\n        \"data_type\": \"string\",\n      },\n     {\n        \"column_name\": \"older_than_25\",\n        \"data_type\": \"bool\",\n      }\n    ]\n  },\n  \"data\": [\n    [\n      \"Jimmy\", true\n    ],\n    [\n      \"Florent\", false\n    ],\n  ]\n}\n```"},"QueryResponseEncoding":{"type":"string","enum":["wkb","h3","geojson"],"title":"QueryResponseEncoding","description":"The encoding of a particular field in the query response.\n\n- wkb: Well-Known Binary (WKB) for geography types\n- h3: H3 for geography types\n- geojson: GeoJson for geography types"},"QueryResponseSchema":{"properties":{"columns":{"items":{"$ref":"#/components/schemas/QueryResponseSchemaColumn"},"type":"array","title":"Columns"}},"type":"object","required":["columns"],"title":"QueryResponseSchema","description":"The schema of a query response."},"QueryResponseSchemaColumn":{"properties":{"column_name":{"type":"string","title":"Column Name","description":"The name of the column."},"data_type":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDataType"}],"description":"The data type of the column."},"encoding":{"anyOf":[{"$ref":"#/components/schemas/QueryResponseEncoding"}],"description":"The encoding of the column."},"units":{"anyOf":[{"$ref":"#/components/schemas/MetricUnits"}],"description":"The units of the column."},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label","description":"The label of the units of the column."}},"type":"object","required":["column_name"],"title":"QueryResponseSchemaColumn","description":"A column in the schema of a query response."},"RamEnum":{"type":"integer","enum":[1024,256],"title":"RamEnum"},"RankOptions":{"properties":{"add_go_to_target_in_widget":{"type":"boolean","title":"Add Go To Target In Widget","default":true}},"type":"object","title":"RankOptions"},"RateRecurrence":{"type":"string","enum":["each_time_unit","once","per_complete_time_unit"],"title":"RateRecurrence"},"Reason":{"type":"string","enum":["unknown","GeoJsonFormatError","SHPFormatError","CSVFormatError","ParquetFormatError","CSVSeparatorError","CSVNoHeadersError","ColumnsNoGeometryError","ColumnGeometryFormatError","ColumnCoordinatesFormatError","CoordinateSystemError","ColumnH3FormatError","ColumnHeadersDuplicatedError","RecordCapExceeded","GeoJsonPropertyGeometryDuplicatedError","NotSameColumnsError","DataAlreadyExistsError","Timeout","SnappingNoGeofeaturesStreamError","SnappingTagNotInGeofeaturesStreamError","SnappingStreamNotFoundError","SnappingStreamHasNoNameColumnError","NoDestinationError"],"title":"Reason"},"Regulation":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"event":{"anyOf":[{"$ref":"#/components/schemas/Subfleet"}],"description":"\nThis parameter allows filtering by both `device_states` and `event_types`.\nThus, to choose only `low_battery` events to regulate, then you can simply \nadd this event-type to `event.event_types`.\n    "},"metric":{"anyOf":[{"$ref":"#/components/schemas/RegulationMetric"}]},"enforcement_type":{"allOf":[{"$ref":"#/components/schemas/RegulationEnforcementType"}],"default":"enforced"},"publication_status":{"allOf":[{"$ref":"#/components/schemas/PublicationStatus"}],"default":"published"},"is_private":{"type":"boolean","title":"Is Private","default":false},"fees_subsidies":{"anyOf":[{"$ref":"#/components/schemas/FeesSubsidies"}]},"regulation_type":{"$ref":"#/components/schemas/RegulationType"},"regulation_group_id":{"type":"integer","title":"Regulation Group Id"},"author":{"anyOf":[{"type":"string","format":"path"}],"title":"Author"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"creation_time":{"type":"string","format":"date-time","title":"Creation Time"},"published_time":{"type":"string","format":"date-time","title":"Published Time"},"regulation_id":{"type":"integer","minimum":1.0,"title":"Regulation Id"},"uuid":{"type":"string","format":"uuid","title":"Uuid"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}],"description":"The geometry of the regulation, without the buffer applied"},"wkb":{"anyOf":[{"type":"string"}],"title":"Wkb"},"zone":{"type":"string","format":"path","title":"Zone"},"zone_link":{"type":"string","format":"path","title":"Zone Link"},"org_name":{"anyOf":[{"type":"string"}],"title":"Org Name"},"previous_version":{"anyOf":[{"type":"string","format":"path"}],"title":"Previous Version"},"regulation_group_link":{"type":"string","format":"path","title":"Regulation Group Link"},"regulation_mono_id":{"type":"string","format":"uuid","title":"Regulation Mono Id"}},"type":"object","required":["name","regulation_type","regulation_group_id","self_link","kind","creation_time","published_time","regulation_id","uuid","zone","zone_link","regulation_group_link","regulation_mono_id"],"title":"Regulation"},"RegulationCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Regulation"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"RegulationCollection"},"RegulationCreate":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"event":{"anyOf":[{"$ref":"#/components/schemas/Subfleet"}],"description":"\nThis parameter allows filtering by both `device_states` and `event_types`.\nThus, to choose only `low_battery` events to regulate, then you can simply \nadd this event-type to `event.event_types`.\n    "},"metric":{"anyOf":[{"$ref":"#/components/schemas/RegulationMetric"}]},"enforcement_type":{"allOf":[{"$ref":"#/components/schemas/RegulationEnforcementType"}],"default":"enforced"},"publication_status":{"allOf":[{"$ref":"#/components/schemas/PublicationStatus"}],"default":"published"},"is_private":{"type":"boolean","title":"Is Private","default":false},"fees_subsidies":{"anyOf":[{"$ref":"#/components/schemas/FeesSubsidies"}]},"regulation_type":{"$ref":"#/components/schemas/RegulationType"},"regulation_group_id":{"type":"integer","title":"Regulation Group Id"}},"type":"object","required":["name","regulation_type","regulation_group_id"],"title":"RegulationCreate"},"RegulationEnforcementType":{"type":"string","enum":["enforced","recommended"],"title":"RegulationEnforcementType"},"RegulationGroup":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"pattern":"^(.*)$","example":["ABC123"]}],"title":"Name"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"regulation_group_id":{"type":"integer","minimum":1.0,"title":"Regulation Group Id"},"regulation_group_uuid":{"type":"string","format":"uuid","title":"Regulation Group Uuid"},"regulation_group_version_uuid":{"type":"string","format":"uuid","title":"Regulation Group Version Uuid"},"regulation_ids":{"items":{"type":"integer"},"type":"array","title":"Regulation Ids"},"history":{"type":"object","title":"History"},"is_private":{"type":"boolean","title":"Is Private"},"is_deletable":{"type":"boolean","title":"Is Deletable"},"is_disabled":{"type":"boolean","title":"Is Disabled"},"is_shared":{"type":"boolean","title":"Is Shared"}},"type":"object","required":["self_link","kind","regulation_group_id","regulation_group_uuid","regulation_group_version_uuid","regulation_ids","history","is_private","is_deletable","is_disabled","is_shared"],"title":"RegulationGroup"},"RegulationGroupBase":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"pattern":"^(.*)$","example":["ABC123"]}],"title":"Name"}},"type":"object","title":"RegulationGroupBase"},"RegulationGroupCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/RegulationGroup"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"RegulationGroupCollection"},"RegulationGroupPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"pattern":"^(.*)$","example":["ABC123"]}],"title":"Name"},"regulation_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"}],"title":"Regulation Ids"}},"type":"object","title":"RegulationGroupPatch"},"RegulationLog":{"properties":{"log_id":{"type":"string","format":"uuid","title":"Log Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"method":{"$ref":"#/components/schemas/AuditLogMethod"},"event_kwargs":{"type":"object","title":"Event Kwargs"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"regulation_id":{"anyOf":[{"type":"integer"},{"type":"string","format":"uuid"}],"title":"Regulation Id"}},"type":"object","required":["log_id","user_id","method","event_kwargs","timestamp","regulation_id"],"title":"RegulationLog"},"RegulationLogResponse":{"properties":{"logs":{"items":{"$ref":"#/components/schemas/RegulationLog"},"type":"array","title":"Logs"}},"type":"object","required":["logs"],"title":"RegulationLogResponse"},"RegulationMetric":{"properties":{"metric_definition":{"$ref":"#/components/schemas/MetricDefinition"},"min_value":{"anyOf":[{"type":"number"}],"title":"Min Value"},"max_value":{"anyOf":[{"type":"number"}],"title":"Max Value"}},"type":"object","required":["metric_definition"],"title":"RegulationMetric"},"RegulationPatch":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"pattern":"^(.*)$","example":["ABC123"]}],"title":"Name"},"event":{"anyOf":[{"$ref":"#/components/schemas/Subfleet"}],"description":"\nThis parameter allows filtering by both `device_states` and `event_types`.\nThus, to choose only `low_battery` events to regulate, then you can simply \nadd this event-type to `event.event_types`.\n    "},"metric":{"anyOf":[{"$ref":"#/components/schemas/RegulationMetric"}]},"enforcement_type":{"anyOf":[{"$ref":"#/components/schemas/RegulationEnforcementType"}]},"publication_status":{"anyOf":[{"$ref":"#/components/schemas/PublicationStatus"}]},"is_private":{"anyOf":[{"type":"boolean"}],"title":"Is Private"},"fees_subsidies":{"anyOf":[{"$ref":"#/components/schemas/FeesSubsidies"}]},"disable":{"anyOf":[{"type":"boolean"}],"title":"Disable"}},"type":"object","title":"RegulationPatch"},"RegulationType":{"type":"string","enum":["cap","cap_and_floor","custom","fees_subsidies","floor","low_speed","max_parked","max_unavailable","no_go","no_parking","parking","operator_no_deployment","operator_unregistered_devices"],"title":"RegulationType"},"RegulationVersionEnum":{"type":"string","enum":["latest","all"],"title":"RegulationVersionEnum"},"Report":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"title":{"type":"string","minLength":0,"title":"Title","strip_whitespace":1},"definition":{"$ref":"#/components/schemas/ReportDefinition"},"author":{"type":"string","format":"path","title":"Author"},"updated_time":{"type":"string","format":"date-time","title":"Updated Time"},"published_time":{"type":"string","format":"date-time","title":"Published Time"},"report_id":{"type":"string","format":"uuid","title":"Report Id"},"alerts":{"type":"string","format":"path","title":"Alerts"},"zone_link":{"type":"string","format":"path","title":"Zone Link"},"report_type":{"anyOf":[{"$ref":"#/components/schemas/ReportType"}]},"is_micromobility_report":{"type":"boolean","title":"Is Micromobility Report","default":false}},"additionalProperties":true,"type":"object","required":["self_link","kind","title","definition","author","updated_time","published_time","report_id","alerts","zone_link"],"title":"Report"},"ReportAlertLimitType":{"type":"string","enum":["cap","floor"],"title":"ReportAlertLimitType"},"ReportCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Report"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ReportCollection"},"ReportCreate":{"properties":{"title":{"type":"string","minLength":0,"title":"Title","strip_whitespace":1},"definition":{"$ref":"#/components/schemas/ReportDefinitionCreate"}},"type":"object","required":["title","definition"],"title":"ReportCreate"},"ReportDefinition":{"properties":{"sections":{"items":{"$ref":"#/components/schemas/Section"},"type":"array","title":"Sections","default":[]},"tracker_configuration":{"allOf":[{"$ref":"#/components/schemas/TrackerConfiguration"}],"default":{"default_resolution":"day"}},"report_type":{"anyOf":[{"$ref":"#/components/schemas/ReportType"}]},"shared_report_status":{"anyOf":[{"$ref":"#/components/schemas/SharedReportStatus"}]}},"type":"object","title":"ReportDefinition"},"ReportDefinitionCreate":{"properties":{"sections":{"items":{"$ref":"#/components/schemas/SectionCreate"},"type":"array","title":"Sections"},"tracker_configuration":{"allOf":[{"$ref":"#/components/schemas/TrackerConfiguration"}],"default":{"default_resolution":"day"}},"report_type":{"anyOf":[{"$ref":"#/components/schemas/ReportType"}]}},"type":"object","required":["sections"],"title":"ReportDefinitionCreate"},"ReportPatch":{"properties":{"title":{"anyOf":[{"type":"string","minLength":0,"strip_whitespace":1}],"title":"Title"},"definition":{"anyOf":[{"$ref":"#/components/schemas/ReportDefinitionCreate"}]}},"type":"object","title":"ReportPatch"},"ReportType":{"type":"string","enum":["classic","micromobility","comparison"],"title":"ReportType"},"RequestDelayMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"average_response_in_hours":{"anyOf":[{"type":"number"}],"title":"Average Response In Hours"}},"type":"object","title":"RequestDelayMetric"},"ResolutionInterval":{"type":"string","enum":["hour","day","week","month","all"],"title":"ResolutionInterval"},"ResponseGrouping":{"properties":{"grouping":{"allOf":[{"$ref":"#/components/schemas/Grouping"}],"deprecated":true},"groupings":{"anyOf":[{"items":{"$ref":"#/components/schemas/Grouping"},"type":"array"}],"title":"Groupings"},"grouping_value":{"type":"string","title":"Grouping Value"},"grouping_values":{"items":{},"type":"array","title":"Grouping Values"},"metrics":{"items":{"$ref":"#/components/schemas/ResponseMetric"},"type":"array","title":"Metrics"}},"type":"object","required":["grouping","grouping_value","grouping_values","metrics"],"title":"ResponseGrouping"},"ResponseMetric":{"properties":{"metric_type":{"$ref":"#/components/schemas/MetricType"},"units":{"anyOf":[{"$ref":"#/components/schemas/MetricUnits"}]},"values":{"items":{"anyOf":[{"type":"number"},{"type":"string"}]},"type":"array","title":"Values"}},"type":"object","required":["metric_type","values"],"title":"ResponseMetric"},"RoleType":{"type":"string","enum":["developer","vianova","admin","controller","data_analyst","strategist","city_staff","demo","provider","provider_freemium","prospect","parking_enforcement_officer","read_only"],"title":"RoleType","description":"- Shadow users\n    - developer\n    - vianova\n    - demo\n    - provider\n    - provider_freemium\n    - prospect\n- Non-shadow users :\n    - admin\n    - controller\n    - data_analyst\n    - strategist\n    - city_staff\n    - parking_enforcement_officer\n    - read_only"},"Root":{"properties":{"channels":{"type":"string","format":"path","title":"Channels"},"cities":{"type":"string","format":"path","title":"Cities"},"docs":{"type":"string","format":"path","title":"Docs"},"feeds":{"type":"string","format":"path","title":"Feeds"},"incidents":{"type":"string","format":"path","title":"Incidents"},"notifications":{"type":"string","format":"path","title":"Notifications"},"openapi":{"type":"string","format":"path","title":"Openapi"},"orgs":{"type":"string","format":"path","title":"Orgs"},"token":{"type":"string","format":"path","title":"Token"},"user":{"type":"string","format":"path","title":"User"},"user_groups":{"type":"string","format":"path","title":"User Groups"},"zones":{"type":"string","format":"path","title":"Zones"},"zone_roles":{"type":"string","format":"path","title":"Zone Roles"}},"type":"object","required":["channels","cities","docs","feeds","incidents","notifications","openapi","orgs","token","user","user_groups","zones","zone_roles"],"title":"Root"},"RunningStatus":{"type":"string","enum":["loading_file","consolidating_data","inserting_data","computing_metadata","unknown"],"title":"RunningStatus"},"S3UploadUrl":{"properties":{"url":{"type":"string","title":"Url"},"fields":{"additionalProperties":{"type":"string"},"type":"object","title":"Fields"}},"type":"object","required":["url","fields"],"title":"S3UploadUrl"},"Section":{"properties":{"title":{"type":"string","minLength":0,"title":"Title","strip_whitespace":1},"widgets":{"items":{"anyOf":[{"$ref":"#/components/schemas/Widget"},{"$ref":"#/components/schemas/StreamWidget"}]},"type":"array","title":"Widgets","default":[]},"kpis":{"items":{"$ref":"#/components/schemas/StreamWidget"},"type":"array","title":"Kpis","default":[]},"map":{"anyOf":[{"$ref":"#/components/schemas/StreamWidget"}]}},"type":"object","required":["title"],"title":"Section"},"SectionCreate":{"properties":{"title":{"type":"string","minLength":0,"title":"Title","strip_whitespace":1},"widgets":{"items":{"anyOf":[{"$ref":"#/components/schemas/Widget"},{"$ref":"#/components/schemas/StreamWidgetCreate"},{"type":"string","format":"path"}]},"type":"array","title":"Widgets","description":"A list of classic widgets, links to streams widgets, or stream widgets bodies directly","default":[]},"kpis":{"items":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetCreate"},{"type":"string","format":"path"}]},"type":"array","title":"Kpis","description":"A list of links to stream widgets or stream widgets bodies directly","default":[]},"map":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetCreate"},{"type":"string","format":"path"}],"title":"Map","description":"A link to a stream widget or a stream widget body directly"}},"type":"object","required":["title"],"title":"SectionCreate"},"SharedDataset":{"properties":{"receiving_zone":{"type":"string","format":"path","title":"Receiving Zone"},"dataset_type":{"allOf":[{"$ref":"#/components/schemas/SharedDatasetType"}],"default":"regulations"},"provider":{"anyOf":[{"type":"string","format":"path"}],"title":"Provider"},"stream":{"anyOf":[{"type":"string","format":"path"}],"title":"Stream"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"zone":{"type":"string","format":"path","title":"Zone"},"zone_name":{"type":"string","title":"Zone Name"},"receiving_zone_name":{"type":"string","title":"Receiving Zone Name"},"author":{"anyOf":[{"type":"string","format":"path"}],"title":"Author"},"shared_dataset_id":{"type":"string","format":"uuid","title":"Shared Dataset Id"}},"type":"object","required":["receiving_zone","self_link","kind","zone","zone_name","receiving_zone_name","shared_dataset_id"],"title":"SharedDataset","description":"API model for shared-dataset."},"SharedDatasetCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/SharedDataset"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"SharedDatasetCollection","description":"API model for shared-dataset collection."},"SharedDatasetPost":{"properties":{"receiving_zone":{"type":"string","format":"path","title":"Receiving Zone"},"dataset_type":{"allOf":[{"$ref":"#/components/schemas/SharedDatasetType"}],"default":"regulations"},"provider":{"anyOf":[{"type":"string","format":"path"}],"title":"Provider"},"stream":{"anyOf":[{"type":"string","format":"path"}],"title":"Stream"}},"type":"object","required":["receiving_zone"],"title":"SharedDatasetPost","description":"API model for creating shared-dataset."},"SharedDatasetType":{"type":"string","enum":["regulations","streams"],"title":"SharedDatasetType","description":"Types of shared datasets."},"SharedReport":{"properties":{"org":{"anyOf":[{"$ref":"#/components/schemas/Org"}]},"status":{"anyOf":[{"$ref":"#/components/schemas/SharedReportStatus"}]},"entities":{"anyOf":[{"$ref":"#/components/schemas/SharedReportEntities"}]},"report":{"anyOf":[{"$ref":"#/components/schemas/Report"}]}},"type":"object","title":"SharedReport"},"SharedReportAvailableFiles":{"properties":{"org":{"anyOf":[{"$ref":"#/components/schemas/Org"}]},"status":{"anyOf":[{"$ref":"#/components/schemas/SharedReportStatus"}]},"total_files":{"items":{"$ref":"#/components/schemas/FileUpload"},"type":"array","title":"Total Files","default":[]}},"type":"object","title":"SharedReportAvailableFiles"},"SharedReportDates":{"properties":{"start_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Date"}},"type":"object","title":"SharedReportDates"},"SharedReportEntities":{"properties":{"providers":{"items":{"$ref":"#/components/schemas/Provider"},"type":"array","title":"Providers","default":[]},"device_types":{"items":{"$ref":"#/components/schemas/DeviceType"},"type":"array","title":"Device Types","default":[]},"geo_features":{"items":{"$ref":"#/components/schemas/GeoFeature"},"type":"array","title":"Geo Features","default":[]},"regulations":{"items":{"$ref":"#/components/schemas/Regulation"},"type":"array","title":"Regulations","default":[]},"streams":{"items":{"$ref":"#/components/schemas/Stream"},"type":"array","title":"Streams","default":[]},"link_history":{"anyOf":[{"items":{"type":"string","format":"path"},"type":"array"}],"title":"Link History"}},"type":"object","title":"SharedReportEntities"},"SharedReportStatus":{"properties":{"uploaded_at":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Uploaded At"},"upload_status":{"anyOf":[{"$ref":"#/components/schemas/SharedReportUploadStatus"}]},"is_micromobility_report":{"type":"boolean","title":"Is Micromobility Report","default":false}},"type":"object","title":"SharedReportStatus"},"SharedReportUploadStatus":{"type":"string","enum":["pending","uploaded"],"title":"SharedReportUploadStatus"},"Source":{"properties":{"source":{"$ref":"#/components/schemas/FieldSelector"}},"type":"object","required":["source"],"title":"Source"},"SourceTemplateCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/SourceTemplateModel"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"SourceTemplateCollection"},"SourceTemplateModel":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"source_template_key":{"type":"string","title":"Source Template Key"},"json_schema":{"type":"object","title":"Json Schema"},"driver":{"$ref":"#/components/schemas/DriverSourceTemplateModel"},"feeds":{"type":"string","format":"path","title":"Feeds"}},"additionalProperties":true,"type":"object","required":["self_link","kind","source_template_key","json_schema","driver","feeds"],"title":"SourceTemplateModel"},"Status":{"type":"string","enum":["unknown","waiting_for_upload","running","succeeded","validated","failed"],"title":"Status"},"Stream":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":500,"minLength":1}],"title":"Name"},"category":{"anyOf":[{"$ref":"#/components/schemas/StreamCategory"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/StreamType"}]},"vianova_stream_type":{"anyOf":[{"$ref":"#/components/schemas/VianovaStreamType"}]},"delay_until_ready":{"type":"integer","title":"Delay Until Ready","description":"The number of hours before the stream is ready for querying.","default":0},"source_timezone":{"type":"string","title":"Source Timezone","description":"The timezone of the stream. Used by Query API to display the stream in the correct timezone."},"description":{"anyOf":[{"type":"string"}],"title":"Description","description":"Description of the stream. Input by the user."},"stream_fields":{"additionalProperties":{"$ref":"#/components/schemas/StreamField"},"type":"object","title":"Stream Fields","description":"The fields in the stream, indexed by the field name."},"custom_properties":{"anyOf":[{"additionalProperties":{"additionalProperties":{"$ref":"#/components/schemas/StreamField"},"type":"object"},"type":"object"}],"title":"Custom Properties","description":"Custom properties metadata grouped by tag (for geofeatures streams only)."},"last_metadata_update":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Last Metadata Update","description":"The laste time metadata of the stream have been computed"},"refresh_interval":{"anyOf":[{"type":"integer"}],"title":"Refresh Interval","description":"The number of seconds before new data come in."},"versioning":{"anyOf":[{"$ref":"#/components/schemas/StreamVersioning"}],"description":"Version history for the stream, enabling rollback support. Contains the active version and history of all versions with their valid_from timestamps."},"categorization":{"anyOf":[{"$ref":"#/components/schemas/StreamCategorization"}],"description":"AI-generated categorization and enrichment of the stream."},"tags_info":{"additionalProperties":{"$ref":"#/components/schemas/TagInfo"},"type":"object","title":"Tags Info","description":"Per-tag metadata keyed by tag name."},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"stream_id":{"type":"string","title":"Stream Id"},"uploads":{"type":"string","format":"path","title":"Uploads","description":"Link to access upload operations requested on this stream."},"stream_uploads":{"items":{"$ref":"#/components/schemas/StreamUploadEntity"},"type":"array","title":"Stream Uploads","description":"Upload operations requested on this stream."},"upload_done_at":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Upload Done At","description":"\n            The time at which the stream was marked as uploaded. \n            A dry run upload won't set this field.\n        "},"custom_metrics":{"items":{"$ref":"#/components/schemas/CustomMetric"},"type":"array","title":"Custom Metrics","description":"Custom metrics available in this stream.","default":[]},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"intended to be read by end-users."},"is_realtime_stream":{"type":"boolean","title":"Is Realtime Stream","description":"If the stream is a realtime stream.","default":false},"is_queryable":{"type":"boolean","title":"Is Queryable","description":"if there's no metadata in the stream, the stream is not ready to be queried. Used by FE","default":true},"creator":{"allOf":[{"$ref":"#/components/schemas/User"}],"description":"The user who created the stream."}},"type":"object","required":["stream_fields","self_link","kind","stream_id","uploads","stream_uploads"],"title":"Stream","description":"A stream is a collection of records with arbitrary properties.\n\nStreams support:\n\n* Creation of new streams\n* Uploading new data to the stream\n* Layers for visualizing the data\n* Query API for asking advanced questions about the data within streams."},"StreamAlert":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"source_query":{"$ref":"#/components/schemas/QueryRequest"},"condition":{"$ref":"#/components/schemas/QueryRequestFilter"},"postscript":{"anyOf":[{"type":"string"}],"title":"Postscript"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"stream_alert_id":{"type":"string","format":"uuid","title":"Stream Alert Id"},"channel":{"anyOf":[{"$ref":"#/components/schemas/Channel"}]},"stream_alert_findings_stream":{"anyOf":[{"$ref":"#/components/schemas/Stream"}]}},"type":"object","required":["title","description","source_query","condition","self_link","kind","stream_alert_id"],"title":"StreamAlert"},"StreamAlertCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/StreamAlert"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"StreamAlertCollection"},"StreamAlertCreate":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"source_query":{"$ref":"#/components/schemas/QueryRequest"},"condition":{"$ref":"#/components/schemas/QueryRequestFilter"},"postscript":{"anyOf":[{"type":"string"}],"title":"Postscript"}},"type":"object","required":["title","description","source_query","condition"],"title":"StreamAlertCreate"},"StreamAlertPatch":{"properties":{"title":{"anyOf":[{"type":"string"}],"title":"Title"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"source_query":{"anyOf":[{"$ref":"#/components/schemas/QueryRequest"}]},"condition":{"anyOf":[{"$ref":"#/components/schemas/QueryRequestFilter"}]},"postscript":{"anyOf":[{"type":"string"}],"title":"Postscript"}},"type":"object","title":"StreamAlertPatch"},"StreamCategorization":{"properties":{"summary":{"anyOf":[{"type":"string"}],"title":"Summary","description":"1-2 sentence description of what this dataset contains."},"row_unit":{"anyOf":[{"type":"string"}],"title":"Row Unit","description":"What each row represents (e.g., 'a trip', 'an accident', 'hourly aggregation')."},"use_cases":{"items":{"type":"string"},"type":"array","title":"Use Cases","description":"List of potential analyses or applications (simple strings)."},"domain":{"anyOf":[{"type":"string"}],"title":"Domain","description":"Main domain (e.g., 'transportation', 'environment', 'public safety')."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"Tags for search and categorization."},"confidence":{"type":"string","title":"Confidence","description":"Overall confidence: 'high', 'medium', or 'low'.","default":"medium"},"columns":{"items":{"$ref":"#/components/schemas/ColumnDescription"},"type":"array","title":"Columns","description":"Description of key columns."}},"type":"object","title":"StreamCategorization","description":"AI-generated categorization and enrichment of a stream."},"StreamCategory":{"type":"string","enum":["fleet","traffic","contextual","infrastructure","unknown"],"title":"StreamCategory"},"StreamCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Stream"},"type":"array","title":"Contents"},"query":{"type":"string","format":"path","title":"Query","description":"Query API for retrieving raw and aggregated information across\n                    streams."}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents","query"],"title":"StreamCollection"},"StreamCreate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":500,"minLength":1}],"title":"Name"},"category":{"anyOf":[{"$ref":"#/components/schemas/StreamCategory"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/StreamType"}]},"vianova_stream_type":{"anyOf":[{"$ref":"#/components/schemas/VianovaStreamType"}]},"delay_until_ready":{"type":"integer","title":"Delay Until Ready","default":0},"source_timezone":{"anyOf":[{"type":"string"}],"title":"Source Timezone"},"description":{"anyOf":[{"type":"string"}],"title":"Description"}},"type":"object","title":"StreamCreate"},"StreamField":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldLeafServe"},{"$ref":"#/components/schemas/StreamFieldLeaf"},{"$ref":"#/components/schemas/StreamFieldArray"},{"$ref":"#/components/schemas/StreamFieldObject"}],"title":"StreamField"},"StreamFieldArray":{"properties":{"array_type":{"anyOf":[{"$ref":"#/components/schemas/StreamField"}]}},"type":"object","title":"StreamFieldArray","description":"A field in a stream that is an array of values.\n\nSub-values can be accessed by index."},"StreamFieldCity":{"properties":{"city":{"type":"string","title":"City","description":"The city of the field."},"state":{"anyOf":[{"type":"string"}],"title":"State","description":"The state of the field."},"country":{"type":"string","title":"Country","description":"The country of the field."},"country_code":{"type":"string","title":"Country Code","description":"The country code of the field."},"population":{"type":"integer","title":"Population","description":"The population of the field."},"latitude":{"type":"number","title":"Latitude","description":"The latitude of the field."},"longitude":{"type":"number","title":"Longitude","description":"The longitude of the field."}},"type":"object","required":["city","country","country_code","population","latitude","longitude"],"title":"StreamFieldCity"},"StreamFieldDataType":{"type":"string","enum":["datetime","number","string","boolean","geography","list","dict","unknown"],"title":"StreamFieldDataType","description":"The data type of a field in a stream."},"StreamFieldDistribution":{"properties":{"type":{"type":"string","enum":["categorical","numerical","temporal"],"title":"Type"},"metric":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDistributionMetric"}]},"buckets":{"items":{"type":"object"},"type":"array","title":"Buckets"},"boundaries":{"anyOf":[{"type":"object"}],"title":"Boundaries"},"resolution":{"anyOf":[{"type":"string","enum":["minute","hour","day","week","month","year","unknown"]}],"title":"Resolution"}},"type":"object","required":["type"],"title":"StreamFieldDistribution"},"StreamFieldDistributionAccumulator":{"type":"object","title":"StreamFieldDistributionAccumulator"},"StreamFieldDistributionMetric":{"properties":{"agg":{"type":"string","title":"Agg","description":"Aggregation used for distribution bucket metrics."},"column":{"anyOf":[{"type":"string"}],"title":"Column","description":"Metric source column. Null represents a count-all row metric."},"label":{"anyOf":[{"type":"string"}],"title":"Label","description":"Optional display label for the metric."}},"type":"object","required":["agg","column"],"title":"StreamFieldDistributionMetric"},"StreamFieldExtents":{"properties":{"geography":{"anyOf":[{"$ref":"#/components/schemas/GeometryElement"}],"description":"The geographic extents of the field. Will be null if the field is not a geography."},"cities":{"anyOf":[{"items":{"$ref":"#/components/schemas/StreamFieldCity"},"type":"array"}],"title":"Cities","description":"The cities of the field. Will be null if the field is not a city.","default":[]},"min":{"anyOf":[{}],"title":"Min","description":"The minimum value of the field."},"max":{"anyOf":[{}],"title":"Max","description":"The maximum value of the field."},"distinct_values":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldExtentsDistinctValues"}],"description":"The distinct values of the field. Will be null if the field is a geography"},"resolution":{"anyOf":[{"type":"string","enum":["minute","hour","day","week","month","year","unknown"]}],"title":"Resolution"},"h3_resolution":{"anyOf":[{"type":"integer"}],"title":"H3 Resolution","description":"The resolution of the H3 index. Will be null if the field is not an H3 index."},"available_keys":{"anyOf":[{"items":{"type":"string"},"type":"array"}],"title":"Available Keys","description":"The keys available in the dict. Will be null if the field is not a dict."},"geometry_type":{"anyOf":[{"type":"string"}],"title":"Geometry Type","description":"Geometry type (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon). None means not yet computed."},"distribution":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDistribution"}],"description":"Public bounded distribution metadata for this field."},"distribution_accumulator":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDistributionAccumulator"}],"description":"Storage-only distribution accumulator used for incremental merges."}},"type":"object","title":"StreamFieldExtents","description":"The extents or limits of values taken by a field within a stream."},"StreamFieldExtentsDistinctValues":{"properties":{"count":{"anyOf":[{"type":"integer"}],"title":"Count","description":"The number of records in the stream that contain this property."},"values":{"anyOf":[{"items":{},"type":"array"}],"title":"Values","description":"The distinct values of the field. Will be null if there are more than 350 distinct values."}},"type":"object","title":"StreamFieldExtentsDistinctValues"},"StreamFieldIndexType":{"type":"string","enum":["primary","secondary"],"title":"StreamFieldIndexType","description":"The type of index used for a field in a stream.\n\nRecords in a stream will be clustered on disk by the combination of primary-index\nand secondary-index."},"StreamFieldLeaf":{"properties":{"index":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldIndexType"}]},"extents":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldExtents"}]},"count":{"anyOf":[{"type":"integer"}],"title":"Count","description":"The number of records in the stream that contain this property."},"data_type":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDataType"}]},"anonymization_threshold":{"anyOf":[{"type":"integer"}],"title":"Anonymization Threshold"}},"type":"object","title":"StreamFieldLeaf"},"StreamFieldLeafServe":{"properties":{"index":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldIndexType"}]},"extents":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldExtents"}]},"count":{"anyOf":[{"type":"integer"}],"title":"Count","description":"The number of records in the stream that contain this property."},"data_type":{"anyOf":[{"$ref":"#/components/schemas/StreamFieldDataType"}]},"anonymization_threshold":{"anyOf":[{"type":"integer"}],"title":"Anonymization Threshold"},"is_filterable":{"type":"boolean","title":"Is Filterable","description":"Whether the field can be used in a filter in Cityscope.","default":true},"is_groupable":{"type":"boolean","title":"Is Groupable","description":"Whether the field can be used in a group by in Cityscope.","default":true},"is_selectable":{"type":"boolean","title":"Is Selectable","description":"Whether the field can be used in a select in Cityscope.","default":true},"is_created_by_vianova":{"type":"boolean","title":"Is Created By Vianova","description":"Whether the field was created by Vianova.","default":false},"key":{"type":"string","title":"Key","description":"The key of the field. Used to identify the field in the front-end."},"label":{"type":"string","title":"Label","description":"The label of the field. Used to display the field in the front-end."},"units_label":{"anyOf":[{"type":"string"}],"title":"Units Label","description":"The label of the units of the field. Used to display the units of the field in the front-end."},"categorization_description":{"anyOf":[{"type":"string"}],"title":"Categorization Description","description":"The description of the field from the categorization. Used to display the description of the field in the front-end."}},"type":"object","required":["key","label"],"title":"StreamFieldLeafServe"},"StreamFieldObject":{"properties":{"object_types":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/StreamField"},"type":"object"}],"title":"Object Types"}},"type":"object","title":"StreamFieldObject","description":"A field in a stream that is an object of values.\n\nSub-fields are stored in a dictionary."},"StreamFileFormat":{"type":"string","enum":["unknown","csv","shp","geojson","json","parquet"],"title":"StreamFileFormat"},"StreamLayer":{"properties":{"tooltip":{"anyOf":[{"$ref":"#/components/schemas/LayerTooltip"}]},"filter_fields":{"items":{"anyOf":[{"$ref":"#/components/schemas/FieldSelector"},{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/FieldSelectorToFilters"}]},"type":"array","title":"Filter Fields","default":[]},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"stream_layer_options":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerOptions"}]},"style":{"type":"object","title":"Style"},"source":{"$ref":"#/components/schemas/LayerSource"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"stream_layer_id":{"type":"string","title":"Stream Layer Id"},"origin":{"type":"string","format":"path","title":"Origin","description":"The link from which this layer was created : project, stream_layer_entity, ..."},"stream_id":{"type":"string","title":"Stream Id","description":"The stream id of the stream this layer is associated to"}},"type":"object","required":["style","source","self_link","kind","stream_layer_id"],"title":"StreamLayer","description":"A layer is a visualization of a stream.\n\nA stream layer contains 2 parts:\n- A layer definition, which contains the visual properties of the layer\n- A layer source, which contains the actual data of the layer"},"StreamLayerCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/StreamLayer"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"StreamLayerCollection"},"StreamLayerCreate":{"properties":{"tooltip":{"anyOf":[{"$ref":"#/components/schemas/LayerTooltip"}]},"filter_fields":{"items":{"anyOf":[{"$ref":"#/components/schemas/FieldSelector"},{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/FieldSelectorToFilters"}]},"type":"array","title":"Filter Fields","default":[]},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"stream_layer_options":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerOptions"}]},"style":{"type":"object","title":"Style"},"source":{"anyOf":[{"$ref":"#/components/schemas/LayerSource"}]},"main_stream_id":{"anyOf":[{"type":"string"}],"title":"Main Stream Id"},"regenerate":{"anyOf":[{"type":"boolean"}],"title":"Regenerate"}},"type":"object","required":["style"],"title":"StreamLayerCreate"},"StreamLayerElementCreate":{"properties":{"stream_id":{"anyOf":[{"type":"string"}],"title":"Stream Id"},"stream_layer_create":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerCreate"}]}},"type":"object","title":"StreamLayerElementCreate"},"StreamLayerOptions":{"properties":{"snapping_options":{"anyOf":[{"$ref":"#/components/schemas/QueryLayerOptionsSnapOptions"}]},"operations":{"anyOf":[{"$ref":"#/components/schemas/QueryLayerOptionsOperations"}],"default":{"aggregation_operations":[],"computed_fields":[]}},"columns_to_select":{"items":{"type":"string"},"type":"array","title":"Columns To Select","default":[]},"columns_destination_to_select":{"items":{"type":"string"},"type":"array","title":"Columns Destination To Select","default":[]},"style_options":{"anyOf":[{"$ref":"#/components/schemas/StyleOptions"}],"default":{}},"additional_filters":{"items":{"$ref":"#/components/schemas/QueryRequestFilter"},"type":"array","title":"Additional Filters","default":[]}},"type":"object","title":"StreamLayerOptions"},"StreamLayerPatch":{"properties":{"tooltip":{"anyOf":[{"$ref":"#/components/schemas/LayerTooltip"}]},"filter_fields":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/FieldSelector"},{"$ref":"#/components/schemas/QueryRequestFilter"},{"$ref":"#/components/schemas/FieldSelectorToFilters"}]},"type":"array"}],"title":"Filter Fields"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"stream_layer_options":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerOptions"}]},"style":{"type":"object","title":"Style"},"source":{"anyOf":[{"$ref":"#/components/schemas/LayerSource"}]},"main_stream_id":{"anyOf":[{"type":"string"}],"title":"Main Stream Id"},"regenerate":{"anyOf":[{"type":"boolean"}],"title":"Regenerate"}},"type":"object","required":["style"],"title":"StreamLayerPatch"},"StreamQuery":{"properties":{"title":{"type":"string","title":"Title","description":"Short title"},"description":{"anyOf":[{"type":"string"}],"title":"Description","description":"A description of the query."},"stream_query_id":{"type":"string","format":"uuid","title":"Stream Query Id","description":"Unique identifier for the stream query"},"stream_id":{"type":"string","format":"uuid","title":"Stream Id","description":"Identifier for the stream"},"render":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetRenderType"}]},"is_vianova":{"type":"boolean","title":"Is Vianova","description":"Is this StreamQuery editorialized by Vianova?","default":false},"query":{"allOf":[{"$ref":"#/components/schemas/QueryRequest"}],"description":"The query to be performed"}},"type":"object","required":["title","stream_query_id","stream_id","query"],"title":"StreamQuery"},"StreamQueryCollection":{"properties":{"stream_queries":{"items":{"$ref":"#/components/schemas/StreamQuery"},"type":"array","title":"Stream Queries","default":[]}},"type":"object","title":"StreamQueryCollection"},"StreamSelector":{"properties":{"stream_id":{"type":"string","format":"uuid","title":"Stream Id"},"stream_type":{"$ref":"#/components/schemas/VianovaStreamType"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"zone":{"type":"string","format":"path","title":"Zone"},"stream_selector_id":{"type":"string","format":"uuid","title":"Stream Selector Id"},"stream":{"$ref":"#/components/schemas/Stream"}},"type":"object","required":["stream_id","stream_type","self_link","kind","zone","stream_selector_id","stream"],"title":"StreamSelector"},"StreamSelectorCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/StreamSelector"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"StreamSelectorCollection"},"StreamSelectorCreate":{"properties":{"stream_id":{"type":"string","format":"uuid","title":"Stream Id"},"stream_type":{"$ref":"#/components/schemas/VianovaStreamType"}},"type":"object","required":["stream_id","stream_type"],"title":"StreamSelectorCreate"},"StreamType":{"type":"string","enum":["dynamic","static","unknown"],"title":"StreamType"},"StreamUploadEntity":{"properties":{"upload_s3_url":{"anyOf":[{"$ref":"#/components/schemas/S3UploadUrl"}]},"status":{"allOf":[{"$ref":"#/components/schemas/Status"}],"description":"Status of a stream upload.\n\n- unknown: The status of the upload is unknown.\n- waiting_for_upload: The upload is waiting for the user to upload the data.\n- running: The upload is running.\n- succeeded: The upload succeeded.\n- validated: The upload has been validated in `dry_run` mode without inserting any\n  records.\n- failed: The upload failed.\n    "},"running_status":{"anyOf":[{"$ref":"#/components/schemas/RunningStatus"}],"description":"Status of a running stream upload.\n\n- step 1 : loading_file: The file is being loaded (S3 => GeoDataFrame)\n- step 2 : consolidating_data: The data is being consolidated (GeoDataFrame => GeoDataFrame). Details : In the geodataframe, remove null values, empty geometries, compute H3 and dates columns...)\n- step 3 : inserting_data: The data is being inserted in Snowflake (GeoDataFrame => Snowflake)\n- step 4 : computing_metadata: The metadata of the stream is being computed (Snowflake => Metadata)\n       "},"reason":{"anyOf":[{"$ref":"#/components/schemas/Reason"}],"description":"Reason of the failure of a stream upload."},"reason_message":{"anyOf":[{"type":"string"}],"title":"Reason Message","description":"Descriptive message of the failure of a stream upload, explaining the reason of the failure."},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"stream_upload_request":{"$ref":"#/components/schemas/StreamUploadRequest"},"max_file_size_bytes":{"anyOf":[{"type":"integer"}],"title":"Max File Size Bytes"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"stream_upload_id":{"type":"string","title":"Stream Upload Id"},"object_name":{"type":"string","title":"Object Name"},"author":{"type":"string","format":"path","title":"Author"}},"type":"object","required":["status","updated_at","stream_upload_request","self_link","kind","created_at","stream_upload_id","object_name","author"],"title":"StreamUploadEntity"},"StreamUploadMode":{"type":"string","enum":["new","append","replace"],"title":"StreamUploadMode"},"StreamUploadRequest":{"properties":{"dry_run":{"type":"boolean","title":"Dry Run","description":"If true, the request will be validated, but no data will be written to the database.","default":false},"file_format":{"allOf":[{"$ref":"#/components/schemas/StreamFileFormat"}],"default":"unknown"},"columns_definition":{"anyOf":[{"items":{"$ref":"#/components/schemas/ColumnDefinition"},"type":"array"}],"title":"Columns Definition","description":"If set to null, we keep all the columns from the dataset. If not, it will only keep the columns listed."},"upload_mode":{"allOf":[{"$ref":"#/components/schemas/StreamUploadMode"}],"default":"new"},"force_metadata_refresh":{"type":"boolean","title":"Force Metadata Refresh","description":"If true, append uploads recompute stream metadata inline even when the existing metadata is recent.","default":false},"existing_file_name":{"anyOf":[{"type":"string"}],"title":"Existing File Name","description":"The name of the file to reuse. \n        If set to null, a s3 upload url will be generated, and user will have to upload the file.\n        If set to a string, the file will be reused from the given name, and the api will trigger the lambda function to import the data.\n        "},"with_stream_layer":{"type":"boolean","title":"With Stream Layer","description":"If true, a stream layer will be automatically created with the uploaded data. If no options are provided, the layer will be created by simply selecting the raw geometry column.","default":false},"with_dashboard":{"type":"boolean","title":"With Dashboard","description":"Only relevant if with_stream_layer is true. If true, a dashboard object will be automatically created for the new stream.","default":true},"page_id":{"anyOf":[{"type":"string"}],"title":"Page Id","description":"Only relevant if with_dashboard is true. If set, the dashboard will be created on the given page. Only relevant if the page is of type saved_map, it will always be created on report / explore page."},"stream_layer_options":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerOptions"}],"description":"Options for the creation of the stream layer."},"with_categorization":{"type":"boolean","title":"With Categorization","description":"If true, a categorization will be automatically created for the new stream. Will be triggered asynchronously, after the stream upload.","default":false},"as_geofeatures":{"type":"boolean","title":"As Geofeatures","description":"If true, the data will be inserted into the geofeatures_streams_element table instead of stream_record.\nThe uploaded data will become part of the zone's geofeatures stream, identified by the specified tag.","default":false},"tag":{"anyOf":[{"type":"string"}],"title":"Tag","description":"Required when as_geofeatures=True. The tag to assign to all geofeatures created from this upload.\nMust be unique within the zone's geofeatures stream."},"name_column":{"anyOf":[{"type":"string"}],"title":"Name Column","description":"Optional. The column in the uploaded data to use as the geo_feature_name. If not provided, names are auto-generated as 'Zone 1', 'Zone 2', etc."}},"type":"object","title":"StreamUploadRequest"},"StreamVersionCreate":{"properties":{"stream_ids":{"items":{"type":"string"},"type":"array","title":"Stream Ids","description":"List of stream primary keys to increment version for."},"valid_from":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Valid From","description":"The timestamp from which this version becomes active. Defaults to current UTC time if not provided."}},"type":"object","required":["stream_ids"],"title":"StreamVersionCreate","description":"Request body for creating a new stream version."},"StreamVersionEntry":{"properties":{"version":{"type":"integer","title":"Version","description":"The version number."},"valid_from":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Valid From","description":"Records with inserted_at >= valid_from belong to this version."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When this version was created."}},"type":"object","required":["version","created_at"],"title":"StreamVersionEntry","description":"A single version entry in the stream's version history."},"StreamVersioning":{"properties":{"active_version":{"type":"integer","title":"Active Version","description":"The currently active version number.","default":0},"history":{"items":{"$ref":"#/components/schemas/StreamVersionEntry"},"type":"array","title":"History","description":"List of all version entries, ordered by version number."}},"type":"object","title":"StreamVersioning","description":"Version history for a stream, enabling rollback support."},"StreamWidget":{"properties":{"title":{"anyOf":[{"type":"string"}],"title":"Title"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"query":{"$ref":"#/components/schemas/QueryRequest"},"type":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetRenderType"}]},"config":{"anyOf":[{}],"title":"Config"},"stream_alert_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Stream Alert Id"},"read_only":{"type":"boolean","title":"Read Only","default":false},"layers":{"items":{"$ref":"#/components/schemas/StreamLayer"},"type":"array","title":"Layers","default":[]},"genai_query_request_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Genai Query Request Id"},"query_response":{"anyOf":[{"$ref":"#/components/schemas/QueryResponse"}],"description":"Contains the response of the query API endpoint when the stream widget is associated to a report, and is public and shared"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"stream_widget_id":{"type":"string","format":"uuid","title":"Stream Widget Id"},"zone":{"type":"string","format":"path","title":"Zone"},"stream_alert":{"anyOf":[{"$ref":"#/components/schemas/StreamAlert"}]}},"type":"object","required":["self_link","kind","stream_widget_id","zone","query"],"title":"StreamWidget"},"StreamWidgetCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/StreamWidget"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"StreamWidgetCollection"},"StreamWidgetCreate":{"properties":{"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"query":{"$ref":"#/components/schemas/QueryRequest"},"type":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetRenderType"}]},"config":{"title":"Config"},"stream_alert_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Stream Alert Id"},"read_only":{"type":"boolean","title":"Read Only","default":false},"layers":{"items":{"$ref":"#/components/schemas/StreamLayerCreate"},"type":"array","title":"Layers","default":[]},"genai_query_request_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Genai Query Request Id"},"query_response":{"anyOf":[{"$ref":"#/components/schemas/QueryResponse"}]}},"type":"object","required":["title","query","config"],"title":"StreamWidgetCreate"},"StreamWidgetPatch":{"properties":{"title":{"anyOf":[{"type":"string"}],"title":"Title"},"query":{"anyOf":[{"$ref":"#/components/schemas/QueryRequest"}]},"config":{"anyOf":[{}],"title":"Config"},"type":{"anyOf":[{"$ref":"#/components/schemas/StreamWidgetRenderType"}]},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"stream_alert_id":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Stream Alert Id"},"read_only":{"anyOf":[{"type":"boolean"}],"title":"Read Only"},"layers":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/StreamLayerCreate"},{"type":"string","format":"path"}]},"type":"array"}],"title":"Layers"},"query_response":{"anyOf":[{"$ref":"#/components/schemas/QueryResponse"}]}},"type":"object","title":"StreamWidgetPatch"},"StreamWidgetRenderType":{"type":"string","enum":["bar","horizontalBar","groupedBar","stackedBar","Kpi","line","pie","table","barList","distribution","string","map","rank","multi_line","heatmap"],"title":"StreamWidgetRenderType"},"StyleColorKeyCategories":{"properties":{"categories":{"additionalProperties":{"type":"string"},"type":"object","title":"Categories"},"default":{"anyOf":[{"type":"string"}],"title":"Default"}},"type":"object","required":["categories"],"title":"StyleColorKeyCategories"},"StyleOptions":{"properties":{"color_key":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/StyleColorKeyCategories"}],"title":"Color Key"},"tooltip_name":{"anyOf":[{"type":"string"}],"title":"Tooltip Name"},"color_field":{"anyOf":[{"type":"string"}],"title":"Color Field"}},"type":"object","title":"StyleOptions"},"Subfleet":{"properties":{"start_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Start Time","description":"The start datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"end_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Time","description":"The end datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"start_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"Start Time From Now","description":"The start date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => start_date = current date minus 7 days\n\nOverriden by `start_time`"},"end_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"End Time From Now","description":"The end date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => end_date = current date plus 7 days\n\nOverriden by `end_time`"},"trips":{"anyOf":[{"$ref":"#/components/schemas/SubfleetTrips"}],"description":"The origin and destination geofeatures list to filter trips on"},"geo_fences":{"items":{"$ref":"#/components/schemas/GeoFence"},"type":"array","maxItems":10000,"title":"Geo Fences","description":"The geofeatures list to filter devices location on","default":[]},"start_time_of_day":{"anyOf":[{"type":"string","format":"time"}],"title":"Start Time Of Day","description":"Filter events after this time. \n\nFormat : `20:00:00`"},"end_time_of_day":{"anyOf":[{"type":"string","format":"time"}],"title":"End Time Of Day","description":"Filter events before this time.\n\nFormat : `20:00:00`"},"providers":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Providers","description":"List of providers API links to include in the devices filter. Use the provider ids to filter them.\n\nFormat : `[\"/providers/1\",\"/providers/2\"]`","default":[]},"device_types":{"items":{"$ref":"#/components/schemas/DeviceType"},"type":"array","uniqueItems":true,"title":"Device Types","description":"List of device types to include in the devices filter","default":[]},"device_states":{"items":{"$ref":"#/components/schemas/DeviceState"},"type":"array","uniqueItems":true,"title":"Device States","description":"List of devices states to include in the devices filter","default":[]},"devices":{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true,"title":"Devices","description":"List of devices ids to include in the devices filter. Use the devices ids to filter them.\n\nFormat : `[\"/devices/1\",\"/devices/2\"]`","default":[]},"event_types":{"items":{"$ref":"#/components/schemas/EventType"},"type":"array","uniqueItems":true,"title":"Event Types","description":"List of events types to include in the filter.","default":[]},"days_of_week":{"items":{"type":"integer","maximum":7.0,"minimum":1.0},"type":"array","uniqueItems":true,"title":"Days Of Week","description":"List of days of week to include in the filter.\n\nMonday is 1, Sunday is 7.\n\nFormat : `[1,2]`.","default":[]},"hours_of_day":{"items":{"type":"integer","maximum":23.0,"minimum":0.0},"type":"array","uniqueItems":true,"title":"Hours Of Day","description":"List of hours of day to include in the filter. \n\nHours go from 0 to 23.\n\nFormat : `[1,2,14]`.","default":[]},"regulations":{"anyOf":[{"$ref":"#/components/schemas/MetricRegulations"}],"description":"If set, will get all regulations related events."},"realtime":{"type":"boolean","title":"Realtime","description":"Not used in `/events` endpoint, only for `/metrics` endpoint","default":false},"min_speed_kph":{"anyOf":[{"type":"number","minimum":0.0}],"title":"Min Speed Kph","description":"Not used in `/events` endpoint. Only for `/policies` endpoints"},"min_idle_time_seconds":{"anyOf":[{"type":"number","minimum":0.0}],"title":"Min Idle Time Seconds","description":"Used if subfleet is not set (realtime events).\n\nSelects only those devices which have not changed state (idled) for at least this many seconds."}},"type":"object","title":"Subfleet","description":"A subfleet acts as a query-filter to select a subset of the total events related to a fleet.\nYou can filter on many parameters :\n- geofeatures (where)\n- datetimes (when)\n- devices definition (what)\n    - providers\n    - types\n    - states\n- trips\n)\n- ...\n\nWARNING : If `regulations` is set, the endpoint will return all **regulation** related events."},"SubfleetTrips":{"properties":{"origins":{"items":{"$ref":"#/components/schemas/GeoFence"},"type":"array","maxItems":10000,"title":"Origins","description":"List of geofences where trips come from","default":[]},"destinations":{"items":{"$ref":"#/components/schemas/GeoFence"},"type":"array","maxItems":10000,"title":"Destinations","description":"List of geofences where trips go to","default":[]}},"type":"object","title":"SubfleetTrips"},"TagInfo":{"properties":{"label":{"anyOf":[{"type":"string"}],"title":"Label"},"description":{"anyOf":[{"type":"string"}],"title":"Description"},"uploaded_at":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Uploaded At"},"creator_user_id":{"anyOf":[{"type":"string"}],"title":"Creator User Id"},"stream_upload_id":{"anyOf":[{"type":"string"}],"title":"Stream Upload Id"},"categorization":{"anyOf":[{"$ref":"#/components/schemas/StreamCategorization"}]}},"type":"object","title":"TagInfo"},"TagInfoPatch":{"properties":{"label":{"anyOf":[{"type":"string"}],"title":"Label"},"description":{"anyOf":[{"type":"string"}],"title":"Description"}},"type":"object","title":"TagInfoPatch"},"TelemetryMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"trip_updates_per_minute":{"anyOf":[{"type":"number"}],"title":"Trip Updates Per Minute"}},"type":"object","title":"TelemetryMetric"},"ThumbnailResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true}},"type":"object","title":"ThumbnailResponse"},"Tracker":{"properties":{"metric_definition":{"anyOf":[{"$ref":"#/components/schemas/MetricDefinition"}]},"events_request":{"anyOf":[{"$ref":"#/components/schemas/EventsRequest"}]},"alerts":{"allOf":[{"$ref":"#/components/schemas/TrackerAlerts"}],"default":{"alerts":[]}},"comparison_time_range":{"anyOf":[{"$ref":"#/components/schemas/MetricTime"}]},"metrics_response":{"anyOf":[{"$ref":"#/components/schemas/MetricResponse"}],"description":"Contains the response of the metrics endpoint when the report is public and shared"},"events_response":{"anyOf":[{"$ref":"#/components/schemas/Events"}],"description":"Contains the response of the events endpoint when the report is public and shared"}},"type":"object","title":"Tracker"},"TrackerAlert":{"properties":{"uuid":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Uuid"},"min_value":{"anyOf":[{"type":"number"}],"title":"Min Value"},"max_value":{"anyOf":[{"type":"number"}],"title":"Max Value"}},"type":"object","title":"TrackerAlert"},"TrackerAlerts":{"properties":{"alerts":{"items":{"$ref":"#/components/schemas/TrackerAlert"},"type":"array","title":"Alerts","default":[]}},"type":"object","title":"TrackerAlerts"},"TrackerConfiguration":{"properties":{"start_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Start Time","description":"The start datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"end_time":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Time","description":"The end datetime of the events. \n\nFormat : `2022-04-12T20:00:00.000Z`"},"start_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"Start Time From Now","description":"The start date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => start_date = current date minus 7 days\n\nOverriden by `start_time`"},"end_time_from_now":{"anyOf":[{"type":"number","format":"time-delta"}],"title":"End Time From Now","description":"The end date defined using a timedelta from current date. \n\nFormat : `P7D` = Plus 7 days => end_date = current date plus 7 days\n\nOverriden by `end_time`"},"default_resolution":{"anyOf":[{"$ref":"#/components/schemas/ResolutionInterval"},{"type":"number","format":"time-delta"}],"title":"Default Resolution","default":"day"},"device_type":{"anyOf":[{"$ref":"#/components/schemas/DeviceType"}]}},"type":"object","title":"TrackerConfiguration"},"TripDistanceMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"crow_flies_median":{"anyOf":[{"type":"number"}],"title":"Crow Flies Median"}},"type":"object","title":"TripDistanceMetric"},"UIDashboard":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"definition":{"$ref":"#/components/schemas/DashboardDefinition"},"components":{"items":{"$ref":"#/components/schemas/Component"},"type":"array","title":"Components"},"controller":{"anyOf":[{"$ref":"#/components/schemas/StreamLayer"}]},"dashboard_id":{"type":"string","title":"Dashboard Id"},"page_id":{"type":"string","title":"Page Id"},"position":{"type":"integer","title":"Position"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"presentations":{"items":{"$ref":"#/components/schemas/PresentationResponse"},"type":"array","title":"Presentations","default":[]}},"additionalProperties":true,"type":"object","required":["self_link","kind","definition","components","dashboard_id","page_id","position","created_at","updated_at"],"title":"UIDashboard"},"UIDashboardCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/UIDashboard"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"UIDashboardCollection"},"UptimeMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"uptime_percentage":{"anyOf":[{"type":"number"}],"title":"Uptime Percentage"}},"type":"object","title":"UptimeMetric"},"UseCaseDataProduct":{"properties":{"primary_stream_columns":{"items":{"type":"string"},"type":"array","title":"Primary Stream Columns","description":"Columns to SELECT from the primary stream"},"secondary_stream_columns":{"items":{"type":"string"},"type":"array","title":"Secondary Stream Columns","description":"Columns to SELECT from the secondary stream (if any)"}},"type":"object","title":"UseCaseDataProduct","description":"Defines what columns to SELECT from each stream to build the metrics."},"UseCaseExploitationPlan":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/UseCaseMetricDefinition"},"type":"array","title":"Metrics","description":"Key metrics to compute with their definitions and pseudo SQL"},"widgets":{"items":{"$ref":"#/components/schemas/UseCaseWidget"},"type":"array","title":"Widgets","description":"Recommended visualizations"}},"type":"object","title":"UseCaseExploitationPlan","description":"Data exploitation plan for a use case."},"UseCaseGenerationResponse":{"properties":{"input_stream_id":{"type":"string","title":"Input Stream Id","description":"The primary stream ID that was analyzed"},"input_stream_name":{"type":"string","title":"Input Stream Name","description":"Name of the primary stream"},"scope_streams_analyzed":{"type":"integer","title":"Scope Streams Analyzed","description":"Number of streams from scope that were analyzed"},"compatible_streams_found":{"type":"integer","title":"Compatible Streams Found","description":"Number of compatible streams found"},"use_cases":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__streams__stream_entity__UseCase"},"type":"array","title":"Use Cases","description":"Generated use case recommendations"},"generation_time_seconds":{"type":"number","title":"Generation Time Seconds","description":"Time taken to generate use cases"},"llm_time_seconds":{"type":"number","title":"Llm Time Seconds","description":"Time spent on LLM calls"}},"type":"object","required":["input_stream_id","input_stream_name","scope_streams_analyzed","compatible_streams_found","generation_time_seconds","llm_time_seconds"],"title":"UseCaseGenerationResponse","description":"Response model for use case generation endpoint."},"UseCaseMetricDefinition":{"properties":{"name":{"type":"string","title":"Name","description":"Metric name"},"description":{"type":"string","title":"Description","description":"What this metric measures"},"pseudo_sql":{"type":"string","title":"Pseudo Sql","description":"Pseudo SQL showing how to compute this metric"}},"type":"object","required":["name","description","pseudo_sql"],"title":"UseCaseMetricDefinition","description":"Definition of a metric with pseudo SQL."},"UseCaseStreamInfo":{"properties":{"stream_id":{"type":"string","title":"Stream Id","description":"Stream ID"},"stream_name":{"type":"string","title":"Stream Name","description":"Stream name"},"categorization_summary":{"anyOf":[{"type":"string"}],"title":"Categorization Summary","description":"AI categorization summary of the stream"}},"type":"object","required":["stream_id","stream_name"],"title":"UseCaseStreamInfo","description":"Information about a stream used in a use case."},"UseCaseStreams":{"properties":{"join_type":{"type":"string","title":"Join Type","description":"Type of join: 'geometry', 'temporal', or 'attribute'"},"join_condition":{"type":"string","title":"Join Condition","description":"Human-readable description of how the join works"},"primary_stream_id":{"type":"string","title":"Primary Stream Id","description":"Primary stream ID in the join"},"primary_stream_name":{"type":"string","title":"Primary Stream Name","description":"Primary stream name"},"primary_stream_info":{"anyOf":[{"$ref":"#/components/schemas/UseCaseStreamInfo"}],"description":"Detailed information about the primary stream"},"secondary_stream_id":{"anyOf":[{"type":"string"}],"title":"Secondary Stream Id","description":"Secondary stream ID (None for single-stream use cases)"},"secondary_stream_name":{"anyOf":[{"type":"string"}],"title":"Secondary Stream Name","description":"Secondary stream name"},"secondary_stream_info":{"anyOf":[{"$ref":"#/components/schemas/UseCaseStreamInfo"}],"description":"Detailed information about the secondary stream"}},"type":"object","required":["join_type","join_condition","primary_stream_id","primary_stream_name"],"title":"UseCaseStreams","description":"Stream combination information for a use case."},"UseCaseWidget":{"properties":{"widget_type":{"type":"string","title":"Widget Type","description":"Type of widget (bar, line, heatmap, etc.)"},"title":{"type":"string","title":"Title","description":"Title for the widget"},"description":{"type":"string","title":"Description","description":"What this widget shows and why it's useful"},"metrics_used":{"items":{"type":"string"},"type":"array","title":"Metrics Used","description":"List of metrics this widget displays"}},"type":"object","required":["widget_type","title","description"],"title":"UseCaseWidget","description":"Widget recommendation for a use case."},"User":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"job_title":{"anyOf":[{"type":"string"}],"title":"Job Title"},"origin":{"allOf":[{"$ref":"#/components/schemas/UserOrigin"}],"default":"CITYSCOPE"},"first_name":{"type":"string","minLength":0,"title":"First Name","strip_whitespace":1},"last_name":{"type":"string","minLength":0,"title":"Last Name","strip_whitespace":1},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/RoleType"}]},"email":{"type":"string","format":"email","title":"Email"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"provider_scopes":{"type":"string","format":"path","title":"Provider Scopes"},"date_joined":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Date Joined"},"user_status":{"allOf":[{"$ref":"#/components/schemas/UserStatus"}],"default":"unknown"},"org":{"type":"string","format":"path","title":"Org"},"cognito_user_id":{"type":"string","format":"uuid","title":"Cognito User Id"},"mfa_activation_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Mfa Activation Date"},"last_login_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Last Login Date"},"is_sso":{"type":"boolean","title":"Is Sso","default":false}},"additionalProperties":true,"type":"object","required":["self_link","kind","first_name","last_name","email","user_id","provider_scopes","org","cognito_user_id"],"title":"User"},"UserCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/User"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"UserCollection"},"UserCreate":{"properties":{"job_title":{"anyOf":[{"type":"string"}],"title":"Job Title"},"origin":{"allOf":[{"$ref":"#/components/schemas/UserOrigin"}],"default":"CITYSCOPE"},"first_name":{"type":"string","minLength":0,"title":"First Name","strip_whitespace":1},"last_name":{"type":"string","minLength":0,"title":"Last Name","strip_whitespace":1},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/RoleType"}]},"email":{"type":"string","format":"email","title":"Email"},"provider_scopes":{"anyOf":[{"items":{"type":"string","format":"path"},"type":"array","uniqueItems":true}],"title":"Provider Scopes"}},"type":"object","required":["first_name","last_name","email"],"title":"UserCreate"},"UserGroup":{"properties":{"name":{"type":"string","title":"Name"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"user_group_id":{"type":"integer","title":"User Group Id"},"members":{"items":{"$ref":"#/components/schemas/User"},"type":"array","title":"Members"},"zones":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Zones"},"inserted_at":{"type":"string","format":"date-time","title":"Inserted At"}},"type":"object","required":["name","self_link","kind","user_group_id","members","zones","inserted_at"],"title":"UserGroup"},"UserGroupCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/UserGroup"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"UserGroupCollection"},"UserGroupCreate":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"UserGroupCreate"},"UserOrigin":{"type":"string","enum":["CITYSCOPE","VIP"],"title":"UserOrigin"},"UserPatch":{"properties":{"job_title":{"anyOf":[{"type":"string"}],"title":"Job Title"},"origin":{"allOf":[{"$ref":"#/components/schemas/UserOrigin"}],"default":"CITYSCOPE"},"first_name":{"anyOf":[{"type":"string","minLength":0,"strip_whitespace":1}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","minLength":0,"strip_whitespace":1}],"title":"Last Name"},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/RoleType"}]}},"type":"object","title":"UserPatch"},"UserStatus":{"type":"string","enum":["pending","active","disabled","unknown"],"title":"UserStatus"},"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"},"Vehicle":{"properties":{"vehicle_id":{"type":"string","title":"Vehicle Id","description":"Vehicle Identification Number (vehicle_id) visible on vehicle"},"device_id":{"type":"string","format":"uuid","title":"Device Id","description":"Provided by Operator to uniquely identify a vehicle"},"vehicle_type":{"$ref":"#/components/schemas/VehicleType"},"propulsion_types":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__models__PropulsionType"},"type":"array","title":"Propulsion Types","default":[]},"year":{"anyOf":[{"type":"integer"}],"title":"Year","description":"Year manufactured"},"mfgr":{"anyOf":[{"type":"string"}],"title":"Mfgr","description":"Vehicle Manufacturer"},"model":{"anyOf":[{"type":"string"}],"title":"Model","description":"Vehicle Model"},"extras":{"type":"object","title":"Extras","description":"Additional information about the vehicle","default":{}},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"zone":{"anyOf":[{"type":"string","format":"path"}],"title":"Zone"},"provider":{"anyOf":[{"type":"string","format":"path"}],"title":"Provider"},"registration_date":{"type":"string","format":"date-time","title":"Registration Date"}},"type":"object","required":["vehicle_id","device_id","vehicle_type","self_link","kind","registration_date"],"title":"Vehicle"},"VehicleAgencyEvent":{"properties":{"vehicle_state":{"allOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v110__VehicleState"}],"description":"Only implemented for removed","default":"removed"}},"type":"object","title":"VehicleAgencyEvent"},"VehicleCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Vehicle"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"VehicleCollection"},"VehicleEvent":{"type":"string","enum":["agency_drop_off","agency_pick_up","battery_charged","battery_low","comms_lost","comms_restored","compliance_pick_up","decommissioned","located","maintenance","maintenance_pick_up","missing","off_hours","on_hours","provider_drop_off","rebalance_pick_up","reservation_cancel","reservation_start","system_resume","system_suspend","trip_cancel","trip_end","trip_enter_jurisdiction","trip_leave_jurisdiction","trip_start","unspecified"],"title":"VehicleEvent"},"VehicleRegister":{"properties":{"vehicle_id":{"type":"string","title":"Vehicle Id","description":"Vehicle Identification Number (vehicle_id) visible on vehicle"},"device_id":{"type":"string","format":"uuid","title":"Device Id","description":"Provided by Operator to uniquely identify a vehicle"},"vehicle_type":{"$ref":"#/components/schemas/VehicleType"},"propulsion_types":{"items":{"$ref":"#/components/schemas/vianova__hawkeye__models__PropulsionType"},"type":"array","title":"Propulsion Types","default":[]},"year":{"anyOf":[{"type":"integer"}],"title":"Year","description":"Year manufactured"},"mfgr":{"anyOf":[{"type":"string"}],"title":"Mfgr","description":"Vehicle Manufacturer"},"model":{"anyOf":[{"type":"string"}],"title":"Model","description":"Vehicle Model"},"extras":{"type":"object","title":"Extras","description":"Additional information about the vehicle","default":{}},"provider_id":{"type":"string","format":"uuid","title":"Provider Id","description":"Provider UUID, see list of providers [here](https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/providers.csv)"}},"type":"object","required":["vehicle_id","device_id","vehicle_type","provider_id"],"title":"VehicleRegister"},"VehicleStateOnProwMetric":{"properties":{"score":{"anyOf":[{"type":"integer"}],"title":"Score"},"count_vehicles_on_prow":{"anyOf":[{"type":"number"}],"title":"Count Vehicles On Prow"}},"type":"object","title":"VehicleStateOnProwMetric"},"VehicleType":{"type":"string","enum":["bicycle","cargo_bicycle","car","scooter","scooter_seated","moped","other"],"title":"VehicleType","description":"[MDS spec](https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/general-information.md#vehicle-types)\n\nThe list of allowed `vehicle_type` values in MDS. Aligning with [GBFS vehicle types form factors](https://github.com/NABSA/gbfs/blob/master/gbfs.md#vehicle_typesjson-added-in-v21-rc).\n\n| `vehicle_type` | Description |\n|----------------| ----------- |\n| bicycle        | A two-wheeled mobility device intended for personal transportation that can be operated via pedals, with or without a motorized assist (includes e-bikes, recumbents, and tandems) |\n| cargo_bicycle  | A two- or three-wheeled bicycle intended for transporting larger, heavier cargo than a standard bicycle (such as goods or passengers), with or without motorized assist (includes bakfiets/front-loaders, cargo trikes, and long-tails) |\n| car            | A passenger car or similar light-duty vehicle |\n| scooter        | A standing or seated fully-motorized mobility device intended for one rider, capable of travel at low or moderate speeds, and suited for operation in infrastructure shared with motorized bicycles |\n| scooter_seated | A seated fully-motorized scooter intended for one rider, distinguished from a standing scooter by having a seat |\n| moped          | A seated fully-motorized mobility device capable of travel at moderate or high speeds and suited for operation in general urban traffic |\n| other          | A device that does not fit in the other categories |"},"VehicleUpdate":{"properties":{"vehicle_id":{"type":"string","title":"Vehicle Id","description":"Vehicle Identification Number (vehicle_id) visible on vehicle"}},"type":"object","required":["vehicle_id"],"title":"VehicleUpdate"},"VianovaMds041":{"properties":{"data":{"$ref":"#/components/schemas/vianova__mds__versions__v041__Data"},"end_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Date"},"updated":{"type":"string","format":"date-time","title":"Updated"},"version":{"type":"string","pattern":"^0\\.4\\.[0-9]+$","title":"Version","example":["0.4.0"]},"deprecation_message":{"anyOf":[{"type":"string"}],"title":"Deprecation Message"}},"type":"object","required":["data","updated","version"],"title":"VianovaMds041"},"VianovaMds110":{"properties":{"data":{"$ref":"#/components/schemas/vianova__mds__versions__v110__Data"},"end_date":{"anyOf":[{"type":"number","multipleOf":1.0,"minimum":0.0}],"title":"End Date"},"updated":{"type":"number","multipleOf":1.0,"minimum":0.0,"title":"Updated"},"version":{"type":"string","pattern":"^1\\.1\\.[0-9]+$","title":"Version"},"deprecation_message":{"anyOf":[{"type":"string"}],"title":"Deprecation Message"}},"type":"object","required":["data","updated","version"],"title":"VianovaMds110"},"VianovaStreamType":{"type":"string","enum":["bms_fcd","geofeatures","legacy_geofeatures","derivated_stream","hourly_stats","daily_stats","hourly_stats_od_micro_mobility","ev_charging_analytics","ev_charging_enforcement","ev_charging_tariffs","fleet_timeline","micro_mobility_hub_suggestions","logistics_stops","logistics_od_flows","logistics_od_routes","compliance_unique_events","compliance_events","compliance_aggregation","regulation","stream_alert_findings","waze_alerts","waze_jams","mercedes_hazards","gbfs_station","realtime_metrics","realtime_capacity_ratio","realtime_infringements_clustering","road_safety_risk_aware","road_safety_collision_by_road","road_safety_collision_by_event","road_safety_vru_volume_by_road","road_safety_fcd_volume_by_road","road_safety_heavy_braking_by_road","road_safety_heavy_braking_by_event","road_safety_overspeeding_by_road","road_safety_overspeeding_by_event","road_safety_speed_by_road","realtime_mds_positions","realtime_mds_infringements","realtime_waze_alerts","realtime_waze_jams","in_out_bound_trips","unknown","aishub","drover","realtime_ingestion","waze_alerts_historical","waze_flows_historical","here_berlin","car_share_dublin","carshare_availability_metrics","carshare_trip_analytics","historical_carshare_status","historical_carshare_trips","a2a_milan","a2a_milan_od","historical_capacity_ratio","geneva_bus_ridership"],"title":"VianovaStreamType"},"Widget":{"properties":{"title":{"type":"string","minLength":0,"title":"Title","strip_whitespace":1},"uuid":{"anyOf":[{"type":"string","format":"uuid"}],"title":"Uuid"},"config":{"anyOf":[{"type":"object"}],"title":"Config"},"tracker":{"$ref":"#/components/schemas/Tracker"}},"type":"object","required":["title","tracker"],"title":"Widget"},"Zone":{"properties":{"published_time":{"type":"string","format":"date-time","title":"Published Time"},"is_demo":{"type":"boolean","title":"Is Demo","default":false},"zone_type":{"allOf":[{"$ref":"#/components/schemas/ZoneTypeEnum"}],"default":"micromobility"},"denied_regulation_group_in_events":{"anyOf":[{"items":{"type":"integer"},"type":"array"}],"title":"Denied Regulation Group In Events"},"gen_ai_presentation_enabled":{"anyOf":[{"type":"boolean"}],"title":"Gen Ai Presentation Enabled"},"show_only_attached_feeds":{"anyOf":[{"type":"boolean"}],"title":"Show Only Attached Feeds"},"use_distance_check_for_auto_resolve":{"anyOf":[{"type":"boolean"}],"title":"Use Distance Check For Auto Resolve"},"event_look_back_days":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":1.0}],"title":"Event Look Back Days"},"policy_private_default":{"anyOf":[{"type":"boolean"}],"title":"Policy Private Default"},"hide_micromobility_tabs":{"anyOf":[{"type":"boolean"}],"title":"Hide Micromobility Tabs"},"hubspot_recordid":{"anyOf":[{"type":"string"}],"title":"Hubspot Recordid"},"metrics_backfill_duration_months":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0}],"title":"Metrics Backfill Duration Months"},"k_anonymization_value":{"type":"integer","minimum":0.0,"title":"K Anonymization Value","default":3},"wms_link":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"string","enum":[""],"const":""}],"title":"Wms Link"},"wms_enabled":{"anyOf":[{"type":"boolean"}],"title":"Wms Enabled"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"time_zone":{"type":"string","title":"Time Zone"},"max_nb_history_versions":{"anyOf":[{"type":"integer"}],"title":"Max Nb History Versions"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"channels":{"type":"string","format":"path","title":"Channels"},"datasets":{"type":"string","format":"path","title":"Datasets"},"device_types":{"type":"string","format":"path","title":"Device Types"},"events":{"type":"string","format":"path","title":"Events"},"feeds":{"type":"string","format":"path","title":"Feeds"},"geo_features":{"type":"string","format":"path","title":"Geo Features"},"metrics":{"type":"string","format":"path","title":"Metrics"},"providers":{"type":"string","format":"path","title":"Providers"},"regulations":{"type":"string","format":"path","title":"Regulations"},"reports":{"type":"string","format":"path","title":"Reports"},"zone_roles":{"type":"string","format":"path","title":"Zone Roles"},"incidents":{"type":"string","format":"path","title":"Incidents"},"shared_datasets":{"type":"string","format":"path","title":"Shared Datasets"},"permissions":{"type":"string","format":"path","title":"Permissions"},"org":{"type":"string","format":"path","title":"Org"},"zone_id":{"type":"integer","minimum":1.0,"title":"Zone Id"},"detail_link":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Detail Link"},"stream_layers":{"type":"string","format":"path","title":"Stream Layers"},"streams":{"type":"string","format":"path","title":"Streams"},"stream_selectors":{"type":"string","format":"path","title":"Stream Selectors"},"regulation_groups":{"type":"string","format":"path","title":"Regulation Groups"},"saved_map_pages_count":{"type":"integer","title":"Saved Map Pages Count","default":0}},"type":"object","required":["published_time","time_zone","self_link","kind","channels","datasets","device_types","events","feeds","geo_features","metrics","providers","regulations","reports","zone_roles","incidents","shared_datasets","permissions","org","zone_id","detail_link","stream_layers","streams","stream_selectors","regulation_groups"],"title":"Zone"},"ZoneCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ZoneCollection"},"ZoneCreate":{"properties":{"is_demo":{"type":"boolean","title":"Is Demo","default":false},"zone_type":{"allOf":[{"$ref":"#/components/schemas/ZoneTypeEnum"}],"default":"micromobility"},"denied_regulation_group_in_events":{"anyOf":[{"items":{"type":"integer"},"type":"array"}],"title":"Denied Regulation Group In Events"},"gen_ai_presentation_enabled":{"anyOf":[{"type":"boolean"}],"title":"Gen Ai Presentation Enabled"},"show_only_attached_feeds":{"anyOf":[{"type":"boolean"}],"title":"Show Only Attached Feeds"},"use_distance_check_for_auto_resolve":{"anyOf":[{"type":"boolean"}],"title":"Use Distance Check For Auto Resolve"},"event_look_back_days":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":1.0}],"title":"Event Look Back Days"},"policy_private_default":{"anyOf":[{"type":"boolean"}],"title":"Policy Private Default"},"hide_micromobility_tabs":{"anyOf":[{"type":"boolean"}],"title":"Hide Micromobility Tabs"},"hubspot_recordid":{"anyOf":[{"type":"string"}],"title":"Hubspot Recordid"},"metrics_backfill_duration_months":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0}],"title":"Metrics Backfill Duration Months"},"k_anonymization_value":{"type":"integer","minimum":0.0,"title":"K Anonymization Value","default":3},"wms_link":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"string","enum":[""],"const":""}],"title":"Wms Link"},"wms_enabled":{"anyOf":[{"type":"boolean"}],"title":"Wms Enabled"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"time_zone":{"type":"string","title":"Time Zone"},"max_nb_history_versions":{"anyOf":[{"type":"integer"}],"title":"Max Nb History Versions"},"zone_limits":{"$ref":"#/components/schemas/GeometryElement"}},"type":"object","required":["time_zone","zone_limits"],"title":"ZoneCreate"},"ZoneFeedPatch":{"properties":{"status":{"$ref":"#/components/schemas/ZoneFeedPatchStatus"}},"type":"object","required":["status"],"title":"ZoneFeedPatch"},"ZoneFeedPatchStatus":{"type":"string","enum":["rejected","accepted"],"title":"ZoneFeedPatchStatus"},"ZoneFeedStatus":{"type":"string","enum":["pending","rejected","accepted","unverified"],"title":"ZoneFeedStatus"},"ZoneFeedVerificationStatus":{"properties":{"verified":{"type":"boolean","title":"Verified"}},"type":"object","required":["verified"],"title":"ZoneFeedVerificationStatus"},"ZonePatch":{"properties":{"denied_regulation_group_in_events":{"anyOf":[{"items":{"type":"integer"},"type":"array"}],"title":"Denied Regulation Group In Events"},"gen_ai_presentation_enabled":{"anyOf":[{"type":"boolean"}],"title":"Gen Ai Presentation Enabled"},"show_only_attached_feeds":{"anyOf":[{"type":"boolean"}],"title":"Show Only Attached Feeds"},"use_distance_check_for_auto_resolve":{"anyOf":[{"type":"boolean"}],"title":"Use Distance Check For Auto Resolve"},"event_look_back_days":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":1.0}],"title":"Event Look Back Days"},"policy_private_default":{"anyOf":[{"type":"boolean"}],"title":"Policy Private Default"},"hide_micromobility_tabs":{"anyOf":[{"type":"boolean"}],"title":"Hide Micromobility Tabs"},"hubspot_recordid":{"anyOf":[{"type":"string"}],"title":"Hubspot Recordid"},"metrics_backfill_duration_months":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0}],"title":"Metrics Backfill Duration Months"},"k_anonymization_value":{"type":"integer","minimum":0.0,"title":"K Anonymization Value","default":3},"wms_link":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"string","enum":[""],"const":""}],"title":"Wms Link"},"wms_enabled":{"anyOf":[{"type":"boolean"}],"title":"Wms Enabled"},"zone_type":{"anyOf":[{"$ref":"#/components/schemas/ZoneTypeEnum"}]},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"time_zone":{"anyOf":[{"type":"string"}],"title":"Time Zone"},"max_nb_history_versions":{"anyOf":[{"type":"integer"}],"title":"Max Nb History Versions"}},"type":"object","title":"ZonePatch"},"ZonePermissionTier":{"type":"string","enum":["free","standard","premium"],"title":"ZonePermissionTier"},"ZonePermissions":{"properties":{"tier":{"anyOf":[{"$ref":"#/components/schemas/ZonePermissionTier"}]},"projects":{"allOf":[{"$ref":"#/components/schemas/PermissionProjects"}],"default":{"enabled":false}},"streams":{"allOf":[{"$ref":"#/components/schemas/PermissionStreams"}],"default":{"stream_count_cap":100}},"regulations":{"allOf":[{"$ref":"#/components/schemas/PermissionRegulations"}],"default":{"enabled":true}},"incidents":{"allOf":[{"$ref":"#/components/schemas/PermissionIncidents"}],"default":{"enabled":true}},"metrics":{"allOf":[{"$ref":"#/components/schemas/PermissionMetrics"}],"default":{"fleet_fraction":1.0,"availability":{}}},"reports":{"allOf":[{"$ref":"#/components/schemas/PermissionReports"}],"default":{}},"geo_features":{"allOf":[{"$ref":"#/components/schemas/PermissionGeoFeatures"}],"default":{"allowed_create_geo_feature_tags":[]}},"notifications":{"allOf":[{"$ref":"#/components/schemas/PermissionNotifications"}],"default":{"enabled":true}}},"type":"object","title":"ZonePermissions"},"ZoneRole":{"properties":{"user":{"anyOf":[{"type":"string","format":"path"}],"title":"User"},"user_group":{"anyOf":[{"type":"string","format":"path"}],"title":"User Group"},"org":{"anyOf":[{"type":"string","format":"path"}],"title":"Org"},"expiration":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Expiration"},"role":{"$ref":"#/components/schemas/ZoneRoleRole"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"zone":{"type":"string","format":"path","title":"Zone"},"zone_name":{"type":"string","title":"Zone Name"},"zone_role_id":{"type":"integer","title":"Zone Role Id"},"status":{"$ref":"#/components/schemas/ZoneRoleStatus"}},"type":"object","required":["role","self_link","kind","zone","zone_name","zone_role_id","status"],"title":"ZoneRole"},"ZoneRoleCollection":{"properties":{"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"page_token":{"type":"string","title":"Page Token"},"next_page_token":{"type":"string","title":"Next Page Token"},"page_size":{"type":"integer","minimum":0.0,"title":"Page Size"},"total_size":{"type":"integer","minimum":0.0,"title":"Total Size"},"total_pages":{"type":"integer","minimum":0.0,"title":"Total Pages"},"contents":{"items":{"$ref":"#/components/schemas/ZoneRole"},"type":"array","title":"Contents"}},"additionalProperties":true,"type":"object","required":["self_link","kind","page_token","next_page_token","page_size","total_size","total_pages","contents"],"title":"ZoneRoleCollection"},"ZoneRoleCreate":{"properties":{"user":{"anyOf":[{"type":"string","format":"path"}],"title":"User"},"user_group":{"anyOf":[{"type":"string","format":"path"}],"title":"User Group"},"org":{"anyOf":[{"type":"string","format":"path"}],"title":"Org"},"expiration":{"anyOf":[{"type":"string","format":"date-time"}],"title":"Expiration"},"role":{"$ref":"#/components/schemas/ZoneRoleRole"}},"type":"object","required":["role"],"title":"ZoneRoleCreate"},"ZoneRolePatch":{"properties":{"status":{"$ref":"#/components/schemas/ZoneRoleStatus"}},"type":"object","required":["status"],"title":"ZoneRolePatch"},"ZoneRoleRole":{"type":"string","enum":["admin","member","demo","prospect","provider","provider_freemium"],"title":"ZoneRoleRole"},"ZoneRoleStatus":{"type":"string","enum":["pending","rejected","accepted","expired"],"title":"ZoneRoleStatus"},"ZoneTypeEnum":{"type":"string","enum":["micromobility","road_safety","hybrid"],"title":"ZoneTypeEnum"},"vianova__hawkeye__models__PropulsionType":{"type":"string","enum":["human","electric","electric_assist","combustion"],"title":"PropulsionType","description":"https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/general-information.md#propulsion-types\n\n| `propulsion`      | Description                                            |\n| ----------------- | ------------------------------------------------------ |\n| `human`           | Pedal or foot propulsion                               |\n| `electric_assist` | Provides power only alongside human propulsion         |\n| `electric`        | Contains throttle mode with a battery-powered motor    |\n| `combustion`      | Contains throttle mode with a gas engine-powered motor |\n\nA vehicle may have one or more values from the `propulsion`, depending on the number of modes of operation.\nFor example, a scooter that can be powered by foot or by electric motor would have\nthe `propulsion` represented by the array `['human', 'electric']`.\nA bicycle with pedal-assist would have the `propulsion` represented by the array `['human', 'electric_assist']`\nif it can also be operated as a traditional bicycle."},"vianova__hawkeye__models__UseCase":{"type":"string","enum":["mobility_regulation","mobility_planning","fleet_optimisation","logistics_optimisation","data_monetisation","data_sharing","road_safety","infrastructure_planning","other"],"title":"UseCase"},"vianova__hawkeye__src__models__feeds__FeedZone":{"properties":{"creation_time":{"type":"string","format":"date-time","title":"Creation Time"},"zone_id":{"type":"integer","title":"Zone Id"},"zone_name":{"type":"string","title":"Zone Name"},"org_id":{"type":"integer","title":"Org Id"},"org_name":{"anyOf":[{"type":"string"}],"title":"Org Name"},"zone":{"type":"string","format":"path","title":"Zone"},"org":{"type":"string","format":"path","title":"Org"},"requested_by":{"anyOf":[{"type":"string","format":"email"}],"title":"Requested By"},"feed_request_status":{"$ref":"#/components/schemas/ZoneFeedStatus"}},"type":"object","required":["creation_time","zone_id","zone_name","org_id","zone","org","feed_request_status"],"title":"FeedZone"},"vianova__hawkeye__src__routes__feeds__FeedZone":{"properties":{"creation_time":{"type":"string","format":"date-time","title":"Creation Time"},"feed_request_status":{"$ref":"#/components/schemas/ZoneFeedStatus"},"published_time":{"type":"string","format":"date-time","title":"Published Time"},"is_demo":{"type":"boolean","title":"Is Demo","default":false},"zone_type":{"allOf":[{"$ref":"#/components/schemas/ZoneTypeEnum"}],"default":"micromobility"},"denied_regulation_group_in_events":{"anyOf":[{"items":{"type":"integer"},"type":"array"}],"title":"Denied Regulation Group In Events"},"gen_ai_presentation_enabled":{"anyOf":[{"type":"boolean"}],"title":"Gen Ai Presentation Enabled"},"show_only_attached_feeds":{"anyOf":[{"type":"boolean"}],"title":"Show Only Attached Feeds"},"use_distance_check_for_auto_resolve":{"anyOf":[{"type":"boolean"}],"title":"Use Distance Check For Auto Resolve"},"event_look_back_days":{"anyOf":[{"type":"integer","maximum":15.0,"minimum":1.0}],"title":"Event Look Back Days"},"policy_private_default":{"anyOf":[{"type":"boolean"}],"title":"Policy Private Default"},"hide_micromobility_tabs":{"anyOf":[{"type":"boolean"}],"title":"Hide Micromobility Tabs"},"hubspot_recordid":{"anyOf":[{"type":"string"}],"title":"Hubspot Recordid"},"metrics_backfill_duration_months":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0}],"title":"Metrics Backfill Duration Months"},"k_anonymization_value":{"type":"integer","minimum":0.0,"title":"K Anonymization Value","default":3},"wms_link":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"string","enum":[""],"const":""}],"title":"Wms Link"},"wms_enabled":{"anyOf":[{"type":"boolean"}],"title":"Wms Enabled"},"name":{"anyOf":[{"type":"string"}],"title":"Name"},"time_zone":{"type":"string","title":"Time Zone"},"max_nb_history_versions":{"anyOf":[{"type":"integer"}],"title":"Max Nb History Versions"},"self_link":{"type":"string","format":"path","title":"Self Link"},"kind":{"$ref":"#/components/schemas/Kind"},"channels":{"type":"string","format":"path","title":"Channels"},"datasets":{"type":"string","format":"path","title":"Datasets"},"device_types":{"type":"string","format":"path","title":"Device Types"},"events":{"type":"string","format":"path","title":"Events"},"feeds":{"type":"string","format":"path","title":"Feeds"},"geo_features":{"type":"string","format":"path","title":"Geo Features"},"metrics":{"type":"string","format":"path","title":"Metrics"},"providers":{"type":"string","format":"path","title":"Providers"},"regulations":{"type":"string","format":"path","title":"Regulations"},"reports":{"type":"string","format":"path","title":"Reports"},"zone_roles":{"type":"string","format":"path","title":"Zone Roles"},"incidents":{"type":"string","format":"path","title":"Incidents"},"shared_datasets":{"type":"string","format":"path","title":"Shared Datasets"},"permissions":{"type":"string","format":"path","title":"Permissions"},"org":{"type":"string","format":"path","title":"Org"},"zone_id":{"type":"integer","minimum":1.0,"title":"Zone Id"},"detail_link":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Detail Link"},"stream_layers":{"type":"string","format":"path","title":"Stream Layers"},"streams":{"type":"string","format":"path","title":"Streams"},"stream_selectors":{"type":"string","format":"path","title":"Stream Selectors"},"regulation_groups":{"type":"string","format":"path","title":"Regulation Groups"},"saved_map_pages_count":{"type":"integer","title":"Saved Map Pages Count","default":0}},"type":"object","required":["creation_time","feed_request_status","published_time","time_zone","self_link","kind","channels","datasets","device_types","events","feeds","geo_features","metrics","providers","regulations","reports","zone_roles","incidents","shared_datasets","permissions","org","zone_id","detail_link","stream_layers","streams","stream_selectors","regulation_groups"],"title":"FeedZone"},"vianova__hawkeye__streams__stream_entity__UseCase":{"properties":{"title":{"type":"string","title":"Title","description":"Clear, descriptive title for the use case"},"pain_point":{"type":"string","title":"Pain Point","description":"Business problem this use case addresses"},"description":{"type":"string","title":"Description","description":"Detailed explanation of what this use case does"},"streams":{"allOf":[{"$ref":"#/components/schemas/UseCaseStreams"}],"description":"How streams are combined"},"data_product":{"allOf":[{"$ref":"#/components/schemas/UseCaseDataProduct"}],"description":"What columns and operations are used from each stream"},"exploitation_plan":{"allOf":[{"$ref":"#/components/schemas/UseCaseExploitationPlan"}],"description":"How to analyze and visualize the data"},"confidence":{"type":"string","title":"Confidence","description":"Confidence level: 'high', 'medium', or 'low'","default":"medium"},"domain":{"anyOf":[{"type":"string"}],"title":"Domain","description":"Primary domain (e.g., 'transportation', 'logistics')"}},"type":"object","required":["title","pain_point","description","streams","data_product","exploitation_plan"],"title":"UseCase","description":"A complete use case recommendation."},"vianova__mds__versions__v041__Data":{"properties":{"policies":{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v041__Policy"},"type":"array","title":"The policy payload"}},"type":"object","required":["policies"],"title":"Data"},"vianova__mds__versions__v041__Policy":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"policy_id":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","title":"Policy Id","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"provider_ids":{"anyOf":[{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array"}],"title":"Provider Ids"},"description":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Description","example":["ABC123"]},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"city":{"anyOf":[{"type":"string"}],"title":"City"},"end_date":{"anyOf":[{"type":"string","format":"date-time"}],"title":"End Date"},"published_date":{"type":"string","format":"date-time","title":"Published Date"},"prev_policies":{"anyOf":[{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array"}],"title":"Prev Policies"},"rules":{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v041__Rule"},"type":"array","minItems":1,"title":"Rules"}},"type":"object","required":["name","policy_id","description","start_date","published_date","rules"],"title":"Policy"},"vianova__mds__versions__v041__Rule":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"rule_id":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","title":"Rule Id","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"rule_type":{"$ref":"#/components/schemas/vianova__mds__versions__v041__RuleType"},"geographies":{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array","title":"Geographies"},"statuses":{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v041__VehicleState"},"type":"array","title":"Statuses"},"rule_units":{"anyOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v041__RuleUnits"}]},"vehicle_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/VehicleType"},"type":"array"}],"title":"Vehicle Types"},"propulsion_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v110__PropulsionType"},"type":"array"}],"title":"Propulsion Types"},"minimum":{"anyOf":[{"type":"integer"}],"title":"Minimum"},"maximum":{"anyOf":[{"type":"integer"}],"title":"Maximum"},"start_time":{"anyOf":[{"type":"string","format":"time"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"}],"title":"End Time"},"days":{"anyOf":[{"items":{"$ref":"#/components/schemas/Day"},"type":"array"}],"title":"Days"},"messages":{"anyOf":[{"type":"object"}],"title":"Messages"},"value_url":{"anyOf":[{"type":"string"}],"title":"Value Url"}},"type":"object","required":["name","rule_id","rule_type","geographies","statuses"],"title":"Rule"},"vianova__mds__versions__v041__RuleType":{"type":"string","enum":["count","time","speed","user"],"title":"RuleType"},"vianova__mds__versions__v041__RuleUnits":{"type":"string","enum":["seconds","minutes","hours","days","mph","kph"],"title":"RuleUnits"},"vianova__mds__versions__v041__VehicleState":{"type":"string","enum":["available","reserved","removed","unavailable"],"title":"VehicleState"},"vianova__mds__versions__v110__Data":{"properties":{"policy":{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v110__Policy"},"type":"array","title":"The policy payload"}},"type":"object","required":["policy"],"title":"Data"},"vianova__mds__versions__v110__Policy":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"policy_id":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","title":"Policy Id","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"provider_ids":{"anyOf":[{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array"}],"title":"Provider Ids"},"description":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Description","example":["ABC123"]},"currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$","example":["USD","EUR","GBP"]}],"title":"Currency"},"start_date":{"type":"number","multipleOf":1.0,"minimum":0.0,"title":"Start Date"},"end_date":{"anyOf":[{"type":"number","multipleOf":1.0,"minimum":0.0}],"title":"End Date"},"published_date":{"type":"number","multipleOf":1.0,"minimum":0.0,"title":"Published Date"},"prev_policies":{"anyOf":[{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array"}],"title":"Prev Policies"},"rules":{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v110__Rule"},"type":"array","minItems":1,"title":"Rules"}},"type":"object","required":["name","policy_id","description","start_date","published_date","rules"],"title":"Policy"},"vianova__mds__versions__v110__PropulsionType":{"type":"string","enum":["combustion","electric","electric_assist","human"],"title":"PropulsionType"},"vianova__mds__versions__v110__Rule":{"properties":{"name":{"type":"string","maxLength":255,"pattern":"^(.*)$","title":"Name","example":["ABC123"]},"rule_id":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","title":"Rule Id","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"rule_type":{"$ref":"#/components/schemas/vianova__mds__versions__v110__RuleType"},"geographies":{"items":{"type":"string","pattern":"^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","example":["3c9604d6-b5ee-11e8-96f8-529269fb1459"]},"type":"array","title":"Geographies"},"states":{"additionalProperties":{"items":{"$ref":"#/components/schemas/VehicleEvent"},"type":"array"},"type":"object","title":"States"},"rule_units":{"anyOf":[{"$ref":"#/components/schemas/vianova__mds__versions__v110__RuleUnits"}]},"vehicle_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/VehicleType"},"type":"array"}],"title":"Vehicle Types"},"propulsion_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/vianova__mds__versions__v110__PropulsionType"},"type":"array"}],"title":"Propulsion Types"},"minimum":{"anyOf":[{"type":"number"}],"title":"Minimum"},"maximum":{"anyOf":[{"type":"number"}],"title":"Maximum"},"rate_amount":{"anyOf":[{"type":"number"}],"title":"Rate Amount"},"rate_recurrence":{"anyOf":[{"$ref":"#/components/schemas/RateRecurrence"}]},"start_time":{"anyOf":[{"type":"string","pattern":"([0-2][0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9]"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","pattern":"([0-2][0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9]"}],"title":"End Time"},"days":{"anyOf":[{"items":{"$ref":"#/components/schemas/Day"},"type":"array"}],"title":"Days"},"messages":{"anyOf":[{"type":"object"}],"title":"Messages"},"value_url":{"anyOf":[{"type":"string"}],"title":"Value Url"}},"type":"object","required":["name","rule_id","rule_type","geographies","states"],"title":"Rule"},"vianova__mds__versions__v110__RuleType":{"type":"string","enum":["count","time","speed","rate","user"],"title":"RuleType"},"vianova__mds__versions__v110__RuleUnits":{"type":"string","enum":["seconds","minutes","hours","days","mph","kph","devices","amount"],"title":"RuleUnits"},"vianova__mds__versions__v110__VehicleState":{"type":"string","enum":["available","elsewhere","non_operational","on_trip","removed","reserved","unknown"],"title":"VehicleState","description":"https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/general-information.md#vehicle-states\nThis table describes the list of vehicle conditions that may be used by regulators to assess the disposition of individual vehicles and fleets of vehicles.  Some of these states describe vehicles in the Public Right-of-Way (PROW), and others represent vehicles that are not.  One state (`unknown`) implies that PROW status is unknown.\n\nIn a multi-jurisdiction environment, the status of a vehicle is per-jurisdiction.  For example, a vehicle may be in the `on_trip` status for a county that contains five cities, and also in the `on_trip` status for one of those cities, but `elsewhere` for the other four cities.  In such a condition, generally a Provider would send the device data to the over-arching jurisdiction (the county) and the vehicle state with respect to each city would be determined by the Agency managing the jurisdictions.\n\n| `vehicle_state`   | In PROW? | Description |\n| ----------------- | -------- | ----------- |\n| `removed`         | no      | Examples include: at the Provider's warehouse, in a Provider's truck, or destroyed and in a landfill. |\n| `available`       | yes     | Available for rental via the Provider's app. In PROW. |\n| `non_operational` | yes     | Not available for rent.  Examples include: vehicle has low battery, or currently outside legal operating hours. |\n| `reserved`        | yes     | Reserved via Provider's app, waiting to be picked up by a rider. |\n| `on_trip`         | yes     | In possession of renter.  May or may not be in motion. |\n| `elsewhere`       | no      | Outside of regulator's jurisdiction, and thus not subject to cap-counts or other regulations. Example: a vehicle that started a trip in L.A. has transitioned to Santa Monica.  |\n| `unknown`         | unknown | Provider has lost contact with the vehicle and its disposition is unknown.  Examples include: taken into a private residence, thrown in river. |"}},"securitySchemes":{"_Bearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/token/"}}}}},"tags":[{"name":"Root","description":"Top-level operations","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Orgs","description":"Org-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Zones","description":"Zone-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Feeds","description":"Feed-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Regulations","description":"Regulation-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Providers","description":"Provider-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Geo Features","description":"Geo-Feature-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}},{"name":"Users","description":"User-related resources","externalDocs":{"description":"External Docs","url":"https://vianova.io/"}}]}