{"openapi":"3.1.0","info":{"title":"Urban API","description":"Urban API provides access to a comprehensive dataset of urban and territorial information across the Russian Federation.\n\nThe API enables clients to retrieve, analyze, and manage data related to administrative units, physical objects, infrastructure, functional zones, and spatial geometries. In addition to baseline territorial data, it supports working with urban development scenarios, including renovation and land reclamation processes.\n\nDesigned for integration with analytical systems and decision-support tools, the API allows users to:\n- explore hierarchical territorial structures (regions, districts, and cities),\n- access detailed attributes of physical and infrastructural objects,\n- work with geospatial data and object geometries,\n- manage and evaluate redevelopment scenarios and planning alternatives.\n\nThis API is a core component of the Renovation Platform named \"<a href='https://prostor.idu.actcognitive.org' target='_blank' rel='noopener noreferrer'>Простор</a>\", aimed at supporting data-driven urban planning and territorial management at scale.","version":"1.0.0a8 (2026-09-21)"},"paths":{"/api/v1/buffer_types":{"get":{"tags":["buffers"],"summary":"Get Buffer Types","description":"## Get the list of buffer types.\n\n### Returns:\n- **list[BufferType]**: A list of buffer types.","operationId":"get_buffer_types_api_v1_buffer_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BufferType"},"type":"array","title":"Response Get Buffer Types Api V1 Buffer Types Get"}}}}}},"post":{"tags":["buffers"],"summary":"Add Buffer Type","description":"## Create a new buffer type.\n\n### Parameters:\n- **buffer_type** (BufferTypePost, Body): Data for the new buffer type.\n\n### Returns:\n- **BufferType**: The created buffer type.\n\n### Errors:\n- **409 Conflict**: If a buffer type with the such name already exists.","operationId":"add_buffer_type_api_v1_buffer_types_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BufferTypePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BufferType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buffer_types/defaults":{"get":{"tags":["buffers"],"summary":"Get All Default Buffer Values","description":"## Get a list of all buffer types with default buffer radius (in meters) for each physical object/service type.\n\n### Returns:\n- **list[DefaultBufferValue]**: List of all buffer types with default value for each physical object/service type.","operationId":"get_all_default_buffer_values_api_v1_buffer_types_defaults_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DefaultBufferValue"},"type":"array","title":"Response Get All Default Buffer Values Api V1 Buffer Types Defaults Get"}}}}}},"put":{"tags":["buffers"],"summary":"Put Buffer Default Value","description":"## Add or update a default buffer value.\n\n**NOTE:** If a default buffer value the such params already exists, it will be updated.\nOtherwise, a new default buffer value will be created.\n\n### Parameters:\n- **default_buffer_value** (DefaultBufferValuePut, Body): New data for the buffer.\n\n### Returns:\n- **Buffer**: The updated buffer.\n\n### Errors:\n- **404 Not Found**: If the buffer type (or related entity) does not exist.","operationId":"put_buffer_default_value_api_v1_buffer_types_defaults_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultBufferValuePut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultBufferValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["buffers"],"summary":"Add Default Buffer Value","description":"## Add a new default buffer value for given buffer type and physical object/service type.\n\n### Parameters:\n- **default_buffer_value** (DefaultBufferValuePost, Body): Data for the new default buffer value.\n\n### Returns:\n- **DefaultBufferValue**: The created default buffer value.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"add_default_buffer_value_api_v1_buffer_types_defaults_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultBufferValuePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultBufferValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buffers":{"put":{"tags":["buffers"],"summary":"Put Buffer","description":"## Update a buffer by replacing all attributes.\n\n**NOTE 1:** If the geometry is not passed, the method will try to automatically create a buffer with default radius\n(it depends on physical object/service type) for given urban object.\n\n**NOTE 2:** If a buffer the such params already exists, it will be updated.\nOtherwise, a new buffer will be created.\n\n### Parameters:\n- **buffer** (BufferPut, Body): New data for the buffer.\n\n### Returns:\n- **Buffer**: The updated buffer.\n\n### Errors:\n- **400 Bad Request**: If the geometry is not passed and default radius does not exist.\n- **404 Not Found**: If the buffer (or related entity) does not exist.","operationId":"put_buffer_api_v1_buffers_put","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BufferPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Buffer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["buffers"],"summary":"Delete Buffer","description":"## Delete a buffer by buffer type and urban object.\n\n### Parameters:\n- **buffer_type_id** (int, Query): Unique identifier of the buffer type.\n- **urban_object_id** (int, Query): Unique identifier of the urban object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the buffer does not exist.","operationId":"delete_buffer_api_v1_buffers_delete","parameters":[{"name":"buffer_type_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"buffer type identifier","title":"Buffer Type Id"},"description":"buffer type identifier"},{"name":"urban_object_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"urban object identifier","title":"Urban Object Id"},"description":"urban object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/measurement_units":{"get":{"tags":["indicators"],"summary":"Get Measurement Units","description":"## Get the list of measurement units.\n\n### Returns:\n- **list[MeasurementUnit]**: A list of measurement units.","operationId":"get_measurement_units_api_v1_measurement_units_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MeasurementUnit"},"type":"array","title":"Response Get Measurement Units Api V1 Measurement Units Get"}}}}}},"post":{"tags":["indicators"],"summary":"Add Measurement Unit","description":"## Create a new measurement unit.\n\n### Parameters:\n- **measurement_unit** (MeasurementUnitPost, Body): Data for the new measurement unit.\n\n### Returns:\n- **MeasurementUnit**: The created measurement unit.\n\n### Errors:\n- **409 Conflict**: If a measurement unit with the such name already exists.","operationId":"add_measurement_unit_api_v1_measurement_units_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeasurementUnitPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeasurementUnit"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators_groups":{"get":{"tags":["indicators"],"summary":"Get Indicators Groups","description":"## Get all indicators groups.\n\n### Returns:\n- **list[IndicatorsGroup]**: A list of indicators groups.","operationId":"get_indicators_groups_api_v1_indicators_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IndicatorsGroup"},"type":"array","title":"Response Get Indicators Groups Api V1 Indicators Groups Get"}}}}}},"put":{"tags":["indicators"],"summary":"Update Indicators Group","description":"## Update or create an indicators group.\n\n**NOTE:** If an indicators group with the such name already exists, it will be updated (change all indicators).\nOtherwise, a new indicators group will be created.\n\n### Parameters:\n- **indicators_group** (IndicatorsGroupPost, Body): Updated data for the indicators group,\nincluding name and list of indicators.\n\n### Returns:\n- **IndicatorsGroup**: The updated indicators group.\n\n### Errors:\n- **404 Not Found**: If the given indicators do not exist.","operationId":"update_indicators_group_api_v1_indicators_groups_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsGroupPost"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["indicators"],"summary":"Add Indicators Group","description":"## Create a new indicators group.\n\n### Parameters:\n- **indicators_group** (IndicatorsGroupPost, Body): Data for the new indicators group,\nincluding name and list of indicators.\n\n### Returns:\n- **IndicatorsGroup**: The created indicators group.\n\n### Errors:\n- **404 Not Found**: If the given indicators do not exist.\n- **409 Conflict**: If an indicators group with the such name already exists.","operationId":"add_indicators_group_api_v1_indicators_groups_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsGroupPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators_groups/{indicators_group_id}":{"get":{"tags":["indicators"],"summary":"Get Indicators By Group Id","description":"## Get all indicators within a specific indicators group.\n\n### Parameters:\n- **indicators_group_id** (int, Path): Unique identifier of the indicators group.\n\n### Returns:\n- **list[Indicator]**: A list of indicators within the specified group.\n\n### Errors:\n- **404 Not Found**: If the indicators group does not exist.","operationId":"get_indicators_by_group_id_api_v1_indicators_groups__indicators_group_id__get","parameters":[{"name":"indicators_group_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicators group identifier","title":"Indicators Group Id"},"description":"indicators group identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Indicator"},"title":"Response Get Indicators By Group Id Api V1 Indicators Groups  Indicators Group Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators_by_parent":{"get":{"tags":["indicators"],"summary":"Get Indicators By Parent","description":"## Get a list of indicators by parent identifier or name.\n\n**WARNING:** You only can get indicators by parent identifier or parent name.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent indicator. If skipped, it\nreturns the highest level indicators.\n- **parent_name** (str | None, Query): Full name of the parent indicator.\n- **name** (str | None, Query): Filters results by indicator name.\n- **territory_id** (int | None, Query): Filters results by territory identifier.\n- **service_type_id** (int | None, Query): Filters results by service type identifier.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type identifier.\n- **get_all_subtree** (bool, Query): If True, gets the entire subtree of indicators.\n\n### Returns:\n- **list[Indicator]**: A list of indicators matching the filters.\n\n### Errors:\n- **400 Bad Request**: If both parent_id and parent_name or service_type_id and\nphysical_object_type_id are provided.\n- **404 Not Found**: If the indicator does not exist.","operationId":"get_indicators_by_parent_api_v1_indicators_by_parent_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent indicator id to filter, should be skipped to get top level indicators","title":"Parent Id"},"description":"parent indicator id to filter, should be skipped to get top level indicators"},{"name":"parent_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"parent indicator name to filter, you need to pass the full name","title":"Parent Name"},"description":"parent indicator name to filter, you need to pass the full name"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter by indicator name","title":"Name"},"description":"filter by indicator name"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"filter by territory id (not including inner territories)","title":"Territory Id"},"description":"filter by territory id (not including inner territories)"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"filter by service type id","title":"Service Type Id"},"description":"filter by service type id"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"filter by physical object type id","title":"Physical Object Type Id"},"description":"filter by physical object type id"},{"name":"get_all_subtree","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of indicators","default":false,"title":"Get All Subtree"},"description":"getting full subtree of indicators"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Indicator"},"title":"Response Get Indicators By Parent Api V1 Indicators By Parent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators/{indicator_id}":{"get":{"tags":["indicators"],"summary":"Get Indicator By Id","description":"## Get an indicator by its identifier.\n\n### Parameters:\n- **indicator_id** (int, Path): Unique identifier of the indicator.\n\n### Returns:\n- **Indicator**: The requested indicator.\n\n### Errors:\n- **404 Not Found**: If the indicator does not exist.","operationId":"get_indicator_by_id_api_v1_indicators__indicator_id__get","parameters":[{"name":"indicator_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator identifier","title":"Indicator Id"},"description":"indicator identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Indicator"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["indicators"],"summary":"Patch Indicator","description":"## Partially update an indicator.\n\n### Parameters:\n- **indicator_id** (int, Path): Unique identifier of the indicator.\n- **indicator** (IndicatorsPatch, Body): Fields to update in the indicator.\n\n### Returns:\n- **Indicator**: The updated indicator with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the indicator (or related entity) does not exist.","operationId":"patch_indicator_api_v1_indicators__indicator_id__patch","parameters":[{"name":"indicator_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator identifier","title":"Indicator Id"},"description":"indicator identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Indicator"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["indicators"],"summary":"Delete Indicator","description":"## Delete an indicator by its identifier.\n\n**WARNING:** This operation also removes all child elements of the indicator.\n\n### Parameters:\n- **indicator_id** (int, Path): Unique identifier of the indicator.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the indicator does not exist.","operationId":"delete_indicator_api_v1_indicators__indicator_id__delete","parameters":[{"name":"indicator_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator identifier","title":"Indicator Id"},"description":"indicator identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators":{"put":{"tags":["indicators"],"summary":"Put Indicator","description":"## Update or create an indicator.\n\n**NOTE:** If an indicator with the such name already exists, it will be updated.\nOtherwise, a new indicator will be created.\n\n### Parameters:\n- **indicator** (IndicatorPut, Body): Data for updating or creating an indicator.\n\n### Returns:\n- **Indicator**: The updated or created indicator.\n\n### Errors:\n- **404 Not Found**: If the indicator (or related entity) does not exist.","operationId":"put_indicator_api_v1_indicators_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorPut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Indicator"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["indicators"],"summary":"Add Indicator","description":"## Create a new indicator.\n\n### Parameters:\n- **indicator** (IndicatorPost, Body): Data for the new indicator.\n\n### Returns:\n- **Indicator**: The created indicator.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If an indicator with the such name already exists.","operationId":"add_indicator_api_v1_indicators_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Indicator"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicator_value/{indicator_value_id}":{"get":{"tags":["indicators"],"summary":"Get Indicator Value By Id","description":"## Get an indicator value by identifier.\n\n### Parameters:\n- **indicator_value_id** (int, Path): Unique identifier of the indicator value.\n\n### Returns:\n- **IndicatorValue**: The requested indicator value.\n\n### Errors:\n- **404 Not Found**: If the indicator value does not exist.","operationId":"get_indicator_value_by_id_api_v1_indicator_value__indicator_value_id__get","parameters":[{"name":"indicator_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator value identifier","title":"Indicator Value Id"},"description":"indicator value identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["indicators"],"summary":"Delete Indicator Value","description":"## Delete an indicator value by identifier.\n\n### Parameters:\n- **indicator_value_id** (int, Path): Unique identifier of the indicator value.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the indicator value does not exist.","operationId":"delete_indicator_value_api_v1_indicator_value__indicator_value_id__delete","parameters":[{"name":"indicator_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator value identifier","title":"Indicator Value Id"},"description":"indicator value identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicator_value":{"put":{"tags":["indicators"],"summary":"Put Indicator Value","description":"## Update or create an indicator value.\n\n**NOTE 1:** If an indicator value with the specified attributes already exists, it will be updated.\nOtherwise, a new indicator value will be created.\n\n**NOTE 2:** After the indicator value is created, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **indicator_value** (IndicatorValuePut, Body): Data for updating or creating an indicator.\n\n### Returns:\n- **IndicatorValue**: The updated or created indicator value.\n\n### Errors:\n- **404 Not Found**: If related entities do not exist.","operationId":"put_indicator_value_api_v1_indicator_value_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorValuePut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["indicators"],"summary":"Add Indicator Value","description":"## Create a new indicator value.\n\n**NOTE:** After the indicator value is created, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **indicator_value** (IndicatorValuePost, Body): Data for the new indicator value.\n\n### Returns:\n- **IndicatorValue**: The created indicator value.\n\n### Errors:\n- **404 Not Found**: If related entities do not exist.\n- **409 Conflict**: If an indicator value with the such parameters already exists.","operationId":"add_indicator_value_api_v1_indicator_value_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorValuePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicator/{indicator_id}/values":{"get":{"tags":["indicators"],"summary":"Get Indicator Values By Id","description":"## Get all indicator values by indicator identifier with optional filtering.\n\n### Parameters:\n- **indicator_id** (int, Path): Unique identifier of the indicator.\n- **territory_id** (int | None, Query): Filters results by territory.\n- **date_type** (DateType, Query): Filters results bye date type.\n- **date_value** (date | None, Query): Filters results by time period.\n- **value_type** (ValueType, Query): Filters results by value type.\n- **information_source** (str | None, Query): Filters results by a case-insensitive substring match.\n\n### Returns:\n- **list[IndicatorValue]**: A list of indicator values matching the filters.\n\n### Errors:\n- **404 Not Found**: If the indicator does not exist.","operationId":"get_indicator_values_by_id_api_v1_indicator__indicator_id__values_get","parameters":[{"name":"indicator_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator identifier","title":"Indicator Id"},"description":"indicator identifier"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"date_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/DateType","description":"date type"},"description":"date type"},{"name":"date_value","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"time value","title":"Date Value"},"description":"time value"},{"name":"value_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ValueType","description":"value type"},"description":"value type"},{"name":"information_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"information source","title":"Information Source"},"description":"information source"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IndicatorValue"},"title":"Response Get Indicator Values By Id Api V1 Indicator  Indicator Id  Values Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/indicators/binds/territory":{"get":{"tags":["indicators"],"summary":"Get Territory Indicators Binds","description":"## Get territories indicators bindings.\n\n**NOTE:** If a binding with the specified attributes already exists, it will be updated.\nOtherwise, a new binding will be created.\n\n### Parameters:\n- **territory_id** (int | None, Query): Filter results by regional (`level=2`) territory identifier.\n- **level** (int | None, Query): Filter results by territory level for which bindings were defined.\n- **indicator_ids** (str | None, Query): Comma-separated list of indicator IDs to filter results.\n- **indicators_group_id** (int | None, Query): Filters results by indicator group.\n\n### Returns:\n- **list[TerritoryIndicatorBind]**: A list of bindings wit territory and indicator short info.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False\nor the indicator_ids is specified in the wrong form.","operationId":"get_territory_indicators_binds_api_v1_indicators_binds_territory_get","parameters":[{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"regional (level=2) territory identifier","title":"Territory Id"},"description":"regional (level=2) territory identifier"},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory level for which bindings were defined","title":"Level"},"description":"territory level for which bindings were defined"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of identifiers separated by comma","title":"Indicator Ids"},"description":"list of identifiers separated by comma"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TerritoryIndicatorBind"},"title":"Response Get Territory Indicators Binds Api V1 Indicators Binds Territory Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["indicators"],"summary":"Put Territory Indicator Bind","description":"## Update or create territory's indicator binding.\n\n### Parameters:\n- **bind** (TerritoryIndicatorBindPut, Body): Data for updating or creating a binding.\n\n### Returns:\n- **TerritoryIndicatorBind**: The updated or created territory's indicator binding.\n\n### Errors:\n- **404 Not Found**: If related entities do not exist.","operationId":"put_territory_indicator_bind_api_v1_indicators_binds_territory_put","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryIndicatorBindPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryIndicatorBind"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/services/{service_id}":{"get":{"tags":["services"],"summary":"Get Service By Id","description":"## Get a service by its identifier, including parent territories.\n\n### Parameters:\n- **service_id** (int, Path): Unique identifier of the service.\n\n### Returns:\n- **Service**: The requested service, including parent territories.\n\n### Errors:\n- **404 Not Found**: If the service does not exist.","operationId":"get_service_by_id_api_v1_services__service_id__get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["services"],"summary":"Patch Service","description":"## Partially update a service.\n\n### Parameters:\n- **service_id** (int, Path): Unique identifier of the service.\n- **service** (ServicePatch, Body): Fields to update in the service.\n\n### Returns:\n- **Service**: The updated service with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the service (or related entity) does not exist.","operationId":"patch_service_api_v1_services__service_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["services"],"summary":"Delete Service","description":"## Delete a service by its identifier.\n\n### Parameters:\n- **service_id** (int, Path): Unique identifier of the service.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the service (or related entity) does not exist.","operationId":"delete_service_api_v1_services__service_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["services"],"summary":"Add Service To Objects","description":"## Add an existing service to a given pair of physical_object and object geometry.\n\n### Parameters:\n- **service** (ServicePost, Body): Data for the new service.\n\n### Returns:\n- **UrbanObject**: The created urban object (physical object + geometry + service).\n\n### Errors:\n- **404 Not Found**: If the service or physical object or object geometry does not exist.\n- **409 Conflict**: If an urban object with such `physical_object_id`, `object_geometry_id` and\n`service_id` already exists.","operationId":"add_service_to_objects_api_v1_services__service_id__post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"},{"name":"physical_object_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical_object identifier","title":"Physical Object Id"},"description":"physical_object identifier"},{"name":"object_geometry_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/services":{"post":{"tags":["services"],"summary":"Add Service","description":"## Create a new service.\n\n### Parameters:\n- **service** (ServicePost, Body): Data for the new service.\n\n### Returns:\n- **UrbanObject**: The created or updated urban object (service + geometry + service).\n\n### Errors:\n- **404 Not Found**: If the physical object or object geometry (or related entity) does not exist.","operationId":"add_service_api_v1_services_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/functional_zones_types":{"get":{"tags":["functional_zones"],"summary":"Get Functional Zone Types","description":"## Get the list of functional zone types.\n\n### Returns:\n- **list[FunctionalZoneType]**: A list of functional zone types.","operationId":"get_functional_zone_types_api_v1_functional_zones_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FunctionalZoneType"},"type":"array","title":"Response Get Functional Zone Types Api V1 Functional Zones Types Get"}}}}}},"post":{"tags":["functional_zones"],"summary":"Add Functional Zone Type","description":"## Create a new functional zone type.\n\n### Parameters:\n- **zone_type** (FunctionalZoneTypePost, Body): Data for the new functional zone type.\n\n### Returns:\n- **FunctionalZoneType**: The created functional zone type.\n\n### Errors:\n- **409 Conflict**: If a functional zone type with the such name already exists.","operationId":"add_functional_zone_type_api_v1_functional_zones_types_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZoneTypePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZoneType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profiles_reclamation/matrix":{"get":{"tags":["functional_zones"],"summary":"Get Profiles Reclamation Data Matrix","description":"## Get a matrix of profiles reclamation data.\n\n### Parameters:\n- **labels** (str | None, Query): Comma-separated list of profile labels to filter results. If labels is\nskipped, it will return all profiles reclamation data.\n- **territory_id** (int | None, Query): Filters results by a specific territory.\n\n### Returns:\n- **ProfilesReclamationDataMatrix**: A matrix of profiles reclamation data.\n\n### Errors:\n- **400 Bad Request**: If labels were passed incorrectly.\n- **404 Not Found**: If the territory or label does not exist.","operationId":"get_profiles_reclamation_data_matrix_api_v1_profiles_reclamation_matrix_get","parameters":[{"name":"labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of profiles labels separated with comma","title":"Labels"},"description":"list of profiles labels separated with comma"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationDataMatrix"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profiles_reclamation":{"put":{"tags":["functional_zones"],"summary":"Put Profiles Reclamation Data","description":"## Update or create profiles reclamation data.\n\n**NOTE:** If a profiles reclamation data with the specified attributes already exists, it will be updated.\nOtherwise, a new profiles reclamation data will be created.\n\n### Parameters:\n- **profiles_reclamation** (ProfilesReclamationDataPut, Body): Data for updating or creating a profiles\nreclamation entry.\n\n### Returns:\n- **ProfilesReclamationData**: The updated or newly created profiles reclamation data.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If profile reclamation data with the such parameters does not exist.","operationId":"put_profiles_reclamation_data_api_v1_profiles_reclamation_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationDataPut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["functional_zones"],"summary":"Add Profiles Reclamation Data","description":"## Create new profiles reclamation data.\n\n### Parameters:\n- **profiles_reclamation** (ProfilesReclamationDataPost, Body): Data for the new profiles reclamation entry.\n\n### Returns:\n- **ProfilesReclamationData**: The created profiles reclamation data.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If profile reclamation data with the such parameters does not exist.","operationId":"add_profiles_reclamation_data_api_v1_profiles_reclamation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationDataPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["functional_zones"],"summary":"Delete Profiles Reclamation Data","description":"## Delete profiles reclamation data.\n\n### Parameters:\n- **profiles_reclamation** (ProfilesReclamationDataDelete, Body): Identifiers of the source and target profiles\nand the territory.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the specified profiles reclamation data does not exist.","operationId":"delete_profiles_reclamation_data_api_v1_profiles_reclamation_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilesReclamationDataDelete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/functional_zones":{"post":{"tags":["functional_zones"],"summary":"Add Functional Zone","description":"## Create a new functional zone.\n\n### Parameters:\n- **functional_zone** (FunctionalZonePost, Body): Data for the new functional zone.\n\n### Returns:\n- **FunctionalZone**: The created functional zone.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"add_functional_zone_api_v1_functional_zones_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZonePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/functional_zones/{functional_zone_id}":{"patch":{"tags":["functional_zones"],"summary":"Patch Functional Zone","description":"## Partially update a functional zone.\n\n### Parameters:\n- **functional_zone_id** (int, Path): Unique identifier of the functional zone.\n- **functional_zone** (FunctionalZonePatch, Body): Fields to update in the functional zone.\n\n### Returns:\n- **FunctionalZone**: The updated functional zone with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the functional zone (or related entity) does not exist.","operationId":"patch_functional_zone_api_v1_functional_zones__functional_zone_id__patch","parameters":[{"name":"functional_zone_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"functional zone identifier","title":"Functional Zone Id"},"description":"functional zone identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZonePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["functional_zones"],"summary":"Delete Functional Zone","description":"## Delete a functional zone by its identifier.\n\n### Parameters:\n- **functional_zone_id** (int, Path): Unique identifier of the functional zone.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the functional zone does not exist.","operationId":"delete_functional_zone_api_v1_functional_zones__functional_zone_id__delete","parameters":[{"name":"functional_zone_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"functional zone identifier","title":"Functional Zone Id"},"description":"functional zone identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/functional_zones/around":{"post":{"tags":["functional_zones"],"summary":"Get Functional Zones Intersects Geometry","description":"## Get functional zones intersects a specified area.\n\n### Parameters:\n- **geometry** (AllPossibleGeometry, Body): Geometry defining the search area.\n  NOTE: The geometry must have **SRID=4326**.\n- **year** (int, Query): Filters results by the year zones were uploaded.\n- **source** (str, Query): Filters results by the source from which zones were uploaded.\n- **functional_zone_type_id** (int | None, Query): Filters results by functional zone type.\n\n### Returns:\n- **list[FunctionalZone]**: A list of functional zones intersects the specified area.\n\n## Errors:\n- **400 Bad Request**: If an invalid geometry is specified.","operationId":"get_functional_zones_intersects_geometry_api_v1_functional_zones_around_post","parameters":[{"name":"year","in":"query","required":true,"schema":{"type":"integer","description":"to filter by year when zones were uploaded","title":"Year"},"description":"to filter by year when zones were uploaded"},{"name":"source","in":"query","required":true,"schema":{"type":"string","description":"to filter by source from which zones were uploaded","title":"Source"},"description":"to filter by source from which zones were uploaded"},{"name":"functional_zone_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"functional zone type identifier","title":"Functional Zone Type Id"},"description":"functional zone type identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FunctionalZone"},"title":"Response Get Functional Zones Intersects Geometry Api V1 Functional Zones Around Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_types":{"get":{"tags":["physical_object_types"],"summary":"Get Physical Object Types","description":"## Get all physical object types.\n\n### Parameters:\n- **physical_object_function_id** (int, Query): Filter results by physical object function.\n- **name** (str | None, Query): Filters service types by a case-insensitive substring match.\n\n### Returns:\n- **list[PhysicalObjectType]**: A list of all physical object types.","operationId":"get_physical_object_types_api_v1_physical_object_types_get","parameters":[{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter by name (case-insensitive)","title":"Name"},"description":"to filter by name (case-insensitive)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectType"},"title":"Response Get Physical Object Types Api V1 Physical Object Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["physical_object_types"],"summary":"Add Physical Object Type","description":"## Create a new physical object type.\n\n### Parameters:\n- **physical_object_type** (PhysicalObjectTypePost, Body): Data for the new physical object type.\n\n### Returns:\n- **PhysicalObjectType**: The created physical object type.\n\n### Errors:\n- **404 Not Found**: If the physical object function does not exist.\n- **409 Conflict**: If a physical object type with the such name already exists.","operationId":"add_physical_object_type_api_v1_physical_object_types_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectTypePost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_types/{physical_object_type_id}":{"patch":{"tags":["physical_object_types"],"summary":"Patch Physical Object Type","description":"## Partially update a physical object type.\n\n### Parameters:\n- **physical_object_type_id** (int, Path): Unique identifier of the physical object type.\n- **physical_object_type** (PhysicalObjectTypePatch, Body): Fields to update in the physical object type.\n\n### Returns:\n- **PhysicalObjectType**: The updated physical object type with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the physical object type (or related entity) does not exist.\n- **409 Conflict**: If a physical object type with the such name already exists.","operationId":"patch_physical_object_type_api_v1_physical_object_types__physical_object_type_id__patch","parameters":[{"name":"physical_object_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectTypePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["physical_object_types"],"summary":"Delete Physical Object Type","description":"## Delete a physical object type by its identifier.\n\n### Parameters:\n- **physical_object_type_id** (int, Path): Unique identifier of the physical object type.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the physical object type does not exist.","operationId":"delete_physical_object_type_api_v1_physical_object_types__physical_object_type_id__delete","parameters":[{"name":"physical_object_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_functions_by_parent":{"get":{"tags":["physical_object_types"],"summary":"Get Physical Object Functions By Parent Id","description":"## Get physical object functions by parent identifier.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent physical object function\nIf skipped, it returns the highest level functions.\n- **name** (str | None, Query): Filters results by function name.\n- **get_all_subtree** (bool, Query): If True, retrieves all subtree of physical object functions.\n\n### Returns:\n- **list[PhysicalObjectFunction]**: A list of physical object functions matching the filters.\n\n### Errors:\n- **404 Not Found**: If the physical object function does not exist.","operationId":"get_physical_object_functions_by_parent_id_api_v1_physical_object_functions_by_parent_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent physical object function id to filter, should be skipped for top level physical object functions","title":"Parent Id"},"description":"parent physical object function id to filter, should be skipped for top level physical object functions"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"search by physical object function name","title":"Name"},"description":"search by physical object function name"},{"name":"get_all_subtree","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of physical object functions","default":false,"title":"Get All Subtree"},"description":"getting full subtree of physical object functions"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectFunction"},"title":"Response Get Physical Object Functions By Parent Id Api V1 Physical Object Functions By Parent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_functions":{"put":{"tags":["physical_object_types"],"summary":"Put Physical Object Function","description":"## Update or create a physical object function.\n\n**NOTE:** If a physical object function with the such name already exists, it will be updated.\nOtherwise, a new physical object function will be created.\n\n### Parameters:\n- **physical_object_function** (PhysicalObjectFunctionPut, Body): Data for updating or creating a function.\n\n### Returns:\n- **PhysicalObjectFunction**: The updated or created physical object function.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"put_physical_object_function_api_v1_physical_object_functions_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunctionPut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["physical_object_types"],"summary":"Add Physical Object Function","description":"## Create a new physical object function.\n\n### Parameters:\n- **physical_object_function** (PhysicalObjectFunctionPost, Body): Data for the new physical object function.\n\n### Returns:\n- **PhysicalObjectFunction**: The created physical object function.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If a physical object function with the such name already exists.","operationId":"add_physical_object_function_api_v1_physical_object_functions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunctionPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_functions/{physical_object_function_id}":{"patch":{"tags":["physical_object_types"],"summary":"Patch Physical Object Function","description":"## Partially update a physical object function.\n\n### Parameters:\n- **physical_object_function_id** (int, Path): Unique identifier of the physical object function.\n- **physical_object_function** (PhysicalObjectFunctionPatch, Body): Fields to update in the function.\n\n### Returns:\n- **PhysicalObjectFunction**: The updated physical object function with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the physical object function (or related entity) does not exist.\n- **409 Conflict**: If a physical object function with the such name already exists.","operationId":"patch_physical_object_function_api_v1_physical_object_functions__physical_object_function_id__patch","parameters":[{"name":"physical_object_function_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object function identifier","title":"Physical Object Function Id"},"description":"physical object function identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunctionPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["physical_object_types"],"summary":"Delete Physical Object Function","description":"## Delete a physical object function by its identifier.\n\n**WARNING:** This method also removes all child elements of the function.\n\n### Parameters:\n- **physical_object_function_id** (int, Path): Unique identifier of the physical object function.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the physical object function does not exist.","operationId":"delete_physical_object_function_api_v1_physical_object_functions__physical_object_function_id__delete","parameters":[{"name":"physical_object_function_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object function identifier","title":"Physical Object Function Id"},"description":"physical object function identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_types/hierarchy":{"get":{"tags":["physical_object_types"],"summary":"Get Physical Object Types Hierarchy","description":"## Get the hierarchy of physical object types.\n\n### Parameters:\n- **physical_object_types_ids** (str | None, Query): Comma-separated list of physical object type identifiers.\nIf skipped, it will return hierarchy for all physical object types.\n\n### Returns:\n- **list[PhysicalObjectsTypesHierarchy]**: A hierarchical representation of physical object types.\n\n### Errors:\n- **400 Bad Request**: If given identifiers are invalid.\n- **404 Not Found**: If the physical object types do not exist.","operationId":"get_physical_object_types_hierarchy_api_v1_physical_object_types_hierarchy_get","parameters":[{"name":"physical_object_types_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of physical object type ids separated by comma","title":"Physical Object Types Ids"},"description":"list of physical object type ids separated by comma"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectsTypesHierarchy"},"title":"Response Get Physical Object Types Hierarchy Api V1 Physical Object Types Hierarchy Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object_types/{physical_object_type_id}/service_types":{"get":{"tags":["physical_object_types"],"summary":"Get Service Types","description":"## Get all available service types for given physical object type.\n\n### Returns:\n- **list[ServiceType]**: A list of service types.","operationId":"get_service_types_api_v1_physical_object_types__physical_object_type_id__service_types_get","parameters":[{"name":"physical_object_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceType"},"title":"Response Get Service Types Api V1 Physical Object Types  Physical Object Type Id  Service Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_object/{physical_object_id}":{"get":{"tags":["physical_objects"],"summary":"Get Physical Object By Id","description":"## Get a physical object by its identifier, including parent territories.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n\n### Returns:\n- **PhysicalObject**: The requested physical object, including parent territories.\n\n### Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"get_physical_object_by_id_api_v1_physical_object__physical_object_id__get","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects":{"post":{"tags":["physical_objects"],"summary":"Add Physical Object With Geometry","description":"## Create a new physical object with geometry.\n\n### Parameters:\n- **physical_object** (PhysicalObjectWithGeometryPost, Body): Data for the new physical object with geometry.\n\n### Returns:\n- **UrbanObject**: The created urban object (physical object + geometry).\n\n## Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"add_physical_object_with_geometry_api_v1_physical_objects_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectWithGeometryPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/{physical_object_id}":{"patch":{"tags":["physical_objects"],"summary":"Patch Physical Object","description":"## Partially update a physical object.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **physical_object** (PhysicalObjectPatch, Body): Fields to update in the physical object.\n\n### Returns:\n- **PhysicalObject**: The updated physical object with modified attributes.\n\n## Errors:\n- **404 Not Found**: If the physical object (or related entity) does not exist.","operationId":"patch_physical_object_api_v1_physical_objects__physical_object_id__patch","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["physical_objects"],"summary":"Delete Physical Object","description":"## Delete a physical object by its identifier.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"delete_physical_object_api_v1_physical_objects__physical_object_id__delete","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buildings":{"put":{"tags":["physical_objects"],"summary":"Put Building","description":"## Create or update a building.\n\n**NOTE:** If a building for given physical object already exists, it will be updated.\nOtherwise, a new building will be created.\n\n### Parameters:\n- **building** (BuildingPut, Body): Data for updating or creating a building.\n\n### Returns:\n- **PhysicalObject**: The updated or created building.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"put_building_api_v1_buildings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildingPut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["physical_objects"],"summary":"Add Building","description":"## Create a new building.\n\n**WARNING:** There can only be one building per physical object.\n\n### Parameters:\n- **building** (BuildingPost, Body): Data for the new building.\n\n### Returns:\n- **PhysicalObject**: The created building.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.\n- **409 Conflict**: If a building already exists for this physical object.","operationId":"add_building_api_v1_buildings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildingPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buildings/{building_id}":{"patch":{"tags":["physical_objects"],"summary":"Patch Building","description":"## Partially update a building.\n\n### Parameters:\n- **building_id** (int, Path): Unique identifier of the building.\n- **building** (BuildingPatch, Body): Fields to update in the building.\n\n### Returns:\n- **PhysicalObject**: The updated building with modified attributes.\n\n## Errors:\n- **404 Not Found**: If the building (or related entity) does not exist.\n- **409 Conflict**: If a building already exists for given physical object.","operationId":"patch_building_api_v1_buildings__building_id__patch","parameters":[{"name":"building_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"building identifier","title":"Building Id"},"description":"building identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildingPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["physical_objects"],"summary":"Delete Building","description":"## Delete a building by its identifier.\n\n### Parameters:\n- **building_id** (int, Path): Unique identifier of the building.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n## Errors:\n- **404 Not Found**: If the building does not exist.","operationId":"delete_building_api_v1_buildings__building_id__delete","parameters":[{"name":"building_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"building identifier","title":"Building Id"},"description":"building identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/{physical_object_id}/services":{"get":{"tags":["physical_objects"],"summary":"Get Services By Physical Object Id","description":"## Get all services within a given physical object.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n\n### Returns:\n- **list[Service]**: A list of services inside the specified physical object.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"get_services_by_physical_object_id_api_v1_physical_objects__physical_object_id__services_get","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"territory_type_id","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Service"},"title":"Response Get Services By Physical Object Id Api V1 Physical Objects  Physical Object Id  Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/{physical_object_id}/services_with_geometry":{"get":{"tags":["physical_objects"],"summary":"Get Services With Geometry By Physical Object Id","description":"## Get all services with geometry within a given physical object.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n\n### Returns:\n- **list[ServiceWithGeometry]**: A list of services with geometry inside the specified physical object.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"get_services_with_geometry_by_physical_object_id_api_v1_physical_objects__physical_object_id__services_with_geometry_get","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"territory_type_id","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceWithGeometry"},"title":"Response Get Services With Geometry By Physical Object Id Api V1 Physical Objects  Physical Object Id  Services With Geometry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/{physical_object_id}/geometries":{"get":{"tags":["physical_objects"],"summary":"Get Physical Object Geometries","description":"## Get geometries associated with a given physical object.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n\n### Returns:\n- **list[ObjectGeometry]**: A list of geometries associated with the specified physical object.\n\n## Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"get_physical_object_geometries_api_v1_physical_objects__physical_object_id__geometries_get","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectGeometry"},"title":"Response Get Physical Object Geometries Api V1 Physical Objects  Physical Object Id  Geometries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/around":{"post":{"tags":["physical_objects"],"summary":"Get Physical Objects Around Geometry","description":"## Get physical objects within a specified area (+ buffer 50 meters).\n\n### Parameters:\n- **geometry** (AllPossibleGeometry, Body): Geometry defining the search area.\n  NOTE: The geometry must have **SRID=4326**.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n\n### Returns:\n- **list[PhysicalObjectWithGeometry]**: A list of physical objects within the specified area (+ buffer 50 meters).\n\n## Errors:\n- **400 Bad Request**: If an invalid geometry is specified.","operationId":"get_physical_objects_around_geometry_api_v1_physical_objects_around_post","parameters":[{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectWithGeometry"},"title":"Response Get Physical Objects Around Geometry Api V1 Physical Objects Around Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/physical_objects/{object_geometry_id}":{"post":{"tags":["physical_objects"],"summary":"Add Physical Object To Object Geometry","description":"## Add a physical object to an object geometry.\n\n### Parameters:\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n- **physical_object** (PhysicalObjectPost, Body): Data for the new physical object.\n\n### Returns:\n- **UrbanObject**: The created urban object (new physical object + existing geometry).\n\n## Errors:\n- **404 Not Found**: If the object geometry does not exist.","operationId":"add_physical_object_to_object_geometry_api_v1_physical_objects__object_geometry_id__post","parameters":[{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectPost","description":"physical object"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/object_geometries":{"get":{"tags":["object_geometries"],"summary":"Get Object Geometries By Ids","description":"## Get a list of object geometries by their identifiers.\n\n### Parameters:\n- **object_geometries_ids** (str, Query): Comma-separated list of object geometry identifiers.\n\n### Returns:\n- **list[ObjectGeometry]**: A list of object geometries matching the given identifiers.\n\n### Errors:\n- **400 Bad Request**: If the provided identifiers are invalid.\n- **404 Not Found**: If at least one object geometry was not found.","operationId":"get_object_geometries_by_ids_api_v1_object_geometries_get","parameters":[{"name":"object_geometries_ids","in":"query","required":true,"schema":{"type":"string","description":"list of identifiers separated by comma","title":"Object Geometries Ids"},"description":"list of identifiers separated by comma"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ObjectGeometry"},"title":"Response Get Object Geometries By Ids Api V1 Object Geometries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/object_geometries/{object_geometry_id}":{"patch":{"tags":["object_geometries"],"summary":"Patch Object Geometry","description":"## Partially update an object geometry.\n\n### Parameters:\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n- **object_geometry** (ObjectGeometryPatch, Body): Fields to update in the object geometry.\n\n### Returns:\n- **ObjectGeometry**: The updated object geometry with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the object geometry (or related entity) does not exist.","operationId":"patch_object_geometry_api_v1_object_geometries__object_geometry_id__patch","parameters":[{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectGeometryPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectGeometry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["object_geometries"],"summary":"Delete Object Geometry","description":"## Delete an object geometry by its identifier.\n\n### Parameters:\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the object geometry (or related entity) does not exist.","operationId":"delete_object_geometry_api_v1_object_geometries__object_geometry_id__delete","parameters":[{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/object_geometries/{physical_object_id}":{"post":{"tags":["object_geometries"],"summary":"Add Object Geometry To Physical Object","description":"## Add an object geometry to a physical object.\n\n### Parameters:\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **object_geometry** (ObjectGeometryPost, Body): Data for the new object geometry.\n\n### Returns:\n- **UrbanObject**: The created urban object (existing physical object + new geometry).\n\n### Errors:\n- **404 Not Found**: If the physical object (or related entity) does not exist.","operationId":"add_object_geometry_to_physical_object_api_v1_object_geometries__physical_object_id__post","parameters":[{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","description":"Physical object id","title":"Physical Object Id"},"description":"Physical object id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectGeometryPost","description":"Object Geometry"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/object_geometries/{object_geometry_id}/physical_objects":{"get":{"tags":["object_geometries"],"summary":"Get Physical Objects By Geometry Id","description":"## Get physical objects associated with a specific object geometry.\n\n### Parameters:\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n\n### Returns:\n- **list[PhysicalObject]**: A list of physical objects associated with the given geometry.\n\n### Errors:\n- **404 Not Found**: If the object geometry does not exist.","operationId":"get_physical_objects_by_geometry_id_api_v1_object_geometries__object_geometry_id__physical_objects_get","parameters":[{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObject"},"title":"Response Get Physical Objects By Geometry Id Api V1 Object Geometries  Object Geometry Id  Physical Objects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types":{"get":{"tags":["service_types"],"summary":"Get Service Types","description":"## Get all service types.\n\n### Parameters:\n- **urban_function_id** (int, Query): Filter results by urban function.\n- **name** (str | None, Query): Filters service types by a case-insensitive substring match.\n\n### Returns:\n- **list[ServiceType]**: A list of all service types.","operationId":"get_service_types_api_v1_service_types_get","parameters":[{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter by name (case-insensitive)","title":"Name"},"description":"to filter by name (case-insensitive)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceType"},"title":"Response Get Service Types Api V1 Service Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_types"],"summary":"Add Service Type","description":"## Create a new service type.\n\n### Parameters:\n- **service_type** (ServiceTypePost, Body): Data for the new service type.\n\n### Returns:\n- **ServiceType**: The created service type.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If a service type with the such name already exists.","operationId":"add_service_type_api_v1_service_types_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceTypePost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["service_types"],"summary":"Put Service Type","description":"## Update or create a service type.\n\n**NOTE:** If a service type with the such name already exists, it will be updated.\nOtherwise, a new service type will be created.\n\n### Parameters:\n- **service_type** (ServiceTypePut, Body): Data for updating or creating a service type.\n\n### Returns:\n- **ServiceType**: The updated or created service type.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"put_service_type_api_v1_service_types_put","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceTypePut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types/{service_type_id}":{"patch":{"tags":["service_types"],"summary":"Patch Service Type","description":"## Partially update a service type.\n\n### Parameters:\n- **service_type_id** (int, Path): Unique identifier of the service type.\n- **service_type** (ServiceTypePatch, Body): Fields to update in the service type.\n\n### Returns:\n- **ServiceType**: The updated service type with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the service type (or related entity) does not exist.\n- **409 Conflict**: If a service type with the such name already exists.","operationId":"patch_service_type_api_v1_service_types__service_type_id__patch","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceTypePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["service_types"],"summary":"Delete Service Type","description":"## Delete a service type by its identifier.\n\n### Parameters:\n- **service_type_id** (int, Path): Unique identifier of the service type.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the service type does not exist.","operationId":"delete_service_type_api_v1_service_types__service_type_id__delete","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_functions_by_parent":{"get":{"tags":["service_types"],"summary":"Get Urban Functions By Parent Id","description":"## Get urban functions by parent identifier.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent urban function.\nIf skipped, it returns the highest level functions.\n- **name** (str | None, Query): Filters results by function name.\n- **get_all_subtree** (bool, Query): If True, retrieves all subtree of urban functions.\n\n### Returns:\n- **list[UrbanFunction]**: A list of urban functions matching the filters.\n\n### Errors:\n- **404 Not Found**: If the urban function does not exist.","operationId":"get_urban_functions_by_parent_id_api_v1_urban_functions_by_parent_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent urban function id to filter, should be skipped for top level urban functions","title":"Parent Id"},"description":"parent urban function id to filter, should be skipped for top level urban functions"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"search by urban function name","title":"Name"},"description":"search by urban function name"},{"name":"get_all_subtree","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of urban functions","default":false,"title":"Get All Subtree"},"description":"getting full subtree of urban functions"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrbanFunction"},"title":"Response Get Urban Functions By Parent Id Api V1 Urban Functions By Parent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_functions":{"put":{"tags":["service_types"],"summary":"Put Urban Function","description":"## Update or create an urban function.\n\n**NOTE:** If an urban function with the such name already exists, it will be updated.\nOtherwise, a new urban function will be created.\n\n### Parameters:\n- **urban_function** (UrbanFunctionPut, Body): Data for updating or creating a function.\n\n### Returns:\n- **UrbanFunction**: The updated or created urban function.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.","operationId":"put_urban_function_api_v1_urban_functions_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunctionPut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_types"],"summary":"Add Urban Function","description":"## Create a new urban function.\n\n### Parameters:\n- **urban_function** (UrbanFunctionPost, Body): Data for the new urban function.\n\n### Returns:\n- **UrbanFunction**: The created urban function.\n\n### Errors:\n- **404 Not Found**: If related entity does not exist.\n- **409 Conflict**: If an urban function with the such name already exists.","operationId":"add_urban_function_api_v1_urban_functions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunctionPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_functions/{urban_function_id}":{"patch":{"tags":["service_types"],"summary":"Patch Urban Function","description":"## Partially update an urban function.\n\n### Parameters:\n- **urban_function_id** (int, Path): Unique identifier of the urban function.\n- **urban_function** (UrbanFunctionPatch, Body): Fields to update in the function.\n\n### Returns:\n- **UrbanFunction**: The updated urban function with modified attributes.\n\n### Errors:\n- **404 Not Found**: If the urban function (or related entity) does not exist.\n- **409 Conflict**: If an urban function with the such name already exists.","operationId":"patch_urban_function_api_v1_urban_functions__urban_function_id__patch","parameters":[{"name":"urban_function_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"urban function identifier","title":"Urban Function Id"},"description":"urban function identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunctionPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanFunction"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["service_types"],"summary":"Delete Urban Function","description":"## Delete an urban function by its identifier.\n\n**WARNING:** This method also removes all child elements of the function.\n\n### Parameters:\n- **urban_function_id** (int, Path): Unique identifier of the urban function.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the urban function does not exist.","operationId":"delete_urban_function_api_v1_urban_functions__urban_function_id__delete","parameters":[{"name":"urban_function_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"urban function identifier","title":"Urban Function Id"},"description":"urban function identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types/hierarchy":{"get":{"tags":["service_types"],"summary":"Get Service Types Hierarchy","description":"## Get the hierarchy of service types.\n\n### Parameters:\n- **service_types_ids** (str | None, Query): Comma-separated list of service type identifiers.\nIf None, it will return hierarchy for all service types.\n\n### Returns:\n- **list[ServicesTypesHierarchy]**: A hierarchical representation of service types.\n\n### Errors:\n- **404 Not Found**: If the service types do not exist.","operationId":"get_service_types_hierarchy_api_v1_service_types_hierarchy_get","parameters":[{"name":"service_types_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of service type ids separated by comma","title":"Service Types Ids"},"description":"list of service type ids separated by comma"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceTypesHierarchy"},"title":"Response Get Service Types Hierarchy Api V1 Service Types Hierarchy Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types/{service_type_id}/physical_object_types":{"get":{"tags":["service_types"],"summary":"Get Physical Object Types","description":"## Get all available physical object types for given service type.\n\n### Parameters:\n- **service_type_id** (int, Path): Unique identifier of the service type.\n\n### Returns:\n- **list[PhysicalObjectType]**: A list of physical object types.","operationId":"get_physical_object_types_api_v1_service_types__service_type_id__physical_object_types_get","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Service Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectType"},"title":"Response Get Physical Object Types Api V1 Service Types  Service Type Id  Physical Object Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types/{service_type_id}/social_values":{"get":{"tags":["service_types"],"summary":"Get Social Values","description":"## Get all social values for which given service type is important.\n\n### Parameters:\n- **service_type_id** (int, Path): Unique identifier of the service type.\n\n### Returns:\n- **list[SocValueWithServiceTypes]**: A list of social groups with associated service types.","operationId":"get_social_values_api_v1_service_types__service_type_id__social_values_get","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Service Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SocValue"},"title":"Response Get Social Values Api V1 Service Types  Service Type Id  Social Values Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/service_types/{service_type_id}/social_groups":{"get":{"tags":["service_types"],"summary":"Get Social Groups","description":"## Get all social groups for which given service type is important.\n\n### Parameters:\n- **service_type_id** (int, Path): Unique identifier of the service type.\n\n### Returns:\n- **list[SocGroupWithServiceTypes]**: A list of social groups with associated service types.","operationId":"get_social_groups_api_v1_service_types__service_type_id__social_groups_get","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object type identifier","title":"Service Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SocGroupWithServiceTypes"},"title":"Response Get Social Groups Api V1 Service Types  Service Type Id  Social Groups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_groups":{"get":{"tags":["social_groups"],"summary":"Get Social Groups","description":"## Get a list of all social groups.\n\n### Returns:\n- **list[SocGroup]**: A list of social groups.","operationId":"get_social_groups_api_v1_social_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SocGroup"},"type":"array","title":"Response Get Social Groups Api V1 Social Groups Get"}}}}}},"post":{"tags":["social_groups"],"summary":"Add Social Group","description":"## Create a new social group.\n\n### Parameters:\n- **soc_group** (SocGroupPost, Body): Data for the new social group.\n\n### Returns:\n- **SocGroupWithServiceTypes**: Created social group.\n\n### Errors:\n- **409 Conflict**: If a social group with the such name already exists.","operationId":"add_social_group_api_v1_social_groups_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocGroupPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocGroupWithServiceTypes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_groups/{soc_group_id}":{"get":{"tags":["social_groups"],"summary":"Get Social Group By Id","description":"## Get social group with all associated service types by identifier.\n\n### Parameters:\n- **soc_group_id** (int, Path): Social group identifier.\n\n### Returns:\n- **SocGroupWithServiceTypes**: Social group with all associated service types.\n\n### Errors:\n- **404 Not Found**: If the social group does not exist.","operationId":"get_social_group_by_id_api_v1_social_groups__soc_group_id__get","parameters":[{"name":"soc_group_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social group identifier","title":"Soc Group Id"},"description":"social group identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocGroupWithServiceTypes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["social_groups"],"summary":"Delete Social Group","description":"## Delete social group by identifier.\n\n### Parameters:\n- **soc_group_id** (int, Path): Social group identifier.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the social group does not exist.","operationId":"delete_social_group_api_v1_social_groups__soc_group_id__delete","parameters":[{"name":"soc_group_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social group identifier","title":"Soc Group Id"},"description":"social group identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_groups/{soc_group_id}/service_types":{"post":{"tags":["social_groups"],"summary":"Add Service Type To Social Group","description":"## Add service type to social group.\n\n### Parameters:\n- **soc_group_id** (int, Path): Social group identifier.\n- **service_type** (SocServiceTypePost, Body): Service type identifier and infrastructure type.\n\n### Returns:\n- **SocGroupWithServiceTypes**: Social group with all associated service types.\n\n### Errors:\n- **404 Not Found**: If the social group (or service type) does not exist.\n- **409 Conflict**: If the service type for the social group already exists.","operationId":"add_service_type_to_social_group_api_v1_social_groups__soc_group_id__service_types_post","parameters":[{"name":"soc_group_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social group identifier","title":"Soc Group Id"},"description":"social group identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocServiceTypePost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocGroupWithServiceTypes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values":{"get":{"tags":["social_groups"],"summary":"Get Social Values","description":"## Get a list of all social values.\n\n### Returns:\n- **list[SocValue]**: A list of social values.","operationId":"get_social_values_api_v1_social_values_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SocValue"},"type":"array","title":"Response Get Social Values Api V1 Social Values Get"}}}}}},"post":{"tags":["social_groups"],"summary":"Add Social Value","description":"## Create a new social value.\n\n### Parameters:\n- **soc_value** (SocValuePost, Body): Data for the new social value.\n\n### Returns:\n- **SocValue**: Created social value.\n\n### Errors:\n- **409 Conflict**: If a social value with such name already exists.","operationId":"add_social_value_api_v1_social_values_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValuePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values/{soc_value_id}":{"get":{"tags":["social_groups"],"summary":"Get Social Value By Id","description":"## Get social value identifier.\n\n### Parameters:\n- **soc_value_id** (int, Path): Social value identifier.\n\n### Returns:\n- **SocValue**: Social value with all associated social groups.\n\n### Errors:\n- **404 Not Found**: If the social value does not exist.","operationId":"get_social_value_by_id_api_v1_social_values__soc_value_id__get","parameters":[{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["social_groups"],"summary":"Delete Social Value","description":"## Delete social value by identifier.\n\n### Parameters:\n- **soc_value_id** (int, Path): Social value identifier.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the social value does not exist.","operationId":"delete_social_value_api_v1_social_values__soc_value_id__delete","parameters":[{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values/{soc_value_id}/service_types":{"get":{"tags":["social_groups"],"summary":"Get Service Types By Soc Value Id","description":"## Get all service types by social value id.\n\n### Parameters:\n- **social_value_id** (int, Path): Social value identifier.\n\n### Returns:\n- **list[ServiceType]**: All service types connected with this social value.\n\n### Errors:\n- **404 Not Found**: If the social value does not exist.","operationId":"get_service_types_by_soc_value_id_api_v1_social_values__soc_value_id__service_types_get","parameters":[{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceType"},"title":"Response Get Service Types By Soc Value Id Api V1 Social Values  Soc Value Id  Service Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values/{soc_value_id}/service_types/{service_type_id}":{"post":{"tags":["social_groups"],"summary":"Add Service Type To Social Value","description":"## Add service type to social value.\n\n### Parameters:\n- **soc_value_id** (int, Path): Social value identifier.\n- **service_type_id** (int, Path): Service type identifier and infrastructure type.\n\n### Returns:\n- **SocValue**: Social value with all associated service types.\n\n### Errors:\n- **404 Not Found**: If the social value (or service type) does not exist.\n- **409 Conflict**: If the service type for the social value already exists.","operationId":"add_service_type_to_social_value_api_v1_social_values__soc_value_id__service_types__service_type_id__post","parameters":[{"name":"service_type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"},{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValueWithServiceTypes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_groups/{soc_group_id}/values":{"post":{"tags":["social_groups"],"summary":"Add Value To Social Group","description":"## Add social value to social group and service type.\n\n### Parameters:\n- **soc_group_id** (int, Path): Social group identifier.\n- **service_type_id** (int, Query): Service type identifier.\n- **soc_value_id** (int, Query): Social value identifier.\n\n### Returns:\n- **SocValue**: Social value with all associated social groups.\n\n### Errors:\n- **404 Not Found**: If one of given entities does not exist.\n- **409 Conflict**: If the social value already exists for a given pair of social group and service type.","operationId":"add_value_to_social_group_api_v1_social_groups__soc_group_id__values_post","parameters":[{"name":"soc_group_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social group identifier","title":"Soc Group Id"},"description":"social group identifier"},{"name":"service_type_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"},{"name":"soc_value_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values/{soc_value_id}/indicators":{"get":{"tags":["social_groups"],"summary":"Get Social Value Indicator Values","description":"## Get social value with all associated social groups by identifier.\n\n**WARNING:** Set `last_only = True` only if you don't specify `year`.\n\n### Parameters:\n- **soc_value_id** (int, Path): Social group identifier.\n- **territory_id** (int, Query): Filter results by territory.\n- **year** (int, Query): Filter results by specified year.\n- **last_only** (int, Query): To get only the last indicator value for each social group's value (default: false).\n\n### Returns:\n- **list[SocValueIndicatorValue]**: A list of indicator values for given social value.\n\n### Errors:\n- **404 Not Found**: If the social value does not exist.\n- **422 Unprocessable Entity**: If both `last_only` is set to True and `year` is set.","operationId":"get_social_value_indicator_values_api_v1_social_values__soc_value_id__indicators_get","parameters":[{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"year when value was modeled (skip to get values for all years)","title":"Year"},"description":"year when value was modeled (skip to get values for all years)"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only the last values","default":false,"title":"Last Only"},"description":"to get only the last values"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SocValueIndicatorValue"},"title":"Response Get Social Value Indicator Values Api V1 Social Values  Soc Value Id  Indicators Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["social_groups"],"summary":"Delete Social Value Indicator Value","description":"## Delete social value's indicator value by given parameters.\n\n### Parameters:\n- **soc_value_id** (int, Path): Social value identifier.\n- **territory_id** (int | None, Query): Territory identifier.\n- **year** (int | None, Query): Specified year when value was modeled.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the social value's indicator value with such parameters does not exist.","operationId":"delete_social_value_indicator_value_api_v1_social_values__soc_value_id__indicators_delete","parameters":[{"name":"soc_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"social value identifier","title":"Soc Value Id"},"description":"social value identifier"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"year when value was modeled (skip to get values for all years)","title":"Year"},"description":"year when value was modeled (skip to get values for all years)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social_values/indicators":{"put":{"tags":["social_groups"],"summary":"Put Social Value Indicator Value","description":"## Update or create new social value's indicator value.\n\n**NOTE:** If an indicator value with the specified attributes already exists, it will be updated.\nOtherwise, a new indicator value will be created.\n\n### Parameters:\n- **soc_value_indicator** (SocValueIndicatorValuePut, Body): Data for the new social group's indicator value.\n\n### Returns:\n- **SocValueIndicatorValue**: Updated or created social group's indicator value.\n\n### Errors:\n- **404 Not Found**: If the social value (or related entity) does not exist.","operationId":"put_social_value_indicator_value_api_v1_social_values_indicators_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValueIndicatorValuePut"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValueIndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["social_groups"],"summary":"Add Social Value Indicator Value","description":"## Create new social value's indicator value.\n\n### Parameters:\n- **soc_value_indicator** (SocValueIndicatorValuePost, Body): Data for the new social group's indicator value.\n\n### Returns:\n- **SocValueIndicatorValue**: Created social group's indicator value.\n\n### Errors:\n- **404 Not Found**: If the social value (or related entity) does not exist.\n- **409 Conflict**: If an indicator value with the such parameters already exists.","operationId":"add_social_value_indicator_value_api_v1_social_values_indicators_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValueIndicatorValuePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocValueIndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_objects/{urban_object_id}":{"get":{"tags":["urban_objects"],"summary":"Get Urban Object By Id","description":"## Get an urban object by its identifier.\n\n### Parameters:\n- **urban_object_id** (int, Path): Unique identifier of the urban object.\n\n### Returns:\n- **UrbanObject**: The requested urban object (physical object + geometry + service).\n\n### Errors:\n- **404 Not Found**: If the urban object does not exist.","operationId":"get_urban_object_by_id_api_v1_urban_objects__urban_object_id__get","parameters":[{"name":"urban_object_id","in":"path","required":true,"schema":{"type":"integer","description":"urban object identifier","title":"Urban Object Id"},"description":"urban object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["urban_objects"],"summary":"Delete Urban Object By Id","description":"## Delete an urban object by its identifier.\n\n### Parameters:\n- **urban_object_id** (int, Path): Unique identifier of the urban object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the urban object does not exist.","operationId":"delete_urban_object_by_id_api_v1_urban_objects__urban_object_id__delete","parameters":[{"name":"urban_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"urban object identifier","title":"Urban Object Id"},"description":"urban object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["urban_objects"],"summary":"Patch Urban Object","description":"## Update specific fields of an urban object.\n\n### Parameters:\n- **urban_object_id** (int, Path): Unique identifier of the urban object.\n\n### Body:\n- **urban_object** (UrbanObjectPatch): The partial urban object data to update.\n\n### Returns:\n- **UrbanObject**: The updated urban object (physical object + geometry + service).\n\n### Errors:\n- **404 Not Found**: If the urban object does not exist.\n- **409 Conflict**: If an urban object with such `physical_object_id`, `object_geometry_id`\nand `service_id` already exists.","operationId":"patch_urban_object_api_v1_urban_objects__urban_object_id__patch","parameters":[{"name":"urban_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"urban object identifier","title":"Urban Object Id"},"description":"urban object identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_objects_by_physical_object":{"get":{"tags":["urban_objects"],"summary":"Get Urban Objects By Physical Object Id","description":"## Get a list of urban objects by physical object identifier.\n\n### Parameters:\n- **physical_object_id** (int, Query): Unique identifier of the physical object.\n\n### Returns:\n- **list[UrbanObject]**: A list of urban objects associated with the specified physical object.\n\n### Errors:\n- **404 Not Found**: If the physical object does not exist.","operationId":"get_urban_objects_by_physical_object_id_api_v1_urban_objects_by_physical_object_get","parameters":[{"name":"physical_object_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrbanObject"},"title":"Response Get Urban Objects By Physical Object Id Api V1 Urban Objects By Physical Object Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_objects_by_object_geometry":{"get":{"tags":["urban_objects"],"summary":"Get Urban Objects By Object Geometry Id","description":"## Get a list of urban objects by object geometry identifier.\n\n### Parameters:\n- **object_geometry_id** (int, Query): Unique identifier of object geometry.\n\n### Returns:\n- **list[UrbanObject]**: A list of urban objects associated with the specified object geometry.\n\n### Errors:\n- **404 Not Found**: If the object geometry does not exist.","operationId":"get_urban_objects_by_object_geometry_id_api_v1_urban_objects_by_object_geometry_get","parameters":[{"name":"object_geometry_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrbanObject"},"title":"Response Get Urban Objects By Object Geometry Id Api V1 Urban Objects By Object Geometry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_objects_by_service_id":{"get":{"tags":["urban_objects"],"summary":"Get Urban Objects By Service Id","description":"## Get a list of urban objects by service identifier.\n\n### Parameters:\n- **service_id** (int, Query): Unique identifier of the service.\n\n### Returns:\n- **list[UrbanObject]**: A list of urban objects associated with the specified service.\n\n### Errors:\n- **404 Not Found**: If the service does not exist.","operationId":"get_urban_objects_by_service_id_api_v1_urban_objects_by_service_id_get","parameters":[{"name":"service_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrbanObject"},"title":"Response Get Urban Objects By Service Id Api V1 Urban Objects By Service Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/urban_objects_by_territory_id":{"get":{"tags":["urban_objects"],"summary":"Get Urban Objects By Territory Id","description":"## Get a list of urban objects by territory identifier.\n\n### Parameters:\n- **territory_id** (int, Query): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n\n### Returns:\n- **list[UrbanObject]**: A list of urban objects associated with the specified territory.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"get_urban_objects_by_territory_id_api_v1_urban_objects_by_territory_id_get","parameters":[{"name":"territory_id","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"parent territory identifier","title":"Territory Id"},"description":"parent territory identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UrbanObject"},"title":"Response Get Urban Objects By Territory Id Api V1 Urban Objects By Territory Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/buffers_geojson":{"get":{"tags":["territories"],"summary":"Get Buffers Geojson By Territory Id","description":"## Get buffers in GeoJSON format for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or service_type.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **buffer_type_id** (int | None, Query): Filters results by buffer type.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n  Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, BufferAttributes]]**: A GeoJSON response containing buffers\nand their geometries.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `service_type_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_buffers_geojson_by_territory_id_api_v1_territory__territory_id__buffers_geojson_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"buffer_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by buffer type","title":"Buffer Type Id"},"description":"to filter by buffer type"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____BufferAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/functional_zone_sources":{"get":{"tags":["territories"],"summary":"Get Functional Zone Sources By Territory Id","description":"## Get sources of functional zones for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[FunctionalZoneSource]**: A list of functional zone sources, each represented as a (year, source) pair.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_functional_zone_sources_by_territory_id_api_v1_territory__territory_id__functional_zone_sources_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FunctionalZoneSource"},"title":"Response Get Functional Zone Sources By Territory Id Api V1 Territory  Territory Id  Functional Zone Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/functional_zones":{"get":{"tags":["territories"],"summary":"Get Functional Zones By Territory Id","description":"## Get functional zones for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **year** (int, Query): Filters results by the year zones were uploaded.\n- **source** (str, Query): Filters results by the source from which zones were uploaded.\n- **functional_zone_type_id** (int | None, Query): Filters results by functional zone type.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n  Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[FunctionalZone]**: A list of functional zones matching the filters.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_functional_zones_by_territory_id_api_v1_territory__territory_id__functional_zones_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","description":"to filter by year when zones were uploaded","title":"Year"},"description":"to filter by year when zones were uploaded"},{"name":"source","in":"query","required":true,"schema":{"type":"string","description":"to filter by source from which zones were uploaded","title":"Source"},"description":"to filter by source from which zones were uploaded"},{"name":"functional_zone_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by functional zone type","title":"Functional Zone Type Id"},"description":"to filter by functional zone type"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FunctionalZone"},"title":"Response Get Functional Zones By Territory Id Api V1 Territory  Territory Id  Functional Zones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["territories"],"summary":"Delete All Functional Zones By Territory Id","description":"## Delete all functional zones for a given territory.\n\n**WARNING:** Set cities_only = True only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n- **cities_only** (bool, Query): If True, applies deletion only to cities (default: false).\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False.\n- **404 Not Found**: If the territory does not exist.","operationId":"delete_all_functional_zones_by_territory_id_api_v1_territory__territory_id__functional_zones_delete","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/functional_zones_geojson":{"get":{"tags":["territories"],"summary":"Get Functional Zones Geojson By Territory Id","description":"## Get functional zones in GeoJSON format for a given territory.\n\n**WARNING:** Set cities_only = True only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **year** (int, Query): Filters results by the year zones were uploaded.\n- **source** (str, Query): Filters results by the source from which zones were uploaded.\n- **functional_zone_type_id** (int | None, Query): Filters results by functional zone type.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n  Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, FunctionalZoneWithoutGeometry]]**: A GeoJSON response containing\nfunctional zones.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_functional_zones_geojson_by_territory_id_api_v1_territory__territory_id__functional_zones_geojson_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","description":"to filter by year when zones were uploaded","title":"Year"},"description":"to filter by year when zones were uploaded"},{"name":"source","in":"query","required":true,"schema":{"type":"string","description":"to filter by source from which zones were uploaded","title":"Source"},"description":"to filter by source from which zones were uploaded"},{"name":"functional_zone_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by functional zone type","title":"Functional Zone Type Id"},"description":"to filter by functional zone type"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____FunctionalZoneWithoutGeometry__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/hexagons":{"get":{"tags":["territories"],"summary":"Get Hexagons By Territory Id","description":"## Get hexagons for a given territory in GeoJSON format.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **centers_only** (bool, Query): If True, returns only hexagon center points (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, HexagonAttributes]]**: A GeoJSON response containing hexagon data.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"get_hexagons_by_territory_id_api_v1_territory__territory_id__hexagons_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["territories"],"summary":"Add Hexagons By Territory Id","description":"## Create hexagons for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **hexagons** (list[HexagonPost], Body): List of hexagons to be created.\n\n### Returns:\n- **list[Hexagon]**: A list of created hexagons.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.\n- **409 Conflict**: If hexagons already exists for the territory.","operationId":"add_hexagons_by_territory_id_api_v1_territory__territory_id__hexagons_post","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HexagonPost"},"title":"Hexagons"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Hexagon"},"title":"Response Add Hexagons By Territory Id Api V1 Territory  Territory Id  Hexagons Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["territories"],"summary":"Delete Hexagons By Territory Id","description":"## Delete all hexagons for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"delete_hexagons_by_territory_id_api_v1_territory__territory_id__hexagons_delete","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/indicators":{"get":{"tags":["territories"],"summary":"Get Indicators By Territory Id","description":"## Get indicators for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n\n### Returns:\n- **list[Indicator]**: A list of indicators associated with the territory.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"get_indicators_by_territory_id_api_v1_territory__territory_id__indicators_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Indicator"},"title":"Response Get Indicators By Territory Id Api V1 Territory  Territory Id  Indicators Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/indicator_values/geojson":{"get":{"tags":["territories"],"summary":"Get Indicator Values With Geometry By Territory Id","description":"## Get indicator values for a given territory (for only one) in GeoJSON format.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **indicator_ids** (str | None, Query): Comma-separated list of indicator IDs to filter results.\n- **indicators_group_id** (int | None, Query): Filters results by indicator group.\n- **start_date** (date | None, Query): Filters results by the earliest date included.\n- **end_date** (date | None, Query): Filters results by the latest date included.\n- **value_type** (ValueType, Query): Filters results by value type.\n- **information_source** (str | None, Query): Filters results by information source.\n- **last_only** (bool, Query): If True, retrieves only the most recent indicator values (default: true).\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, TerritoryWithIndicators]]**: Territory with list of indicators in\ngeojson format.\n\n### Errors:\n- **400 Bad Request**: If `indicator_ids` is specified in the wrong form.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_indicator_values_with_geometry_by_territory_id_api_v1_territory__territory_id__indicator_values_geojson_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of identifiers separated by comma","title":"Indicator Ids"},"description":"list of identifiers separated by comma"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"lowest date included","title":"Start Date"},"description":"lowest date included"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"highest date included","title":"End Date"},"description":"highest date included"},{"name":"value_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ValueType","description":"to filter by value type"},"description":"to filter by value type"},{"name":"information_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter by source","title":"Information Source"},"description":"to filter by source"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last indicators","default":true,"title":"Last Only"},"description":"to get last indicators"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithBinnedIndicators__"},{"$ref":"#/components/schemas/TerritoriesWithBinnedIndicators"}],"title":"Response Get Indicator Values With Geometry By Territory Id Api V1 Territory  Territory Id  Indicator Values Geojson Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/indicator_values":{"get":{"tags":["territories"],"summary":"Get Indicator Values By Territory Id","description":"## Get indicator values for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **indicator_ids** (str | None, Query): Comma-separated list of indicator IDs to filter results.\n- **indicators_group_id** (int | None, Query): Filters results by indicator group.\n- **start_date** (date | None, Query): Filters results by the earliest date included.\n- **end_date** (date | None, Query): Filters results by the latest date included.\n- **value_type** (ValueType, Query): Filters results by value type.\n- **information_source** (str | None, Query): Filters results by information source.\n- **last_only** (bool, Query): If True, retrieves only the most recent indicator values (default: true).\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: false).\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[IndicatorValue]**: A list of indicator values matching the filters + binned min/max value.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False\nor the indicator_ids is specified in the wrong form.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_indicator_values_by_territory_id_api_v1_territory__territory_id__indicator_values_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of identifiers separated by comma","title":"Indicator Ids"},"description":"list of identifiers separated by comma"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"lowest date included","title":"Start Date"},"description":"lowest date included"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"highest date included","title":"End Date"},"description":"highest date included"},{"name":"value_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ValueType","description":"to filter by value type"},"description":"to filter by value type"},{"name":"information_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter by source","title":"Information Source"},"description":"to filter by source"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last indicators","default":true,"title":"Last Only"},"description":"to get last indicators"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":false,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BinnedIndicatorValue"},"title":"Response Get Indicator Values By Territory Id Api V1 Territory  Territory Id  Indicator Values Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/indicator_values":{"get":{"tags":["territories"],"summary":"Get Indicator Values By Parent Id","description":"## Get indicator values for child territories (only given territory's level + 1) in GeoJSON format.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped, returns the\nhighest level territories.\n- **indicator_ids** (str | None, Query): Comma-separated list of indicator IDs to filter results.\n- **indicators_group_id** (int | None, Query): Filters results by indicator group.\n- **start_date** (date | None, Query): Filters results by the earliest date included.\n- **end_date** (date | None, Query): Filters results by the latest date included.\n- **value_type** (ValueType, Query): Filters results by value type.\n- **information_source** (str | None, Query): Filters results by information source.\n- **last_only** (bool, Query): If True, retrieves only the most recent indicator values (default: true).\n- **with_binned** (bool, Query): If True, returns not only geojson, but also list of binned values\nfor each indicator.\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, TerritoryWithIndicators]]**: A GeoJSON response containing territories\nand their indicator values.\n- **TerritoriesWithBinnedIndicators**: If `with_binned` = True, returns geojson + summary list of binned values.\n\n### Errors:\n- **400 Bad Request**: If the indicator_ids is specified in the wrong form.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_indicator_values_by_parent_id_api_v1_territory_indicator_values_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier, should be skipped to get top level territories"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list id separated by commas","title":"Indicator Ids"},"description":"list id separated by commas"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"lowest date included","title":"Start Date"},"description":"lowest date included"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"highest date included","title":"End Date"},"description":"highest date included"},{"name":"value_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ValueType","description":"to filter by value type"},"description":"to filter by value type"},{"name":"information_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter by source","title":"Information Source"},"description":"to filter by source"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last indicators","default":true,"title":"Last Only"},"description":"to get last indicators"},{"name":"with_binned","in":"query","required":false,"schema":{"type":"boolean","description":"to get summary bindings for each indicator","default":false,"title":"With Binned"},"description":"to get summary bindings for each indicator"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithIndicators__"},{"$ref":"#/components/schemas/TerritoriesWithBinnedIndicators"}],"title":"Response Get Indicator Values By Parent Id Api V1 Territory Indicator Values Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/soc_values/indicators":{"get":{"tags":["territories"],"summary":"Get Soc Values Indicator Values By Territory Id","description":"## Get social values indicator values for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **year** (int, Query): Filter results by specified year.\n- **last_only** (int, Query): To get only the last indicator value for each social group's value (default: true).\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: false).\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[IndicatorValue]**: A list of indicator values matching the filters.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False\nor the indicator_ids is specified in the wrong form.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_soc_values_indicator_values_by_territory_id_api_v1_territory__territory_id__soc_values_indicators_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"year when value was modeled (skip to get values for all years)","title":"Year"},"description":"year when value was modeled (skip to get values for all years)"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last indicators","default":true,"title":"Last Only"},"description":"to get last indicators"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":false,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SocValueIndicatorValue"},"title":"Response Get Soc Values Indicator Values By Territory Id Api V1 Territory  Territory Id  Soc Values Indicators Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/normatives":{"get":{"tags":["territories"],"summary":"Get Territory Normatives","description":"## Get normatives for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** Set `last_only = True` only if you don't specify `year`.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **year** (int | None, Query): Optional filter by the specified year (default: None).\n- **last_only** (bool, Query): If True, retrieves only the most recent normatives (default: true).\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: false).\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[Normative]**: A list of normatives associated with the territory.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False\nor `last_only` is set to True and `year` is set.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_territory_normatives_api_v1_territory__territory_id__normatives_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"optional filter by year (default: None)","title":"Year"},"description":"optional filter by year (default: None)"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last normatives","default":false,"title":"Last Only"},"description":"to get last normatives"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":false,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Normative"},"title":"Response Get Territory Normatives Api V1 Territory  Territory Id  Normatives Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["territories"],"summary":"Post Territory Normatives","description":"## Create a batch of normatives for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **normatives** (list[NormativePost], Body): List of normatives to be created.\n\n### Returns:\n- **list[Normative]**: A list of created normatives.\n\n### Errors:\n- **400 Bad Request**: If at least one normative with the specified attributes already exists.\n- **404 Not Found**: If the territory (or related entities) does not exist.\n- **409 Conflict**: If the normative with such attributes already exists.","operationId":"post_territory_normatives_api_v1_territory__territory_id__normatives_post","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NormativePost"},"minItems":1,"title":"Normatives"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Normative"},"title":"Response Post Territory Normatives Api V1 Territory  Territory Id  Normatives Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["territories"],"summary":"Put Territory Normatives","description":"## Update a batch of normatives for a given territory.\n\n**NOTE**: If a normative with the specified attributes already exists, it will be updated.\nOtherwise, a new normative will be created.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **normatives** (list[NormativePost], Body): List of normatives to be updated.\n\n### Returns:\n- **list[Normative]**: A list of updated normatives.\n\n### Errors:\n- **404 Not Found**: If the territory (or related entities) does not exist.","operationId":"put_territory_normatives_api_v1_territory__territory_id__normatives_put","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NormativePost"},"minItems":1,"title":"Normatives"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Normative"},"title":"Response Put Territory Normatives Api V1 Territory  Territory Id  Normatives Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["territories"],"summary":"Patch Territory Normatives","description":"## Partially update a batch of normatives for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **normatives** (list[NormativePatch], Body): List of normatives to be partially updated.\n\n### Returns:\n- **list[Normative]**: A list of updated normatives.\n\n### Errors:\n- **400 Bad Request**: If at least one normative with the specified attributes already exists.\n- **404 Not Found**: If the territory (or related entities) does not exist.","operationId":"patch_territory_normatives_api_v1_territory__territory_id__normatives_patch","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NormativePatch"},"minItems":1,"title":"Normatives"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Normative"},"title":"Response Patch Territory Normatives Api V1 Territory  Territory Id  Normatives Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["territories"],"summary":"Delete Territory Normatives","description":"## Delete a batch of normatives for a given territory.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **normatives** (list[NormativeDelete], Body): List of normatives to be deleted.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **404 Not Found**: If at least one of the normatives does not exist.","operationId":"delete_territory_normatives_api_v1_territory__territory_id__normatives_delete","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NormativeDelete"},"minItems":1,"title":"Normatives"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/normatives_values":{"get":{"tags":["territories"],"summary":"Get Normatives Values By Parent Id","description":"## Get normatives for child territories (only given territory's level + 1) in GeoJSON format.\n\n**WARNING:** Set `last_only = True` only if you don't specify `year`.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped, returns\nthe highest level territories.\n- **year** (int | None, Query): Optional filter by the specified year (default: None).\n- **last_only** (bool, Query): If True, retrieves only the most recent normatives (default: true).\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, TerritoryWithNormatives]]**: A GeoJSON response containing territories\nand their normatives.\n\n### Errors:\n- **400 Bad Request**: If `last_only` is set to True and `year` is set.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_normatives_values_by_parent_id_api_v1_territory_normatives_values_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier, should be skipped to get top level territories"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"optional filter by year (default: None)","title":"Year"},"description":"optional filter by year (default: None)"},{"name":"last_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get last normatives","default":false,"title":"Last Only"},"description":"to get last normatives"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithNormatives__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/physical_object_types":{"get":{"tags":["territories"],"summary":"Get Physical Object Types By Territory Id","description":"## Get physical object types for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n\n### Returns:\n- **list[PhysicalObjectType]**: A list of physical object types for the given territory.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_object_types_by_territory_id_api_v1_territory__territory_id__physical_object_types_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectType"},"title":"Response Get Physical Object Types By Territory Id Api V1 Territory  Territory Id  Physical Object Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/physical_objects":{"get":{"tags":["territories"],"summary":"Get Physical Objects By Territory Id","description":"## Get physical objects for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **physical_object_function_id** (int | None, Query): Filters results by physical object function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (PhysicalObjectsOrderByField, Query): Defines the sorting attribute - physical_object_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving physical objects (default: 1).\n- **page_size** (int, Query): Defines the number of physical objects per page (default: 10).\n\n### Returns:\n- **Page[PhysicalObject]**: A paginated list of physical objects.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `physical_object_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_objects_by_territory_id_api_v1_territory__territory_id__physical_objects_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter physical objects by name substring (case-insensitive)","title":"Name"},"description":"filter physical objects by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_PhysicalObject_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/physical_objects_with_geometry":{"get":{"tags":["territories"],"summary":"Get Physical Objects With Geometry By Territory Id","description":"## Get physical objects with geometry for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **physical_object_function_id** (int | None, Query): Filters results by physical object function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (PhysicalObjectsOrderByField, Query): Defines the sorting attribute - physical_object_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving physical objects (default: 1).\n- **page_size** (int, Query): Defines the number of physical objects per page (default: 10).\n\n### Returns:\n- **Page[PhysicalObjectWithGeometry]**: A paginated list of physical objects.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `physical_object_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_objects_with_geometry_by_territory_id_api_v1_territory__territory_id__physical_objects_with_geometry_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter physical objects by name substring (case-insensitive)","title":"Name"},"description":"filter physical objects by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_PhysicalObjectWithGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/physical_objects_geojson":{"get":{"tags":["territories"],"summary":"Get Physical Objects Geojson By Territory Id","description":"## Get physical objects in GeoJSON format for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **physical_object_function_id** (int | None, Query): Filters results by physical object function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, PhysicalObject]]**: A GeoJSON response containing physical objects\nand their geometries.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `physical_object_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_objects_geojson_by_territory_id_api_v1_territory__territory_id__physical_objects_geojson_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter physical objects by name substring (case-insensitive)","title":"Name"},"description":"filter physical objects by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only center points of geometries","default":false,"title":"Centers Only"},"description":"to get only center points of geometries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____PhysicalObject__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/service_types":{"get":{"tags":["territories"],"summary":"Get Service Types By Territory Id","description":"## Get service types for a given territory.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from child territories.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **include_child_territories** (bool, Query): If True, includes data from child territories.\n- **cities_only** (bool, Query): If True, retrieves data only for cities.\n\n### Returns:\n- **list[ServiceType]**: A list of service types for the given territory.\n\n### Errors:\n- **400 Bad Request**: If you set cities_only = true and include_child_territories = false.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_service_types_by_territory_id_api_v1_territory__territory_id__service_types_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceType"},"title":"Response Get Service Types By Territory Id Api V1 Territory  Territory Id  Service Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/services":{"get":{"tags":["territories"],"summary":"Get Services By Territory Id","description":"## Get services for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by service type or urban function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **urban_function_id** (int | None, Query): Filters results by urban function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (OrderByField, Query): Defines the sorting attribute - service_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving services (default: 1).\n- **page_size** (int, Query): Defines the number of services per page (default: 10).\n\n### Returns:\n- **Page[Service]**: A paginated list of services.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `service_type_id` and `urban_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_services_by_territory_id_api_v1_territory__territory_id__services_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"urban function identifier","title":"Urban Function Id"},"description":"urban function identifier"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter services by name substring (case-insensitive)","title":"Name"},"description":"filter services by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only cities or not","default":false,"title":"Cities Only"},"description":"to get only cities or not"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Service_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/services_with_geometry":{"get":{"tags":["territories"],"summary":"Get Services With Geometry By Territory Id","description":"## Get services with geometry for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by service type or urban function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **urban_function_id** (int | None, Query): Filters results by urban function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (OrderByField, Query): Defines the sorting attribute - service_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving services (default: 1).\n- **page_size** (int, Query): Defines the number of services per page (default: 10).\n\n### Returns:\n- **Page[ServiceWithGeometry]**: A paginated list of services with geometry.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `service_type_id` and `urban_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_services_with_geometry_by_territory_id_api_v1_territory__territory_id__services_with_geometry_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter services by name substring (case-insensitive)","title":"Name"},"description":"to filter services by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"Attribute to set ordering (created_at or updated_at)"},"description":"Attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"Order type (ascending or descending) if ordering field is set","default":"asc"},"description":"Order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ServiceWithGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/services_geojson":{"get":{"tags":["territories"],"summary":"Get Services Geojson By Territory Id","description":"## Get services in GeoJSON format for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by service type or urban function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **urban_function_id** (int | None, Query): Filters results by urban function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: True).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, Service]]**: A GeoJSON response containing services and their geometries.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `service_type_id` and `urban_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_services_geojson_by_territory_id_api_v1_territory__territory_id__services_geojson_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter services by name substring (case-insensitive)","title":"Name"},"description":"to filter services by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories (unsafe for high level territories)","default":true,"title":"Include Child Territories"},"description":"to get from child territories (unsafe for high level territories)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only center points of geometries","default":false,"title":"Centers Only"},"description":"to get only center points of geometries"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Service__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}/services_capacity":{"get":{"tags":["territories"],"summary":"Get Total Services Capacity By Territory Id","description":"## Get aggregated count and capacity of services for territories at the given level.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **level** (int, Query): Level of the territory hierarchy to retrieve data for.\n- **service_type_id** (int | None, Query): Filters results by service type. If not provided,\nreturns data for all service types.\n\n### Returns:\n- **list[ServicesCountCapacity]**: A list of aggregated service counts and capacities for the specified\nterritory and level.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"get_total_services_capacity_by_territory_id_api_v1_territory__territory_id__services_capacity_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"level","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory level","title":"Level"},"description":"territory level"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServicesCountCapacity"},"title":"Response Get Total Services Capacity By Territory Id Api V1 Territory  Territory Id  Services Capacity Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{territory_id}":{"get":{"tags":["territories"],"summary":"Get Territory By Id","description":"## Get a territory by its identifier.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n\n### Returns:\n- **Territory**: The requested territory.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"get_territory_by_id_api_v1_territory__territory_id__get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Territory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["territories"],"summary":"Patch Territory","description":"## Partially update a territory by its identifier.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **territory** (TerritoryPatch, Body): Fields to update in the territory.\n\n### Returns:\n- **Territory**: The updated territory with modified fields.\n\n### Errors:\n- **404 Not Found**: If the territory does not exist.","operationId":"patch_territory_api_v1_territory__territory_id__patch","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Territory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory":{"post":{"tags":["territories"],"summary":"Add Territory","description":"## Create a new territory.\n\n### Parameters:\n- **territory** (TerritoryPost, Body): Data for the new territory.\n\n### Returns:\n- **Territory**: The created territory.\n\n### Errors:\n- **404 Not Found**: If the related entity does not exist.","operationId":"add_territory_api_v1_territory_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryPost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Territory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territories":{"get":{"tags":["territories"],"summary":"Get Territories By Parent Id","description":"## Get a paginated list of territories by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped, returns the\nhighest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving territories (default: 1).\n- **page_size** (int, Query): Defines the number of territories per page (default: 10).\n\n### Returns:\n- **Page[Territory]**: A paginated list of territories.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_territories_by_parent_id_api_v1_territories_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only cities","default":false,"title":"Cities Only"},"description":"to get only cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Territory_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/all_territories":{"get":{"tags":["territories"],"summary":"Get All Territories By Parent Id","description":"## Get all territories as a GeoJSON collection by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped,\nreturns the highest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **centers_only** (bool, Query): If True, retrieves only center points of territories (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[FeatureGeometry, TerritoryWithoutGeometry]]**: A GeoJSON response\ncontaining territories.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_all_territories_by_parent_id_api_v1_all_territories_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithoutGeometry__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territories_without_geometry":{"get":{"tags":["territories"],"summary":"Get Territories Without Geometry By Parent Id","description":"## Get a paginated list of territories without geometry by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped, returns the\nhighest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving territories (default: 1).\n- **page_size** (int, Query): Defines the number of territories per page (default: 10).\n\n### Returns:\n- **Page[TerritoryWithoutGeometry]**: A paginated list of territories without geometry.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_territories_without_geometry_by_parent_id_api_v1_territories_without_geometry_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_TerritoryWithoutGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/all_territories_without_geometry":{"get":{"tags":["territories"],"summary":"Get All Territories Without Geometry By Parent Id","description":"## Get a list of all territories without geometry by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped, returns the\nhighest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n\n### Returns:\n- **list[TerritoryWithoutGeometry]**: A list of territories without geometry.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_all_territories_without_geometry_by_parent_id_api_v1_all_territories_without_geometry_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TerritoryWithoutGeometry"},"title":"Response Get All Territories Without Geometry By Parent Id Api V1 All Territories Without Geometry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/all_territories_without_geometry/hierarchy":{"get":{"tags":["territories"],"summary":"Get All Territories Without Geometry Hierarchy","description":"## Get a list of trees of all territories without geometry by parent identifier (parent isn't included).\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If None,\nreturns top-level territories.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n\n### Returns:\n- **list[TerritoryTreeWithoutGeometry]**: Hierarchical tree structures of territories without geometry data.\nEach root node contains nested children territories recursively.\n\n### Errors:\n- **404 Not Found**: If specified parent territory doesn't exist.","operationId":"get_all_territories_without_geometry_hierarchy_api_v1_all_territories_without_geometry_hierarchy_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TerritoryTreeWithoutGeometry"},"title":"Response Get All Territories Without Geometry Hierarchy Api V1 All Territories Without Geometry Hierarchy Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/common_territory":{"post":{"tags":["territories"],"summary":"Get Common Territory","description":"## Get the most deep territory that fully covers a given geometry.\n\n### Parameters:\n- **geometry** (Geometry, Body): Geometry to be checked.\n  NOTE: The geometry must have **SRID=4326**.\n\n### Returns:\n- **Territory**: The most deep territory covering the given geometry.\n\n### Errors:\n- **400 Bad Request**: If an invalid geometry is specified.\n- **404 Not Found**: If no matching territory is found.","operationId":"get_common_territory_api_v1_common_territory_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Territory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory/{parent_territory_id}/intersecting_territories":{"post":{"tags":["territories"],"summary":"Intersecting Territories","description":"## Get list of inner territories (only at level of given parent + 1) of a given parent territory which intersect with given geometry.\n\n### Parameters:\n- **parent_territory_id** (int, Path): Unique identifier of the parent territory.\n- **geometry** (Geometry, Body): Geometry to be checked.\n  NOTE: The geometry must have **SRID=4326**.\n\n### Returns:\n- **list[Territory]**: A list of territories intersecting with the given geometry.\n\n### Errors:\n- **400 Bad Request**: If an invalid geometry is specified.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"intersecting_territories_api_v1_territory__parent_territory_id__intersecting_territories_post","parameters":[{"name":"parent_territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"parent territory identifier","title":"Parent Territory Id"},"description":"parent territory identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Territory"},"title":"Response Intersecting Territories Api V1 Territory  Parent Territory Id  Intersecting Territories Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territories/{territories_ids}":{"get":{"tags":["territories"],"summary":"Get Territories By Ids","description":"## Get list of territories by given identifiers in GeoJSON format.\n\n### Parameters:\n- **territories_ids** (int, Path): List of unique identifiers separated by comma.\n\n### Returns:\n- **GeoJSONResponse[Feature[FeatureGeometry, TerritoryWithoutGeometry]]**: A list of requested\nterritories in GeoJSON format.\n\n### Errors:\n- **400 Bad Request**: If an invalid list of identifiers is specified.\n- **404 Not Found**: If at least one territory with given identifier was not found.","operationId":"get_territories_by_ids_api_v1_territories__territories_ids__get","parameters":[{"name":"territories_ids","in":"path","required":true,"schema":{"type":"string","description":"list of identifiers separated by comma","title":"Territories Ids"},"description":"list of identifiers separated by comma"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithoutGeometry__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/territory_types":{"get":{"tags":["territories"],"summary":"Get Territory Types","description":"## Get a list of territory types.\n\n### Returns:\n- **list[TerritoryType]**: A list of territory types.","operationId":"get_territory_types_api_v1_territory_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TerritoryType"},"type":"array","title":"Response Get Territory Types Api V1 Territory Types Get"}}}}}},"post":{"tags":["territories"],"summary":"Add Territory Type","description":"## Create a new territory type.\n\n### Parameters:\n- **territory_type** (TerritoryTypePost, Body): Data for the new territory type.\n\n### Returns:\n- **TerritoryType**: The created territory type.\n\n### Errors:\n- **409 Conflict**: If a territory type with the such name already exists.","operationId":"add_territory_type_api_v1_territory_types_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryTypePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoryType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/target_city_types":{"get":{"tags":["territories"],"summary":"Get Target City Types","description":"## Get a list of target city types.\n\n### Returns:\n- **list[TargetCityType]**: A list of target city types.","operationId":"get_target_city_types_api_v1_target_city_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TargetCityType"},"type":"array","title":"Response Get Target City Types Api V1 Target City Types Get"}}}}}},"post":{"tags":["territories"],"summary":"Add Target City Type","description":"## Create a new target city type.\n\n### Parameters:\n- **target_city_type** (TargetCityTypePost, Body): Data for the new target city type.\n\n### Returns:\n- **TargetCityType**: The created target city type.\n\n### Errors:\n- **409 Conflict**: If a target city type with the such name already exists.","operationId":"add_target_city_type_api_v1_target_city_types_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TargetCityTypePost"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TargetCityType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/buffers":{"get":{"tags":["projects"],"summary":"Get Buffers By Scenario Id","description":"## Get a list of buffers in GeoJSON format for a given scenario\n\n**WARNING:** You can only filter by physical object type or service_type.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **buffer_type_id** (int, Query): To filter by buffer type.\n- **physical_object_type_id** (int, Query): To filter by physical object type.\n- **service_type_id** (int, Query): To filter by service type.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioFunctionalZoneWithoutGeometry]]**: Buffers in GeoJSON format.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `service_type_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_buffers_by_scenario_id_api_v1_scenarios__scenario_id__buffers_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"buffer_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"buffer type identifier","title":"Buffer Type Id"},"description":"buffer type identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioBufferAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Buffer","description":"## Create or update a scenario buffer.\n\n**NOTE 1:** If the geometry is not passed, the method will try to automatically create a buffer with default radius\n(it depends on physical object/service type) for given urban object.\n\n**NOTE 2:** If a buffer the such params already exists, it will be updated.\nOtherwise, a new buffer will be created.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **buffer** (ScenarioBufferPut, Body): The updated buffer data (containing ids to find urban object).\n\n### Returns:\n- **ScenarioBuffer**: The created scenario buffer.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"put_buffer_api_v1_scenarios__scenario_id__buffers_put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBufferPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBuffer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Buffer","description":"## Delete a scenario buffer.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **buffer** (ScenarioBufferPut, Body): Data to search for a buffer to delete.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or buffer does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_buffer_api_v1_scenarios__scenario_id__buffers_delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBufferDelete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/buffers":{"get":{"tags":["projects"],"summary":"Get Context Buffers","description":"## Get buffers for the context of a project territory in GeoJSON format.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **buffer_type_id** (int, Query): To filter by buffer type.\n- **physical_object_type_id** (int, Query): To filter by physical object type.\n- **service_type_id** (int, Query): To filter by service type.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, BufferAttributes]]**: A GeoJSON response containing the buffers.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `service_type_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_buffers_api_v1_scenarios__scenario_id__context_buffers_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"buffer_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"buffer type identifier","title":"Buffer Type Id"},"description":"buffer type identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioBufferAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/cadastres":{"get":{"tags":["projects"],"summary":"Get Cadastres By Project Id","description":"## Get cadastres in GeoJSON format for a given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ProjectCadastreAttributes]]**: Project's cadastres in GeoJSON format.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_cadastres_by_project_id_api_v1_projects__project_id__cadastres_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ProjectCadastreAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Project Cadastres","description":"## Create new cadastres for a given project.\n\n**WARNING:** This method will delete all cadastres for the specified project before adding new ones.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **cadastres** (list[ProjectCadastrePut], Body): List of cadastres to be added.\n\n### Returns:\n- **OkResponse**: A confirmation message of the update.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project (or related entity) does not exist.\n\n### Constraints:\n- The user must be the relevant project owner.","operationId":"put_project_cadastres_api_v1_projects__project_id__cadastres_put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectCadastrePut"},"minItems":1,"title":"Cadastres"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Cadastres By Project Id","description":"## Delete all cadastres associated with a given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the relevant project owner.","operationId":"delete_cadastres_by_project_id_api_v1_projects__project_id__cadastres_delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/functional_zone_sources":{"get":{"tags":["projects"],"summary":"Get Functional Zone Sources By Scenario Id","description":"## Get a list of functional zone sources for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **list[FunctionalZoneSource]**: A list of functional zone sources, each represented as a (year, source) pair.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_functional_zone_sources_by_scenario_id_api_v1_scenarios__scenario_id__functional_zone_sources_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FunctionalZoneSource"},"title":"Response Get Functional Zone Sources By Scenario Id Api V1 Scenarios  Scenario Id  Functional Zone Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/functional_zones":{"get":{"tags":["projects"],"summary":"Get Functional Zones By Scenario Id","description":"## Get functional zones in GeoJSON format for a given scenario, filtered by year and source.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **year** (int, Query): Year of zone upload.\n- **source** (str, Query): Source from which zones were uploaded.\n- **functional_zone_type_id** (int | None, Query): Optional functional zone type filter.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioFunctionalZoneWithoutGeometry]]**: Functional zones in GeoJSON format.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_functional_zones_by_scenario_id_api_v1_scenarios__scenario_id__functional_zones_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","description":"to filter by year when zones were uploaded","title":"Year"},"description":"to filter by year when zones were uploaded"},{"name":"source","in":"query","required":true,"schema":{"type":"string","description":"to filter by source from which zones were uploaded","title":"Source"},"description":"to filter by source from which zones were uploaded"},{"name":"functional_zone_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"functional zone type identifier","title":"Functional Zone Type Id"},"description":"functional zone type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioFunctionalZoneWithoutGeometry__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Add Scenario Functional Zones","description":"## Create new functional zones for a given scenario.\n\n**WARNING:** This method will delete **ONLY USER'S** functional zones (since version 0.49.0)\nfor the specified scenario before adding new ones.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **functional_zones** (list[ScenarioFunctionalZonePost], Body): List of functional zones to be added.\n\n### Returns:\n- **list[ScenarioFunctionalZone]**: A list of created functional zones.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the relevant project owner.","operationId":"add_scenario_functional_zones_api_v1_scenarios__scenario_id__functional_zones_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioFunctionalZonePost"},"minItems":1,"title":"Functional Zones"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioFunctionalZone"},"title":"Response Add Scenario Functional Zones Api V1 Scenarios  Scenario Id  Functional Zones Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Functional Zones By Scenario Id","description":"## Delete all functional zones associated with a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner.","operationId":"delete_functional_zones_by_scenario_id_api_v1_scenarios__scenario_id__functional_zones_delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/functional_zone_sources":{"get":{"tags":["projects"],"summary":"Get Context Functional Zone Sources","description":"## Get functional zone sources for the project's context.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **list[FunctionalZoneSource]**: A list of functional zone sources, each represented as a (year, source) pair.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_context_functional_zone_sources_api_v1_scenarios__scenario_id__context_functional_zone_sources_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FunctionalZoneSource"},"title":"Response Get Context Functional Zone Sources Api V1 Scenarios  Scenario Id  Context Functional Zone Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/functional_zones":{"get":{"tags":["projects"],"summary":"Get Context Functional Zones","description":"## Get functional zones in GeoJSON format for the project's context, filtered by year and source.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **year** (int, Query): Year of zone upload.\n- **source** (str, Query): Source from which zones were uploaded.\n- **functional_zone_type_id** (int | None, Query): Optional functional zone type filter.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, FunctionalZoneWithoutGeometry]]**: Functional zones in GeoJSON format.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the relevant project owner or the project must be publicly accessible.","operationId":"get_context_functional_zones_api_v1_scenarios__scenario_id__context_functional_zones_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","description":"to filter by year when zones were uploaded","title":"Year"},"description":"to filter by year when zones were uploaded"},{"name":"source","in":"query","required":true,"schema":{"type":"string","description":"to filter by source from which zones were uploaded","title":"Source"},"description":"to filter by source from which zones were uploaded"},{"name":"functional_zone_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"functional zone type identifier","title":"Functional Zone Type Id"},"description":"functional zone type identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____FunctionalZoneWithoutGeometry__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/functional_zones/{functional_zone_id}":{"patch":{"tags":["projects"],"summary":"Patch Scenario Functional Zone","description":"## Partially update a functional zone by modifying only specified attributes.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **functional_zone_id** (int, Path): Unique identifier of the functional zone.\n- **functional_zone** (ScenarioFunctionalZonePatch, Body): Attributes to be updated.\n\n### Returns:\n- **ScenarioFunctionalZone**: The updated functional zone.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or functional zone (or related entity) does not exist.\n\n### Constraints:\n- The user must be the relevant project owner.","operationId":"patch_scenario_functional_zone_api_v1_scenarios__scenario_id__functional_zones__functional_zone_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"functional_zone_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"functional zone identifier","title":"Functional Zone Id"},"description":"functional zone identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioFunctionalZonePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioFunctionalZone"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/geometries":{"get":{"tags":["projects"],"summary":"Get Geometries By Scenario Id","description":"## Get geometries for a given scenario in GeoJSON format.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_id** (int | None, Query): Optional filter by physical object identifier.\n- **service_id** (int | None, Query): Optional filter by service identifier.\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioGeometryAttributes]]**: A GeoJSON response containing the geometries.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_geometries_by_scenario_id_api_v1_scenarios__scenario_id__geometries_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object","title":"Physical Object Id"},"description":"to filter by physical object"},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service","title":"Service Id"},"description":"to filter by service"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/geometries_with_all_objects":{"get":{"tags":["projects"],"summary":"Get Geometries With All Objects By Scenario Id","description":"## Get geometries with associated services and physical objects for a given scenario in GeoJSON format.\n\n**WARNING:** You can only filter by physical object type or physical object function\n(and only by service type or urban function).\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n- **exclude_physical_object_function_id** (int | None, Query): Exclude objects with this physical function.\n- **exclude_urban_function_id** (int | None, Query): Exclude objects with this urban function.\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioAllObjects]]**: A GeoJSON response containing the\ngeometries with associated objects in properties.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`\n(or `service_type_id` and `urban_function_id`).\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_geometries_with_all_objects_by_scenario_id_api_v1_scenarios__scenario_id__geometries_with_all_objects_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"exclude_physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this physical object function","title":"Exclude Physical Object Function Id"},"description":"exclude this physical object function"},{"name":"exclude_urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this urban function","title":"Exclude Urban Function Id"},"description":"exclude this urban function"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioAllObjects__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/all_objects_without_geometry":{"get":{"tags":["projects"],"summary":"Get All Objects Without Geometry By Scenario Id","description":"## Get geometry metadata with associated services and physical objects for a given scenario.\n\nThe response is a regular JSON array and does not include `geometry` or `centre_point`.\nFilters and access restrictions are the same as for `geometries_with_all_objects`.","operationId":"get_all_objects_without_geometry_by_scenario_id_api_v1_scenarios__scenario_id__all_objects_without_geometry_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"exclude_physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this physical object function","title":"Exclude Physical Object Function Id"},"description":"exclude this physical object function"},{"name":"exclude_urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this urban function","title":"Exclude Urban Function Id"},"description":"exclude this urban function"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioAllObjects"},"title":"Response Get All Objects Without Geometry By Scenario Id Api V1 Scenarios  Scenario Id  All Objects Without Geometry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/geometries":{"get":{"tags":["projects"],"summary":"Get Context Geometries","description":"## Get geometries for the context of a project territory in GeoJSON format.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_id** (int | None, Query): Optional filter by physical object identifier.\n- **service_id** (int | None, Query): Optional filter by service identifier.\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, GeometryAttributes]]**: A GeoJSON response containing the geometries.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_geometries_api_v1_scenarios__scenario_id__context_geometries_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object","title":"Physical Object Id"},"description":"to filter by physical object"},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service","title":"Service Id"},"description":"to filter by service"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/geometries_with_all_objects":{"get":{"tags":["projects"],"summary":"Get Context Geometries With All Objects","description":"## Get geometries with associated services and physical objects for the context of a project territory in GeoJSON format.\n\n**WARNING:** You can only filter by physical object type or physical object function\n(and only by service type or urban function).\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n- **exclude_physical_object_function_id** (int | None, Query): Exclude objects with this physical function.\n- **exclude_urban_function_id** (int | None, Query): Exclude objects with this urban function.\n- **include_scenario_objects** (bool, Query): Include scenario objects from project territory\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, AllObjects]]**: A GeoJSON response containing the geometries\nwith associated objects.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`\n(or `service_type_id` and `urban_function_id`).\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_geometries_with_all_objects_api_v1_scenarios__scenario_id__context_geometries_with_all_objects_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"exclude_physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this physical object function","title":"Exclude Physical Object Function Id"},"description":"exclude this physical object function"},{"name":"exclude_urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"exclude this urban function","title":"Exclude Urban Function Id"},"description":"exclude this urban function"},{"name":"include_scenario_objects","in":"query","required":false,"schema":{"type":"boolean","description":"include scenario objects","default":false,"title":"Include Scenario Objects"},"description":"include scenario objects"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioAllObjects__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/geometries/{object_geometry_id}":{"put":{"tags":["projects"],"summary":"Put Object Geometry","description":"## Update all attributes of a scenario object geometry.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **object_geometry** (ObjectGeometryPut, Body): The updated object geometry data.\n\n### Returns:\n- **ScenarioObjectGeometry**: The updated scenario object geometry.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or object geometry (or related entity) does not exist.\n- **409 Conflict**: If you try to update non-scenario object geometry that has been already updated\n(then it is a scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"put_object_geometry_api_v1_scenarios__scenario_id__geometries__object_geometry_id__put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectGeometryPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioObjectGeometry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Patch Object Geometry","description":"## Update specific fields of a scenario object geometry.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **object_geometry** (ObjectGeometryPatch, Body): The partial object geometry data to update.\n\n### Returns:\n- **ScenarioObjectGeometry**: The updated scenario object geometry.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or object geometry (or related entity) does not exist.\n- **409 Conflict**: If you try to update non-scenario object geometry that has been already updated\n(then it is a scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_object_geometry_api_v1_scenarios__scenario_id__geometries__object_geometry_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectGeometryPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioObjectGeometry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Object Geometry","description":"## Delete a scenario object geometry by its identifier.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **object_geometry_id** (int, Path): Unique identifier of the object geometry.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or object geometry does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_object_geometry_api_v1_scenarios__scenario_id__geometries__object_geometry_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"object_geometry_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"object geometry identifier","title":"Object Geometry Id"},"description":"object geometry identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/indicators_values":{"get":{"tags":["projects"],"summary":"Get Indicators Values By Scenario Id","description":"## Get indicator values for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **indicator_ids** (str | None, Query): Optional list of indicator identifiers separated by comma.\n- **indicators_group_id** (int | None, Query): Optional filter by indicator group identifier.\n- **territory_id** (int | None, Query): Optional filter by territory identifier.\n- **hexagon_id** (int | None, Query): Optional filter by hexagon identifier.\n\n### Returns:\n- **list[ScenarioIndicatorValue]**: A list of scenario indicator values.\n\n### Errors:\n- **400 Bad Request**: If the indicator_ids is specified in the wrong form.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_indicators_values_by_scenario_id_api_v1_scenarios__scenario_id__indicators_values_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list id separated by commas","title":"Indicator Ids"},"description":"list id separated by commas"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by territory identifier","title":"Territory Id"},"description":"to filter by territory identifier"},{"name":"hexagon_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by hexagon identifier","title":"Hexagon Id"},"description":"to filter by hexagon identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioIndicatorValue"},"title":"Response Get Indicators Values By Scenario Id Api V1 Scenarios  Scenario Id  Indicators Values Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Add Scenario Indicator Value","description":"## Add a new indicator value for a given scenario.\n\n**NOTE:** After the indicator value is created, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Body:\n- **indicator_value** (ScenarioIndicatorValuePost): The indicator value data to be added.\n\n### Returns:\n- **ScenarioIndicatorValue**: The created indicator value.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n- **409 Conflict**: If an indicator value with such attributes already exists.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"add_scenario_indicator_value_api_v1_scenarios__scenario_id__indicators_values_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValuePost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Scenario Indicator Value","description":"## Update or create an indicator value for a given scenario.\n\n**NOTE 1:** If an indicator value with the specified attributes already exists, it will be updated.\nOtherwise, a new indicator value will be created.\n\n**NOTE 2:** After the indicator value is created, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **indicator_value** (ScenarioIndicatorValuePut, Body): The indicator value data to update or create.\n\n### Returns:\n- **ScenarioIndicatorValue**: The updated or created indicator value.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"put_scenario_indicator_value_api_v1_scenarios__scenario_id__indicators_values_put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValuePut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Indicators Values By Scenario Id","description":"## Delete all indicator values for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_indicators_values_by_scenario_id_api_v1_scenarios__scenario_id__indicators_values_delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/indicators_values/{indicator_value_id}":{"patch":{"tags":["projects"],"summary":"Patch Scenario Indicator Value","description":"## Update specific fields of an indicator value for a given scenario.\n\n**NOTE:** After the indicator value is updated, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **indicator_value_id** (int, Path): Unique identifier of the indicator value.\n- **indicator_value** (ScenarioIndicatorValuePatch, Body): The partial indicator value data to update.\n\n### Returns:\n- **ScenarioIndicatorValue**: The updated indicator value.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or indicator value (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_scenario_indicator_value_api_v1_scenarios__scenario_id__indicators_values__indicator_value_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"indicator_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator value identifier","title":"Indicator Value Id"},"description":"indicator value identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValuePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioIndicatorValue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Scenario Indicator Value By Id","description":"## Delete a specific indicator value for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **indicator_value_id** (int, Path): Unique identifier of the indicator value.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or indicator value does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_scenario_indicator_value_by_id_api_v1_scenarios__scenario_id__indicators_values__indicator_value_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"indicator_value_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"indicator value identifier","title":"Indicator Value Id"},"description":"indicator value identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/indicators_values/hexagons":{"get":{"tags":["projects"],"summary":"Get Hexagons With Indicators Values By Scenario Id","description":"## Get hexagons with indicator values for a given scenario in GeoJSON format.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **indicator_ids** (str | None, Query): Optional list of indicator identifiers separated by commas.\n- **indicators_group_id** (int | None, Query): Optional filter by indicator group identifier.\n- **centers_only** (bool, Query): If True, returns only center points of hexagons (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, HexagonWithIndicators]]**: A GeoJSON response containing hexagons\nwith indicator values.\n\n### Errors:\n- **400 Bad Request**: If the indicator_ids is specified in the wrong form.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_hexagons_with_indicators_values_by_scenario_id_api_v1_scenarios__scenario_id__indicators_values_hexagons_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"indicator_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"list of identifiers separated by comma","title":"Indicator Ids"},"description":"list of identifiers separated by comma"},{"name":"indicators_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by indicator group (identifier)","title":"Indicators Group Id"},"description":"to filter by indicator group (identifier)"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonWithIndicators__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/physical_object_types":{"get":{"tags":["projects"],"summary":"Get Physical Object Types By Scenario Id","description":"## Get a list of physical object types for a given scenario.\n\n**NOTE:** You can get the physical object types for both the context of the given scenario (`for_context` = true)\nand the project territory (`for_context` = false).\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **for_context** (bool, Query): Filter to get types for context or project territory (default: false).\n\n### Returns:\n- **list[PhysicalObjectType]**: A list of physical object types.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_physical_object_types_by_scenario_id_api_v1_scenarios__scenario_id__physical_object_types_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"for_context","in":"query","required":false,"schema":{"type":"boolean","description":"to get types for context or project territory","default":false,"title":"For Context"},"description":"to get types for context or project territory"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectType"},"title":"Response Get Physical Object Types By Scenario Id Api V1 Scenarios  Scenario Id  Physical Object Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/physical_objects":{"get":{"tags":["projects"],"summary":"Get Physical Objects By Scenario Id","description":"## Get a list of physical objects for a given scenario.\n\n**WARNING:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n\n### Returns:\n- **list[ScenarioPhysicalObject]**: A list of physical objects.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_physical_objects_by_scenario_id_api_v1_scenarios__scenario_id__physical_objects_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioPhysicalObject"},"title":"Response Get Physical Objects By Scenario Id Api V1 Scenarios  Scenario Id  Physical Objects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Add Physical Object With Geometry","description":"## Create a new physical object with geometry for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object** (PhysicalObjectWithGeometryPost, Body): The physical object data including geometry.\n\n### Returns:\n- **ScenarioUrbanObject**: The created urban object (physical object + geometry).\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"add_physical_object_with_geometry_api_v1_scenarios__scenario_id__physical_objects_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectWithGeometryPost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioUrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/physical_objects_with_geometry":{"get":{"tags":["projects"],"summary":"Get Physical Objects With Geometry By Scenario Id","description":"## Get a list of physical objects with geometry for a given scenario.\n\n**WARNING:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioPhysicalObjectWithGeometryAttributes]]**:\nA GeoJSON response containing the physical objects.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_physical_objects_with_geometry_by_scenario_id_api_v1_scenarios__scenario_id__physical_objects_with_geometry_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/physical_objects/around":{"post":{"tags":["projects"],"summary":"Get Physical Objects Around Geometry By Scenario Id","description":"## Get physical objects within a specified area (+ buffer 50 meters).\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **geometry** (AllPossibleGeometry, Body): Geometry defining the search area.\n  NOTE: The geometry must have **SRID=4326**.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioPhysicalObjectWithGeometryAttributes]]**:\nA GeoJSON response containing the physical objects.\n\n## Errors:\n- **400 Bad Request**: If an invalid geometry is specified.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.","operationId":"get_physical_objects_around_geometry_by_scenario_id_api_v1_scenarios__scenario_id__physical_objects_around_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"physical object type identifier","title":"Physical Object Type Id"},"description":"physical object type identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/physical_objects":{"get":{"tags":["projects"],"summary":"Get Context Physical Objects","description":"## Get a list of physical objects for the context of a project territory.\n\n**WARNING:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n\n### Returns:\n- **list[PhysicalObject]**: A list of physical objects.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_physical_objects_api_v1_scenarios__scenario_id__context_physical_objects_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObject"},"title":"Response Get Context Physical Objects Api V1 Scenarios  Scenario Id  Context Physical Objects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/physical_objects_with_geometry":{"get":{"tags":["projects"],"summary":"Get Context Physical Objects With Geometry","description":"## Get a list of physical objects for the context of a project territory.\n\n**WARNING:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_type_id** (int | None, Query): Optional filter by physical object type identifier.\n- **physical_object_function_id** (int | None, Query): Optional filter by physical object function identifier.\n- **include_scenario_objects** (bool, Query): Include scenario objects from project territory\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, PhysicalObject]]**: A GeoJSON response containing the physical objects.\n\n### Errors:\n- **400 Bad Request**: If you set both `physical_object_type_id` and `physical_object_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_physical_objects_with_geometry_api_v1_scenarios__scenario_id__context_physical_objects_with_geometry_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"include_scenario_objects","in":"query","required":false,"schema":{"type":"boolean","description":"include scenario objects","default":false,"title":"Include Scenario Objects"},"description":"include scenario objects"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/physical_objects/{physical_object_id}":{"put":{"tags":["projects"],"summary":"Put Physical Object","description":"## Update all attributes of a physical object for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **physical_object** (PhysicalObjectPut, Body): The updated physical object data.\n\n### Returns:\n- **ScenarioPhysicalObject**: The updated physical object.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or physical object (or related entity) does not exist.\n- **409 Conflict**: If you try to update non-scenario physical object that has been already updated\n(then it is scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"put_physical_object_api_v1_scenarios__scenario_id__physical_objects__physical_object_id__put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Patch Physical Object","description":"## Update specific fields of a physical object for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **physical_object** (PhysicalObjectPatch, Body): The partial physical object data to update.\n\n### Returns:\n- **ScenarioPhysicalObject**: The updated physical object.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or physical object (or related entity) does not exist.\n- **409 Conflict**: If you try to update non-scenario physical object that has been already updated\n(then it is scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_physical_object_api_v1_scenarios__scenario_id__physical_objects__physical_object_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhysicalObjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Physical Object","description":"## Delete a physical object by its identifier for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **physical_object_id** (int, Path): Unique identifier of the physical object.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or physical object does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_physical_object_api_v1_scenarios__scenario_id__physical_objects__physical_object_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"physical_object_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"physical object identifier","title":"Physical Object Id"},"description":"physical object identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/buildings":{"post":{"tags":["projects"],"summary":"Add Building","description":"## Create a new building for given scenario.\n\n**WARNING:** There can only be one building per physical object.\n\n### Parameters:\n- **building** (ScenarioBuildingPost, Body): Data for the new building.\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **ScenarioPhysicalObject**: Physical object with the new building information.\n\n## Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the physical object does not exist.\n- **409 Conflict**: If a building already exists for this physical object.","operationId":"add_building_api_v1_scenarios__scenario_id__buildings_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBuildingPost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Building","description":"## Create or update a building for given scenario.\n\n**NOTE:** If a building for given physical object already exists, it will be updated.\nOtherwise, a new building will be created.\n\n### Parameters:\n- **building** (BuildingPut, Body): Data for updating or creating a building.\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **ScenarioPhysicalObject**: Physical object with the new building information.\n\n## Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the physical object does not exist.","operationId":"put_building_api_v1_scenarios__scenario_id__buildings_put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBuildingPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/buildings/{building_id}":{"patch":{"tags":["projects"],"summary":"Patch Building","description":"## Partially update a building for given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **building_id** (int, Path): Unique identifier of the building.\n- **building** (BuildingPatch, Body): Fields to update in the building.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n\n### Returns:\n- **ScenarioPhysicalObject**: Physical object with the new building information.\n\n## Errors:\n- **404 Not Found**: If the building (or related entity) does not exist.","operationId":"patch_building_api_v1_scenarios__scenario_id__buildings__building_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"building_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"building identifier","title":"Building Id"},"description":"building identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioBuildingPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPhysicalObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Building","description":"## Delete a building by its identifier for given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **building_id** (int, Path): Unique identifier of the building.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n## Errors:\n- **404 Not Found**: If the building does not exist.","operationId":"delete_building_api_v1_scenarios__scenario_id__buildings__building_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"building_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"building identifier","title":"Building Id"},"description":"building identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}":{"get":{"tags":["projects"],"summary":"Get Project By Id","description":"## Get the project by given identifier.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **Project**: A project model with related base scenario and region short information.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_project_by_id_api_v1_projects__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Patch Project","description":"## Update specific fields of the given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **project** (ProjectPatch, Body): The partial project data to update.\n\n### Returns:\n- **Project**: The updated project with related base scenario and region short information.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_project_api_v1_projects__project_id__patch","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Project","description":"## Delete a project by its identifier. It also deletes all related objects from db and image from minio.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_project_api_v1_projects__project_id__delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/territory":{"get":{"tags":["projects"],"summary":"Get Project Territory By Project Id","description":"## Get the territory of a given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **ProjectTerritory**: A project territory model containing its geometry and properties.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_project_territory_by_project_id_api_v1_projects__project_id__territory_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectTerritory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/scenarios":{"get":{"tags":["projects"],"summary":"Get Scenarios By Project Id","description":"## Get a list of scenarios for a given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **list[Scenario]**: A list of scenarios with related project short information.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_scenarios_by_project_id_api_v1_projects__project_id__scenarios_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Scenario"},"title":"Response Get Scenarios By Project Id Api V1 Projects  Project Id  Scenarios Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/phases":{"get":{"tags":["projects"],"summary":"Get Phases By Project Id","description":"## Get phases of project by its identifier .\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **ProjectPhases**: Phases of project with such identifier.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_phases_by_project_id_api_v1_projects__project_id__phases_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project_id which phases are needed","title":"Project Id"},"description":"project_id which phases are needed"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPhases"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Put Phases By Project Id","description":"## Update all attributes of the given project phases.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **project_phases** (ProjectPhasesPut, Body): The updated project phases\n\n### Returns:\n- **ProjectPhases**: Phases with updated attributes of given project with such identifier.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"put_phases_by_project_id_api_v1_projects__project_id__phases_put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project_id which phases are needed to update","title":"Project Id"},"description":"project_id which phases are needed to update"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPhasesPut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPhases"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects":{"get":{"tags":["projects"],"summary":"Get Projects","description":"## Get a list of projects.\n\n**WARNING:** You cannot set both `project_type` and `is_regional = True` at the same time.\n\n### Parameters:\n- **only_own** (bool, Query): If True, returns only the user's projects (default: false).\n- **is_regional** (bool, Query): If True, returns regional projects, else returns only common projects\n(default: false).\n- **project_type** (ProjectType | None, Query): If \"city\", returns cities projects, else if \"common\"\nreturns only common projects (default: None).\n    NOTE: Skip to get all projects (non-regional).\n- **territory_id** (int | None, Query): Filters projects by a specific territory.\n- **name** (str | None, Query): Filters projects by a case-insensitive substring match.\n- **created_at** (date | None, Query): Returns projects created after the specified date.\n- **user_id** (str | None, Query): Project owner identifier. Defaults to the authenticated token user.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - project_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving images (default: 1).\n- **page_size** (int, Query): Defines the number of project images per page (default: 10).\n\n### Returns:\n- **Page[Project]**: A paginated list of projects.\n\n### Errors:\n- **400 Bad Request**: If `project_type` is set and `is_regional` is set to True.\n- **401 Unauthorized**: If authentication is required to view user-specific projects.\n\n### Constraints:\n- The user must be authenticated to retrieve their own projects.","operationId":"get_projects_api_v1_projects_get","parameters":[{"name":"only_own","in":"query","required":false,"schema":{"type":"boolean","description":"if True, return only user's own projects","default":false,"title":"Only Own"},"description":"if True, return only user's own projects"},{"name":"is_regional","in":"query","required":false,"schema":{"type":"boolean","description":"to get regional projects","default":false,"title":"Is Regional"},"description":"to get regional projects"},{"name":"project_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProjectType","description":"to get only certain project types, should be skipped to get all projects"},"description":"to get only certain project types, should be skipped to get all projects"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by region","title":"Territory Id"},"description":"to filter by region"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter projects by name substring (case-insensitive)","title":"Name"},"description":"to filter projects by name substring (case-insensitive)"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to get projects created after created_at date","title":"Created At"},"description":"to get projects created after created_at date"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"project owner identifier; defaults to current token user","title":"User Id"},"description":"project owner identifier; defaults to current token user"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Project_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Add Project","description":"## Create a new project with its territory and base scenario.\n\n**NOTE:** After the project is created, a corresponding message will be sent to the Kafka broker.\n\n### Parameters:\n- **project** (ProjectPost, Body): The project data including geometry.\n- **user_id** (str | None, Query): Project owner identifier. Defaults to the authenticated token user.\n\n### Returns:\n- **Project**: The created project with related base scenario and region short information.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the related entity does not exist.\n\n### Constraints:\n- The user must be authorized to create a new project.","operationId":"add_project_api_v1_projects_post","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"project owner identifier; defaults to current token user","title":"User Id"},"description":"project owner identifier; defaults to current token user"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects_territories":{"get":{"tags":["projects"],"summary":"Get Projects Territories","description":"## Get project territories in GeoJSON format.\n\n### Parameters:\n- **only_own** (bool, Query): If True, returns only territories for the user's projects (default: false).\n- **project_type** (ProjectType | None, Query): If \"city\", returns cities projects, else if \"common\" returns\nonly common projects (default: None).\n    NOTE: Skip to get all projects (non-regional).\n- **territory_id** (int | None, Query): Filters results by a specific territory.\n- **centers_only** (bool, Query): If True, retrieves only center points of project territories (default: true).\n- **user_id** (str | None, Query): Project owner identifier. Defaults to the authenticated token user.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, Project]]**: A GeoJSON-formatted response containing project territories.\n\n### Errors:\n- **401 Unauthorized**: If authentication is required to view user-specific projects.\n\n### Constraints:\n- The user must be authenticated to retrieve their own project territories.","operationId":"get_projects_territories_api_v1_projects_territories_get","parameters":[{"name":"only_own","in":"query","required":false,"schema":{"type":"boolean","description":"if True, return only user's own projects","default":false,"title":"Only Own"},"description":"if True, return only user's own projects"},{"name":"project_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProjectType","description":"to get only certain project types, should be skipped to get all projects"},"description":"to get only certain project types, should be skipped to get all projects"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by region","title":"Territory Id"},"description":"to filter by region"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"project owner identifier; defaults to current token user","title":"User Id"},"description":"project owner identifier; defaults to current token user"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Project__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/base_scenario/{scenario_id}":{"post":{"tags":["projects"],"summary":"Create Base Scenario","description":"## Create a new base scenario for given project from specified regional scenario.\n\n**NOTE:** After the base scenario is created, a corresponding message will be sent to the Kafka broker.\n\n**WARNING:** This is an auxiliary method for third-party APIs. Only a superuser can use it.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **scenario_id** (int, Path): Unique identifier of the regional scenario.\n\n### Returns:\n- **Scenario**: The created base scenario.\n\n### Errors:\n- **400 Bad Request**: If the user has provided identifier of a non-regional scenario.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the related entity does not exist.\n\n### Constraints:\n- The user must be authorized to create a new base scenario.","operationId":"create_base_scenario_api_v1_projects__project_id__base_scenario__scenario_id__post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"regional scenario identifier","title":"Scenario Id"},"description":"regional scenario identifier"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects_preview_url":{"get":{"tags":["projects"],"summary":"Get Projects Main Image Url","description":"## Get URLs for main images of projects.\n\n**WARNING:** You cannot set both `project_type` and `is_regional = True` at the same time.\n\n### Parameters:\n- **only_own** (bool, Query): If True, returns only images url for the user's projects (default: false).\n- **is_regional** (bool, Query): If True, filters results to include only regional projects (default: false).\n- **project_type** (ProjectType | None, Query): If \"city\", returns cities projects, else if \"common\" returns\nonly common projects (default: None).\n    NOTE: Skip to get all projects (non-regional).\n- **territory_id** (int | None, Query): Filters projects by a specific territory.\n- **name** (str | None, Query): Filters projects by a case-insensitive substring match.\n- **created_at** (date | None, Query): Returns projects created after the specified date.\n- **user_id** (str | None, Query): Project owner identifier. Defaults to the authenticated token user.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - project_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **page** (int, Query): Specifies the page number for retrieving images (default: 1).\n- **page_size** (int, Query): Defines the number of project images per page (default: 10).\n\n### Returns:\n- **list[MinioImageURL]**: A list of URLs for preview images of projects.\n\n### Errors:\n- **401 Unauthorized**: If authentication is required to view user-specific project images.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be authenticated to retrieve image URLs of their own projects.","operationId":"get_projects_main_image_url_api_v1_projects_preview_url_get","parameters":[{"name":"only_own","in":"query","required":false,"schema":{"type":"boolean","description":"if True, return only user's own projects","default":false,"title":"Only Own"},"description":"if True, return only user's own projects"},{"name":"is_regional","in":"query","required":false,"schema":{"type":"boolean","description":"filter to get only regional projects or not","default":false,"title":"Is Regional"},"description":"filter to get only regional projects or not"},{"name":"project_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProjectType","description":"to get only certain project types, should be skipped to get all projects"},"description":"to get only certain project types, should be skipped to get all projects"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by territory identifier","title":"Territory Id"},"description":"to filter by territory identifier"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter projects by name substring (case-insensitive)","title":"Name"},"description":"to filter projects by name substring (case-insensitive)"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to get projects created after created_at date","title":"Created At"},"description":"to get projects created after created_at date"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"project owner identifier; defaults to current token user","title":"User Id"},"description":"project owner identifier; defaults to current token user"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_MinioImageURL_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/image":{"put":{"tags":["projects"],"summary":"Upload Project Main Image","description":"## Upload an image for the project to MinIO file server and set it as the main one.\n\n**NOTE:** This method also creates preview image (resizing main image to max 1600px on the larger side)\nand uploads it to the MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **file** (UploadFile, File): Image file to be uploaded (JPEG/PNG).\n\n### Returns:\n- **str**: A URL pointing to the preview of created project image.\n\n### Errors:\n- **400 Bad Request**: If the uploaded file is not an image or image is invalid.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"upload_project_main_image_api_v1_projects__project_id__image_put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_project_main_image_api_v1_projects__project_id__image_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Upload Project Main Image Api V1 Projects  Project Id  Image Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["projects"],"summary":"Get Full Project Main Image","description":"## Get the original image of a project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **StreamingResponse**: The original full-sized image of the project in JPEG format (bytes).\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or image does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available.","operationId":"get_full_project_main_image_api_v1_projects__project_id__image_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/gallery":{"post":{"tags":["projects"],"summary":"Upload Project Gallery Image","description":"## Upload an image to gallery for the project to MinIO file server.\n\n**NOTE:** This method also creates preview image (resizing main image to max 1600px on the larger side)\nand uploads it to the MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **file** (UploadFile, File): Image file to be uploaded (JPEG/PNG).\n\n### Returns:\n- **str**: A URL pointing to the preview of created project image.\n\n### Errors:\n- **400 Bad Request**: If the uploaded file is not an image or image is invalid.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"upload_project_gallery_image_api_v1_projects__project_id__gallery_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_project_gallery_image_api_v1_projects__project_id__gallery_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Upload Project Gallery Image Api V1 Projects  Project Id  Gallery Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["projects"],"summary":"Get Project Gallery Images Urls","description":"## Get a list of presigned URLs to all project's gallery images.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **list[str]**: List of presigned URLs to all project's gallery images.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"get_project_gallery_images_urls_api_v1_projects__project_id__gallery_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response Get Project Gallery Images Urls Api V1 Projects  Project Id  Gallery Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/gallery/{image_id}":{"put":{"tags":["projects"],"summary":"Set Project Main Image","description":"## Set one of the gallery images as the main project image.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **image_id** (int, Path): Unique identifier of the project image.\n\n### Returns:\n- **OkResponse**: A confirmation message.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or image does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"set_project_main_image_api_v1_projects__project_id__gallery__image_id__put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"image_id","in":"path","required":true,"schema":{"type":"string","description":"image identifier","title":"Image Id"},"description":"image identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Project Gallery Image","description":"## Delete the logo of the project from MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_project_gallery_image_api_v1_projects__project_id__gallery__image_id__delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"image_id","in":"path","required":true,"schema":{"type":"string","description":"image identifier","title":"Image Id"},"description":"image identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/preview":{"get":{"tags":["projects"],"summary":"Get Preview Project Main Image","description":"## Get the preview image of a project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **StreamingResponse**: The original full-sized image of the project in JPEG format (bytes).\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or image does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available.","operationId":"get_preview_project_main_image_api_v1_projects__project_id__preview_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/image_url":{"get":{"tags":["projects"],"summary":"Get Full Project Main Image Url","description":"## Get the URL for the original main image of a project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **str**: A URL pointing to the original project image.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or image does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available.","operationId":"get_full_project_main_image_url_api_v1_projects__project_id__image_url_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Full Project Main Image Url Api V1 Projects  Project Id  Image Url Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/preview_url":{"get":{"tags":["projects"],"summary":"Get Preview Project Main Image Url","description":"## Get the URL for the preview main image of a project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **str**: A URL pointing to the preview project image.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or image does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available.","operationId":"get_preview_project_main_image_url_api_v1_projects__project_id__preview_url_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Preview Project Main Image Url Api V1 Projects  Project Id  Preview Url Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/logo":{"get":{"tags":["projects"],"summary":"Get Project Logo Url","description":"## Get a presigned URL to the logo of the project. Returns default if there is no logo for given project.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **str**: Presigned URL to the logo of the project or default if it does not exist.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"get_project_logo_url_api_v1_projects__project_id__logo_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Project Logo Url Api V1 Projects  Project Id  Logo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["projects"],"summary":"Upload Project Logo","description":"## Upload a logo for the project to MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **file** (UploadFile, File): Image file to be uploaded.\n\n### Returns:\n- **str**: A URL pointing to the uploaded logo.\n\n### Errors:\n- **400 Bad Request**: If the uploaded file is not an image or image is invalid.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"upload_project_logo_api_v1_projects__project_id__logo_put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_project_logo_api_v1_projects__project_id__logo_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Upload Project Logo Api V1 Projects  Project Id  Logo Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Project Logo","description":"## Delete the logo of the project from MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_project_logo_api_v1_projects__project_id__logo_delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/phases/documents":{"get":{"tags":["projects"],"summary":"Get Project Phase Documents Urls","description":"## Get a list of presigned URLs to all project's documents for given phase.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **phase** (ProjectPhase, Query): One of the project phase.\n\n### Returns:\n- **list[MinioFile]**: List of presigned URLs to all project's documents for given phase (with display name).\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"get_project_phase_documents_urls_api_v1_projects__project_id__phases_documents_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"phase","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ProjectPhase","description":"phase name"},"description":"phase name"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MinioFile"},"title":"Response Get Project Phase Documents Urls Api V1 Projects  Project Id  Phases Documents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Upload Phase Document","description":"## Upload a document for the specified project's phase to MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **phase** (ProjectPhase, Query): One of the project phase.\n- **file** (UploadFile, File): Document file to be uploaded.\n\n### Returns:\n- **str**: A URL pointing to uploaded document for the specified project's phase.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"upload_phase_document_api_v1_projects__project_id__phases_documents_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"phase","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ProjectPhase","description":"phase name"},"description":"phase name"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_phase_document_api_v1_projects__project_id__phases_documents_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinioFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Rename Phase Document","description":"## Rename the document for the specified project's phase in MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **phase** (ProjectPhase, Query): One of the project phase.\n- **filename** (int, Path): Name of the document to be deleted.\n\n### Returns:\n- **str**: A URL pointing to uploaded document for the specified project's phase.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project or file does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"rename_phase_document_api_v1_projects__project_id__phases_documents_patch","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"phase","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ProjectPhase","description":"phase name"},"description":"phase name"},{"name":"old_key","in":"query","required":true,"schema":{"type":"string","description":"file name (with extension)","title":"Old Key"},"description":"file name (with extension)"},{"name":"new_key","in":"query","required":true,"schema":{"type":"string","description":"file name (with extension)","title":"New Key"},"description":"file name (with extension)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinioFile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Project Phase Document","description":"## Delete the document for the project's phase from MinIO file server.\n\n### Parameters:\n- **project_id** (int, Path): Unique identifier of the project.\n- **phase** (ProjectPhase, Query): One of the project phase.\n- **filename** (int, Path): Name of the document to be deleted.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n- **503 Service Unavailable**: If it was not possible to connect to the MinIO file server.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_project_phase_document_api_v1_projects__project_id__phases_documents_delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"project identifier","title":"Project Id"},"description":"project identifier"},{"name":"phase","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ProjectPhase","description":"phase name"},"description":"phase name"},{"name":"filename","in":"query","required":true,"schema":{"type":"string","description":"file name (with extension)","title":"Filename"},"description":"file name (with extension)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios":{"get":{"tags":["projects"],"summary":"Get Scenarios","description":"## Get a list of scenarios.\n\n### Parameters:\n- **parent_id** (int, Query): Unique identifier of the REGIONAL scenario.\n    **NOTE:** If passed, returns the child PROJECT scenarios with given parent only. Else,\n    returns regional scenarios.\n- **project_id** (int, Query): Unique identifier of the project to get its scenarios only.\n- **territory_id** (int, Query): Unique identifier of the territory to get scenarios for projects\nlocated on given territory.\n    **NOTE:** Only regions.\n- **is_based** (bool, Query): If true, returns only base scenarios. Else, returns all scenarios.\n- **only_own** (bool, Query): If true, returns only own scenarios + base regional scenarios if parent_id skipped.\nElse, returns all public scenarios.\n\n### Returns:\n- **list[Scenario]**: List of all scenarios matching the given filters.\n\n### Errors:\n- **401 Unauthorized**: If authentication is required to view user-specific projects.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or project or territory does not exist.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available (if project of scenario passed).","operationId":"get_scenarios_api_v1_scenarios_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"REGIONAL scenario identifier (should be skipped to get regional scenarios)","title":"Parent Id"},"description":"REGIONAL scenario identifier (should be skipped to get regional scenarios)"},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by project","title":"Project Id"},"description":"to filter by project"},{"name":"territory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by territory (region)","title":"Territory Id"},"description":"to filter by territory (region)"},{"name":"is_based","in":"query","required":true,"schema":{"type":"boolean","description":"to get only base scenarios","title":"Is Based"},"description":"to get only base scenarios"},{"name":"only_own","in":"query","required":false,"schema":{"type":"boolean","description":"if True, return only user's own projects","default":false,"title":"Only Own"},"description":"if True, return only user's own projects"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Scenario"},"title":"Response Get Scenarios Api V1 Scenarios Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}":{"get":{"tags":["projects"],"summary":"Get Scenario By Id","description":"## Get a scenario by its identifier.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **Scenario**: The requested scenario.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the project owner or the project must be publicly available.","operationId":"get_scenario_by_id_api_v1_scenarios__scenario_id__get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Copy Scenario","description":"## Create a new scenario by copying another existing scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Identifier of the scenario to be copied.\n- **scenario** (ScenarioPost, Body): Data for the new scenario.\n\n### Returns:\n- **Scenario**: The newly created scenario based on the copied one.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the original scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"copy_scenario_api_v1_scenarios__scenario_id__post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"another scenario identifier","title":"Scenario Id"},"description":"another scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Patch Scenario","description":"## Partially update a scenario.\n\n**NOTE:** If you want to make a base scenario from common, set `is_based = True` in the request body.\nThus, the old base scenario will become common.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **scenario** (ScenarioPatch, Body): Fields to update in the scenario.\n\n### Returns:\n- **Scenario**: The updated scenario with modified fields.\n\n### Errors:\n- **400 Bad Request**: If you try to make base scenario – non-based.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entity) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_scenario_api_v1_scenarios__scenario_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scenario"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Scenario","description":"## Delete a scenario by its identifier.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_scenario_api_v1_scenarios__scenario_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/service_types":{"get":{"tags":["projects"],"summary":"Get Service Types By Scenario Id","description":"## Get a list of service types for a given scenario.\n\n**NOTE:** You can get the service types for both the context of the given scenario (`for_context` = true)\nand the project territory (`for_context` = false).\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **for_context** (bool, Query): Filter to get types for context or project territory (default: false).\n\n### Returns:\n- **list[ServiceType]**: A list of service types.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_service_types_by_scenario_id_api_v1_scenarios__scenario_id__service_types_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"for_context","in":"query","required":false,"schema":{"type":"boolean","description":"to get types for context or project territory","default":false,"title":"For Context"},"description":"to get types for context or project territory"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceType"},"title":"Response Get Service Types By Scenario Id Api V1 Scenarios  Scenario Id  Service Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/services":{"get":{"tags":["projects"],"summary":"Get Services By Scenario Id","description":"## Get a list of services for a given scenario.\n\n**WARNING:** You can only filter by service type or urban function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n\n### Returns:\n- **list[ScenarioService]**: A list of services.\n\n### Errors:\n- **400 Bad Request**: If you set both `service_type_id` and `urban_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_services_by_scenario_id_api_v1_scenarios__scenario_id__services_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioService"},"title":"Response Get Services By Scenario Id Api V1 Scenarios  Scenario Id  Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["projects"],"summary":"Add Service","description":"## Create a new service with geometry for a given scenario and a pair of physical object and object geometry.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service** (ScenarioServicePost, Body): The service data including geometry.\n\n### Returns:\n- **ScenarioUrbanObject**: The created urban object (physical object + geometry + service).\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario (or related entities) does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"add_service_api_v1_scenarios__scenario_id__services_post","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioServicePost"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioUrbanObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/services_with_geometry":{"get":{"tags":["projects"],"summary":"Get Services With Geometry By Scenario Id","description":"## Get a list of services with geometry for a given scenario.\n\n**WARNING:** You can only filter by service type or urban function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, ScenarioServiceWithGeometryAttributes]]**:\nA GeoJSON response containing the services.\n\n### Errors:\n- **400 Bad Request**: If you set both `service_type_id` and `urban_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_services_with_geometry_by_scenario_id_api_v1_scenarios__scenario_id__services_with_geometry_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioServiceWithGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/services":{"get":{"tags":["projects"],"summary":"Get Context Services","description":"## Get a list of services for the context of a project territory.\n\n**WARNING:** You can only filter by service type or urban function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n\n### Returns:\n- **list[Service]**: A list of services.\n\n### Errors:\n- **400 Bad Request**: If you set both `service_type_id` and `urban_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_services_api_v1_scenarios__scenario_id__context_services_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioService"},"title":"Response Get Context Services Api V1 Scenarios  Scenario Id  Context Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/context/services_with_geometry":{"get":{"tags":["projects"],"summary":"Get Context Services With Geometry","description":"## Get a list of services with geometry for the context of a project territory.\n\n**WARNING:** You can only filter by service type or urban function.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_type_id** (int | None, Query): Optional filter by service type identifier.\n- **urban_function_id** (int | None, Query): Optional filter by urban function identifier.\n- **include_scenario_objects** (bool, Query): Include scenario objects from project territory\n- **centers_only** (bool, Query): If True, returns only center points of geometries (default: false).\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, Service]]**: A GeoJSON response containing the services.\n\n### Errors:\n- **400 Bad Request**: If you set both `service_type_id` and `urban_function_id`.\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the project does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project or the project must be publicly available.","operationId":"get_context_services_with_geometry_api_v1_scenarios__scenario_id__context_services_with_geometry_get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"include_scenario_objects","in":"query","required":false,"schema":{"type":"boolean","description":"include scenario objects","default":false,"title":"Include Scenario Objects"},"description":"include scenario objects"},{"name":"centers_only","in":"query","required":false,"schema":{"type":"boolean","description":"display only centers","default":false,"title":"Centers Only"},"description":"display only centers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioServiceWithGeometryAttributes__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scenarios/{scenario_id}/services/{service_id}":{"put":{"tags":["projects"],"summary":"Put Service","description":"## Update all attributes of a service for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_id** (int, Path): Unique identifier of the service.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **service** (ServicePut, Body): The updated service data.\n\n### Returns:\n- **ScenarioService**: The updated service.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or service (or related entity) does not exist.\n- **409 Conflict**: If you try to update non-scenario service that has been already updated\n(then it is scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"put_service_api_v1_scenarios__scenario_id__services__service_id__put","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePut"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioService"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Patch Service","description":"## Update specific fields of a service for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_id** (int, Path): Unique identifier of the service.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n- **service** (ServicePatch, Body): The partial service data to update.\n\n### Returns:\n- **ScenarioService**: The updated service.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or service does not exist.\n- **409 Conflict**: If you try to update non-scenario service that has been already updated\n(then it is scenario object).\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"patch_service_api_v1_scenarios__scenario_id__services__service_id__patch","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioService"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete Service","description":"## Delete a service by its identifier for a given scenario.\n\n### Parameters:\n- **scenario_id** (int, Path): Unique identifier of the scenario.\n- **service_id** (int, Path): Unique identifier of the service.\n- **is_scenario_object** (bool, Query): Flag to determine if the object is a scenario object.\n\n### Returns:\n- **OkResponse**: A confirmation message of the deletion.\n\n### Errors:\n- **403 Forbidden**: If the user does not have access rights.\n- **404 Not Found**: If the scenario or service does not exist.\n\n### Constraints:\n- The user must be the owner of the relevant project.","operationId":"delete_service_api_v1_scenarios__scenario_id__services__service_id__delete","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"scenario identifier","title":"Scenario Id"},"description":"scenario identifier"},{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"service identifier","title":"Service Id"},"description":"service identifier"},{"name":"is_scenario_object","in":"query","required":true,"schema":{"type":"boolean","description":"to determine scenario object","title":"Is Scenario Object"},"description":"to determine scenario object"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territory/{territory_id}/physical_objects":{"get":{"tags":["territories"],"summary":"Get Physical Objects By Territory Id","description":"## Get physical objects for a given territory.\n\n**WARNING 1**: Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **physical_object_function_id** (int | None, Query): Filters results by physical object function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (PhysicalObjectsOrderByField, Query): Defines the sorting attribute - physical_object_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `physical_object_id`) for the next page.\n- **page_size** (int, Query): Defines the number of physical objects per page (default: 10).\n\n### Returns:\n- **CursorPage[PhysicalObject]**: A paginated list of physical objects, including cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `physical_object_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_objects_by_territory_id_api_v2_territory__territory_id__physical_objects_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter physical objects by name substring (case-insensitive)","title":"Name"},"description":"filter physical objects by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PhysicalObject_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territory/{territory_id}/physical_objects_with_geometry":{"get":{"tags":["territories"],"summary":"Get Physical Objects With Geometry By Territory Id","description":"## Get physical objects with geometry for a given territory.\n\n**WARNING 1**: Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by physical object type or physical object function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **physical_object_type_id** (int | None, Query): Filters results by physical object type.\n- **physical_object_function_id** (int | None, Query): Filters results by physical object function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (PhysicalObjectsOrderByField, Query): Defines the sorting attribute - physical_object_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `physical_object_id`) for the next page.\n- **page_size** (int, Query): Defines the number of physical objects per page (default: 10).\n\n### Returns:\n- **CursorPage[PhysicalObjectWithGeometry]**: A paginated list of physical objects,\nincluding cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `physical_object_type_id` and `physical_object_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_physical_objects_with_geometry_by_territory_id_api_v2_territory__territory_id__physical_objects_with_geometry_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"physical_object_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object type","title":"Physical Object Type Id"},"description":"to filter by physical object type"},{"name":"physical_object_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by physical object function","title":"Physical Object Function Id"},"description":"to filter by physical object function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter physical objects by name substring (case-insensitive)","title":"Name"},"description":"filter physical objects by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PhysicalObjectWithGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territory/{territory_id}/services":{"get":{"tags":["territories"],"summary":"Get Services By Territory Id","description":"## Get services for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by service type or urban function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **urban_function_id** (int | None, Query): Filters results by urban function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (OrderByField, Query): Defines the sorting attribute - service_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `service_id`) for the next page.\n- **page_size** (int, Query): Defines the number of services per page (default: 10).\n\n### Returns:\n- **CursorPage[Service]**: A paginated list of services, including cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `service_type_id` and `urban_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_services_by_territory_id_api_v2_territory__territory_id__services_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory id","title":"Territory Id"},"description":"territory id"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"service type identifier","title":"Service Type Id"},"description":"service type identifier"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"urban function identifier","title":"Urban Function Id"},"description":"urban function identifier"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter services by name substring (case-insensitive)","title":"Name"},"description":"filter services by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only cities or not","default":false,"title":"Cities Only"},"description":"to get only cities or not"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_Service_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territory/{territory_id}/services_with_geometry":{"get":{"tags":["territories"],"summary":"Get Services With Geometry By Territory Id","description":"## Get services with geometry for a given territory.\n\n**WARNING 1:** Set `cities_only = True` only if you want to get entities from child territories.\n\n**WARNING 2:** You can only filter by service type or urban function.\n\n### Parameters:\n- **territory_id** (int, Path): Unique identifier of the territory.\n- **service_type_id** (int | None, Query): Filters results by service type.\n- **urban_function_id** (int | None, Query): Filters results by urban function.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **include_child_territories** (bool, Query): If True, includes data from child territories (default: true).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **order_by** (OrderByField, Query): Defines the sorting attribute - service_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `service_id`) for the next page.\n- **page_size** (int, Query): Defines the number of services per page (default: 10).\n\n### Returns:\n- **CursorPage[ServiceWithGeometry]**: A paginated list of services, including cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `include_child_territories` is set to False or\nset both `service_type_id` and `urban_function_id`.\n- **404 Not Found**: If the territory does not exist.","operationId":"get_services_with_geometry_by_territory_id_api_v2_territory__territory_id__services_with_geometry_get","parameters":[{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"territory identifier","title":"Territory Id"},"description":"territory identifier"},{"name":"service_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by service type","title":"Service Type Id"},"description":"to filter by service type"},{"name":"urban_function_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"to filter by urban function","title":"Urban Function Id"},"description":"to filter by urban function"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter services by name substring (case-insensitive)","title":"Name"},"description":"to filter services by name substring (case-insensitive)"},{"name":"include_child_territories","in":"query","required":false,"schema":{"type":"boolean","description":"to get from child territories","default":true,"title":"Include Child Territories"},"description":"to get from child territories"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"Attribute to set ordering (created_at or updated_at)"},"description":"Attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"Order type (ascending or descending) if ordering field is set","default":"asc"},"description":"Order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_ServiceWithGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territories":{"get":{"tags":["territories"],"summary":"Get Territory By Parent Id","description":"## Get a paginated list of territories by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If skipped,\nreturns the highest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `territory_id`) for the next page.\n- **page_size** (int, Query): Defines the number of territories per page (default: 10).\n\n### Returns:\n- **CursorPage[Territory]**: A paginated list of territories, including cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_territory_by_parent_id_api_v2_territories_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_Territory_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/territories_without_geometry":{"get":{"tags":["territories"],"summary":"Get Territory Without Geometry By Parent Id","description":"## Get a paginated list of territories without geometry by parent identifier.\n\n**WARNING:** Set `cities_only = True` only if you want to get entities from all levels.\n\n### Parameters:\n- **parent_id** (int | None, Query): Unique identifier of the parent territory. If none,\nreturns the highest level territories.\n- **get_all_levels** (bool, Query): If True, retrieves the full subtree of territories (default: false).\n    Note: This can be unsafe for high-level territories due to potential performance issues.\n- **territory_type_id** (int | None, Query): Filters results by territory type.\n- **name** (str | None, Query): Filters results by a case-insensitive substring match.\n- **cities_only** (bool, Query): If True, retrieves data only for cities (default: false).\n- **created_at** (date | None, Query): Returns territories created at the specified date.\n- **order_by** (OrderByField, Query): Defines the sorting attribute - territory_id (default),\ncreated_at or updated_at.\n- **ordering** (Ordering, Query): Specifies sorting order - ascending (default) or descending.\n- **cursor** (str, Query): Cursor (encrypted `territory_id`) for the next page.\n- **page_size** (int, Query): Defines the number of territories per page (default: 10).\n\n### Returns:\n- **CursorPage[Territory]**: A paginated list of territories, including cursor-based pagination data.\n\n### Errors:\n- **400 Bad Request**: If `cities_only` is set to True and `get_all_levels` is set to False.\n- **404 Not Found**: If the parent territory does not exist.","operationId":"get_territory_without_geometry_by_parent_id_api_v2_territories_without_geometry_get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"parent territory identifier to filter, should be skipped to get top level territories","title":"Parent Id"},"description":"parent territory identifier to filter, should be skipped to get top level territories"},{"name":"get_all_levels","in":"query","required":false,"schema":{"type":"boolean","description":"getting full subtree of territories (unsafe for high level parents)","default":false,"title":"Get All Levels"},"description":"getting full subtree of territories (unsafe for high level parents)"},{"name":"territory_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"to filter by territory type","title":"Territory Type Id"},"description":"to filter by territory type"},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"to filter territories by name substring (case-insensitive)","title":"Name"},"description":"to filter territories by name substring (case-insensitive)"},{"name":"cities_only","in":"query","required":false,"schema":{"type":"boolean","description":"to get only for cities","default":false,"title":"Cities Only"},"description":"to get only for cities"},{"name":"created_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"to filter by created date","title":"Created At"},"description":"to filter by created date"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByField","description":"attribute to set ordering (created_at or updated_at)"},"description":"attribute to set ordering (created_at or updated_at)"},{"name":"ordering","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Ordering","description":"order type (ascending or descending) if ordering field is set","default":"asc"},"description":"order type (ascending or descending) if ordering field is set"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page","title":"Cursor"},"description":"Cursor for the next page"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page size","default":10,"title":"Page Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_TerritoryWithoutGeometry_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health_check/ping":{"get":{"tags":["system"],"summary":"Health Check","description":"Return health check response.","operationId":"health_check_health_check_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}}}}}},"/health_check/db":{"get":{"tags":["system"],"summary":"Health Check Db","description":"Return health check database response.","operationId":"health_check_db_health_check_db_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}}}}},"/debug/raise_error":{"post":{"tags":["system"],"summary":"Raise Error","description":"Return error response.","operationId":"raise_error_debug_raise_error_post","parameters":[{"name":"idu_api_error","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Idu Api Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fix/geometry":{"post":{"tags":["system"],"summary":"Fix Geometry","description":"## Fix invalid geometry using postgis methods.\n\n**NOTE:** This endpoint receives a geometry object, attempts to fix any potential issues\n(such as self-intersections or invalid topology), and returns a corrected geometry.\n\n### Parameters:\n- **geometry** (AllPossibleGeometry, Body): Input geometry that needs to be fixed.\n  NOTE: The geometry must have **SRID=4326**.\n\n### Returns:\n- **AllPossibleGeometry**: The fixed geometry object.\n\n### Errors:\n- **400 Bad Request**: If the provided geometry is invalid and cannot be fixed.","operationId":"fix_geometry_fix_geometry_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPossibleGeometry"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fix/geojson":{"post":{"tags":["system"],"summary":"Fix Geojson","description":"## Fix invalid geometries in a GeoJSON object.\n\n**NOTE:** This endpoint processes a GeoJSON object containing multiple features, attempts to fix\nany invalid geometries, and returns a corrected GeoJSON response.\n\n### Parameters:\n- **geojson** (GeoJSONResponse[Feature[AllPossibleGeometry, Any]], Body): A GeoJSON object containing features\n  with geometries that need to be fixed.\n  NOTE: All geometries must have **SRID=4326**.\n\n### Returns:\n- **GeoJSONResponse[Feature[Geometry, Any]]**: A new GeoJSON object with corrected geometries.\n\n### Errors:\n- **400 Bad Request**: If any geometry is invalid and cannot be fixed.","operationId":"fix_geojson_fix_geojson_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_AllPossibleGeometry__Any__"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_AllPossibleGeometry__Any__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fix/geojson_file":{"post":{"tags":["system"],"summary":"Fix Geojson File","description":"## Fix invalid geometries in a GeoJSON file.\n\n**NOTE:** This endpoint accepts a GeoJSON file containing multiple features with geometries,\nattempts to fix any invalid geometries, and returns a corrected GeoJSON file.\n\n### Parameters:\n- **file** (UploadFile, Body): A GeoJSON file containing features with geometries to be fixed.\n  NOTE: All geometries must have **SRID=4326**.\n\n### Returns:\n- A file containing the corrected GeoJSON object.\n\n### Errors:\n- **400 Bad Request**: If any geometry is invalid and cannot be fixed.","operationId":"fix_geojson_file_fix_geojson_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_fix_geojson_file_fix_geojson_file_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/urban_events/urban_objects_updated":{"post":{"tags":["broker"],"summary":"Urban Objects Update","description":"## Push message to Kafka broker (topic `urban.events`) indicates that urban objects have been updated for territory.\n\n### Parameters:\n- **message** (UrbanObjectsUpdated, Body): Model for message value includes territory identifier\nand two lists of identifiers for service types and physical objects types that has been updated.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"urban_objects_update_api_broker_urban_events_urban_objects_updated_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrbanObjectsUpdated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/urban_events/zones_updated":{"post":{"tags":["broker"],"summary":"Functional Zones Update","description":"## Push message to Kafka broker (topic `urban.events`) indicates that functional zones have been updated for territory.\n\n### Parameters:\n- **message** (FunctionalZonesUpdated, Body): Model for message value includes territory identifier.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"functional_zones_update_api_broker_urban_events_zones_updated_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionalZonesUpdated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/urban_events/territories_updated":{"post":{"tags":["broker"],"summary":"Territories Update","description":"## Push message to Kafka broker (topic `urban.events`) indicates that territories have been created or updated.\n\n### Parameters:\n- **message** (TerritoriesUpdated, Body): Model for message value includes list of updated territories identifiers.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"territories_update_api_broker_urban_events_territories_updated_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoriesUpdated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/urban_events/territories_deleted":{"post":{"tags":["broker"],"summary":"Territories Delete","description":"## Push message to Kafka broker (topic `urban.events`) indicates that territories have been deleted.\n\n### Parameters:\n- **message** (TerritoriesUpdated, Body): Model for message value includes list of regional territories identifiers\nfor which children territories have been deleted.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"territories_delete_api_broker_urban_events_territories_deleted_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritoriesDeleted"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/scenario_events/regional_scenario_created":{"post":{"tags":["broker"],"summary":"Regional Scenario Create","description":"## Push message to Kafka broker (topic `scenario.events`) indicates that regional scenario has been created.\n\n### Parameters:\n- **message** (RegionalScenarioCreated, Body): Model for message value includes regional scenario\nidentifier and territory (region) identifier.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"regional_scenario_create_api_broker_scenario_events_regional_scenario_created_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionalScenarioCreated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/scenario_events/scenario_objects_updated":{"post":{"tags":["broker"],"summary":"Scenario Objects Update","description":"## Push message to Kafka broker (topic `urban.events`) indicates that new urban objects have been uploaded for **PROJECT** scenario.\n\n### Parameters:\n- **message** (RegionalScenarioCreated, Body): Model for message value includes project and scenario identifiers,\nand also two lists of identifiers for service types and physical objects types that has been updated.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"scenario_objects_update_api_broker_scenario_events_scenario_objects_updated_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioObjectsUpdated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/broker/scenario_events/scenario_zones_updated":{"post":{"tags":["broker"],"summary":"Scenario Zones Update","description":"## Push message to Kafka broker (topic `urban.events`) indicates that new functional zones have been uploaded for **PROJECT** scenario.\n\n### Parameters:\n- **message** (RegionalScenarioCreated, Body): Model for message value includes project and scenario identifiers.\n\n### Returns:\n- **OkResponse**: A confirmation message of the success.","operationId":"scenario_zones_update_api_broker_scenario_events_scenario_zones_updated_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioZonesUpdated"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AllPossibleGeometry":{"properties":{"type":{"type":"string","enum":["Point","MultiPoint","Polygon","MultiPolygon","LineString","MultiLineString","GeometryCollection"],"title":"Type","examples":["Polygon"]},"coordinates":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Coordinates","description":"Coordinates for non-GeometryCollection types.","examples":[[[[30.22,59.86],[30.22,59.85],[30.25,59.85],[30.25,59.86],[30.22,59.86]]]]},"geometries":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Geometries","description":"List of geometries for GeometryCollection.","examples":[[{"coordinates":[100.0,0.0],"type":"Point"},{"coordinates":[[101.0,0.0],[102.0,1.0]],"type":"LineString"}]]}},"type":"object","required":["type"],"title":"AllPossibleGeometry","description":"Geometry representation for GeoJSON model (all valid geometry types)."},"BinnedIndicatorValue":{"properties":{"indicator_value_id":{"type":"integer","title":"Indicator Value Id","description":"indicator value identifier","examples":[1]},"indicator":{"$ref":"#/components/schemas/ShortIndicatorInfo"},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"date_type":{"type":"string","enum":["year","half_year","quarter","month","day"],"title":"Date Type","description":"time interval","examples":["year"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the indicator value was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the indicator value was last updated"},"binned_min_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Binned Min Value","description":"binned minimum value"},"binned_max_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Binned Max Value","description":"binned maximum value"}},"type":"object","required":["indicator_value_id","indicator","territory","date_type","date_value","value","value_type","information_source","binned_min_value","binned_max_value"],"title":"BinnedIndicatorValue","description":"Indicator value with all its attributes + binned min/max value."},"Body_fix_geojson_file_fix_geojson_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_fix_geojson_file_fix_geojson_file_post"},"Body_upload_phase_document_api_v1_projects__project_id__phases_documents_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_phase_document_api_v1_projects__project_id__phases_documents_post"},"Body_upload_project_gallery_image_api_v1_projects__project_id__gallery_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_project_gallery_image_api_v1_projects__project_id__gallery_post"},"Body_upload_project_logo_api_v1_projects__project_id__logo_put":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_project_logo_api_v1_projects__project_id__logo_put"},"Body_upload_project_main_image_api_v1_projects__project_id__image_put":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_project_main_image_api_v1_projects__project_id__image_put"},"Buffer":{"properties":{"buffer_type":{"$ref":"#/components/schemas/BufferTypeBasic"},"urban_object":{"$ref":"#/components/schemas/ShortUrbanObject"},"geometry":{"$ref":"#/components/schemas/Geometry"},"is_custom":{"type":"boolean","title":"Is Custom","description":"boolean parameter to determine if buffer is custom or default"}},"type":"object","required":["buffer_type","urban_object","geometry","is_custom"],"title":"Buffer","description":"Buffer schema with all its attributes."},"BufferAttributes":{"properties":{"buffer_type":{"$ref":"#/components/schemas/BufferTypeBasic"},"urban_object":{"$ref":"#/components/schemas/ShortUrbanObject"},"is_custom":{"type":"boolean","title":"Is Custom","description":"boolean parameter to determine if buffer is custom or default"}},"type":"object","required":["buffer_type","urban_object","is_custom"],"title":"BufferAttributes","description":"Buffer model without geometry."},"BufferPut":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"urban_object_id":{"type":"integer","title":"Urban Object Id","description":"urban object identifier","examples":[1]}},"type":"object","required":["geometry","buffer_type_id","urban_object_id"],"title":"BufferPut","description":"Buffer schema for PUT request."},"BufferType":{"properties":{"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"buffer type name","examples":["--"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"buffer type description","examples":["desc"]}},"type":"object","required":["buffer_type_id","name","description"],"title":"BufferType","description":"Buffer type schema with all attributes."},"BufferTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","name","description"],"title":"BufferTypeBasic","description":"Basic buffer type model to encapsulate in other models."},"BufferTypePost":{"properties":{"name":{"type":"string","title":"Name","description":"buffer type name","examples":["--"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"buffer type description","examples":["desc"]}},"type":"object","required":["name"],"title":"BufferTypePost","description":"Buffer type schema for POST request."},"BuildingPatch":{"properties":{"physical_object_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Id","examples":[1]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]}},"type":"object","title":"BuildingPatch","description":"Building schema for PATCH requests."},"BuildingPost":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]}},"type":"object","required":["physical_object_id"],"title":"BuildingPost","description":"Building schema for POST requests."},"BuildingPut":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]}},"type":"object","required":["physical_object_id","properties","floors","building_area_official","building_area_modeled","project_type","floor_type","wall_material","built_year","exploitation_start_year"],"title":"BuildingPut","description":"Building schema for PUT requests."},"CursorPage_PhysicalObjectWithGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/PhysicalObjectWithGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[PhysicalObjectWithGeometry]"},"CursorPage_PhysicalObject_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/PhysicalObject"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[PhysicalObject]"},"CursorPage_ServiceWithGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/ServiceWithGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[ServiceWithGeometry]"},"CursorPage_Service_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[Service]"},"CursorPage_TerritoryWithoutGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/TerritoryWithoutGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[TerritoryWithoutGeometry]"},"CursorPage_Territory_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/Territory"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"CursorPage[Territory]"},"DateType":{"type":"string","enum":["year","half_year","quarter","month","day"],"title":"DateType","description":"Granularity types for date-based aggregation."},"DefaultBufferValue":{"properties":{"buffer_type":{"$ref":"#/components/schemas/BufferTypeBasic"},"physical_object_type":{"anyOf":[{"$ref":"#/components/schemas/PhysicalObjectTypeBasic"},{"type":"null"}]},"service_type":{"anyOf":[{"$ref":"#/components/schemas/ServiceTypeBasic"},{"type":"null"}]},"buffer_value":{"type":"number","title":"Buffer Value","description":"default buffer radius in meters","examples":[3000]}},"type":"object","required":["buffer_type","physical_object_type","service_type","buffer_value"],"title":"DefaultBufferValue","description":"Default buffer value schema."},"DefaultBufferValuePost":{"properties":{"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","description":"physical object type identifier","examples":[1]},"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","description":"service type identifier","examples":[1]},"buffer_value":{"type":"number","title":"Buffer Value","description":"default buffer radius in meters","examples":[3000]}},"type":"object","required":["buffer_type_id","buffer_value"],"title":"DefaultBufferValuePost","description":"Default buffer value schema for POST request."},"DefaultBufferValuePut":{"properties":{"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","description":"physical object type identifier","examples":[1]},"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","description":"service type identifier","examples":[1]},"buffer_value":{"type":"number","title":"Buffer Value","description":"default buffer radius in meters","examples":[3000]}},"type":"object","required":["buffer_type_id","physical_object_type_id","service_type_id","buffer_value"],"title":"DefaultBufferValuePut","description":"Default buffer value schema for PUT request."},"Feature_AllPossibleGeometry__Any_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"$ref":"#/components/schemas/AllPossibleGeometry"},{"type":"null"}]},"properties":{"title":"Properties"},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[AllPossibleGeometry, Any]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____BufferAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/BufferAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], BufferAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____FunctionalZoneWithoutGeometry_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/FunctionalZoneWithoutGeometry"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], FunctionalZoneWithoutGeometry]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/HexagonAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], HexagonAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonWithIndicators_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/HexagonWithIndicators"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], HexagonWithIndicators]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____PhysicalObject_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/PhysicalObject"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], PhysicalObject]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ProjectCadastreAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ProjectCadastreAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ProjectCadastreAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Project_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/Project"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], Project]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioAllObjects_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioAllObjects"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioAllObjects]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioBufferAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioBufferAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioBufferAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioFunctionalZoneWithoutGeometry_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioFunctionalZoneWithoutGeometry"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioFunctionalZoneWithoutGeometry]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioGeometryAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioGeometryAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioGeometryAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioPhysicalObjectWithGeometryAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioPhysicalObjectWithGeometryAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioServiceWithGeometryAttributes_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/ScenarioServiceWithGeometryAttributes"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioServiceWithGeometryAttributes]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Service_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/Service"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], Service]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithBinnedIndicators_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/TerritoryWithBinnedIndicators"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithBinnedIndicators]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithIndicators_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/TerritoryWithIndicators"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithIndicators]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithNormatives_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/TerritoryWithNormatives"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithNormatives]"},"Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithoutGeometry_":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Feature","title":"Type"},"geometry":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},{"type":"null"}],"title":"Geometry"},"properties":{"anyOf":[{"$ref":"#/components/schemas/TerritoryWithoutGeometry"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["type","geometry","properties"],"title":"Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithoutGeometry]"},"FunctionalZone":{"properties":{"functional_zone_id":{"type":"integer","title":"Functional Zone Id","description":"functional zone identifier","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"functional_zone_type":{"$ref":"#/components/schemas/FunctionalZoneTypeBasic"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the functional zone was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the functional zone was last updated"}},"type":"object","required":["functional_zone_id","territory","functional_zone_type","name","geometry","year","source"],"title":"FunctionalZone","description":"Functional zone with all its attributes."},"FunctionalZonePatch":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"territory identifier where functional zone is","examples":[1]},"functional_zone_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Functional Zone Type Id","description":"functional zone type identifier","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"FunctionalZonePatch","description":"Functional zone schema for PATCH requests."},"FunctionalZonePost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier where functional zone is","examples":[1]},"functional_zone_type_id":{"type":"integer","title":"Functional Zone Type Id","description":"functional zone type identifier","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["geometry","territory_id","functional_zone_type_id","year","source"],"title":"FunctionalZonePost","description":"Functional zone schema for POST requests."},"FunctionalZoneSource":{"properties":{"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]}},"type":"object","required":["year","source"],"title":"FunctionalZoneSource","description":"Functional zone schema with only year and source."},"FunctionalZoneType":{"properties":{"functional_zone_type_id":{"type":"integer","title":"Functional Zone Type Id","description":"functional zone type identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"functional zone type name","examples":["residential"]},"zone_nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Nickname","description":"functional zone type nickname","examples":["ИЖС"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"description of functional zone type","examples":["--"]}},"type":"object","required":["functional_zone_type_id","name","zone_nickname"],"title":"FunctionalZoneType","description":"Functional zone type with all its attributes."},"FunctionalZoneTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"nickname":{"type":"string","title":"Nickname"},"description":{"type":"string","title":"Description"}},"type":"object","required":["id","name","nickname","description"],"title":"FunctionalZoneTypeBasic","description":"Basic functional zone type model to encapsulate in other models."},"FunctionalZoneTypePost":{"properties":{"name":{"type":"string","title":"Name","description":"target profile name","examples":["residential"]},"zone_nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Nickname","description":"target profile name","examples":["ИЖС"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"description of functional zone type","examples":["--"]}},"type":"object","required":["name","zone_nickname"],"title":"FunctionalZoneTypePost","description":"Functional zone schema for POST requests."},"FunctionalZoneWithoutGeometry":{"properties":{"functional_zone_id":{"type":"integer","title":"Functional Zone Id","description":"functional zone identifier","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"functional_zone_type":{"$ref":"#/components/schemas/FunctionalZoneTypeBasic"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the functional zone was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the functional zone was last updated"}},"type":"object","required":["functional_zone_id","territory","functional_zone_type","name","year","source"],"title":"FunctionalZoneWithoutGeometry","description":"Functional zone with all its attributes except geometry."},"FunctionalZonesUpdated":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier where zones have been updated"}},"additionalProperties":false,"type":"object","required":["territory_id"],"title":"FunctionalZonesUpdated","description":"Model for message indicates that a functional zones have been updated for territory."},"GeoJSONResponse_Feature_AllPossibleGeometry__Any__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_AllPossibleGeometry__Any_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[AllPossibleGeometry, Any]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____BufferAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____BufferAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], BufferAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____FunctionalZoneWithoutGeometry__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____FunctionalZoneWithoutGeometry_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], FunctionalZoneWithoutGeometry]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], HexagonAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonWithIndicators__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____HexagonWithIndicators_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], HexagonWithIndicators]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____PhysicalObject__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____PhysicalObject_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], PhysicalObject]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ProjectCadastreAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ProjectCadastreAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ProjectCadastreAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Project__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Project_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], Project]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioAllObjects__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioAllObjects_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioAllObjects]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioBufferAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioBufferAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioBufferAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioFunctionalZoneWithoutGeometry__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioFunctionalZoneWithoutGeometry_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioFunctionalZoneWithoutGeometry]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioGeometryAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioGeometryAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioGeometryAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioPhysicalObjectWithGeometryAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioPhysicalObjectWithGeometryAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioServiceWithGeometryAttributes__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____ScenarioServiceWithGeometryAttributes_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], ScenarioServiceWithGeometryAttributes]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Service__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____Service_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], Service]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithBinnedIndicators__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithBinnedIndicators_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithBinnedIndicators]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithIndicators__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithIndicators_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithIndicators]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithNormatives__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithNormatives_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithNormatives]]"},"GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithoutGeometry__":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"FeatureCollection","title":"Type","default":"FeatureCollection"},"features":{"items":{"$ref":"#/components/schemas/Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithoutGeometry_"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"GeoJSONResponse[Feature[Annotated[Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection], FieldInfo(annotation=NoneType, required=True, discriminator='type')], TerritoryWithoutGeometry]]"},"Geometry":{"properties":{"type":{"type":"string","enum":["Point","MultiPoint","Polygon","MultiPolygon","LineString","MultiLineString"],"title":"Type","examples":["Polygon"]},"coordinates":{"items":{},"type":"array","title":"Coordinates","description":"list[float] for Point,\nlist[list[list[float]]] for Polygon","examples":[[[[30.22,59.86],[30.22,59.85],[30.25,59.85],[30.25,59.86],[30.22,59.86]]]]}},"type":"object","required":["type","coordinates"],"title":"Geometry","description":"Geometry representation for GeoJSON model appliable for points, polygons, multipolygons and linestrings."},"GeometryCollection":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"GeometryCollection","title":"Type"},"geometries":{"items":{"oneOf":[{"$ref":"#/components/schemas/geojson_pydantic__geometries__Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/GeometryCollection"}],"discriminator":{"propertyName":"type","mapping":{"GeometryCollection":"#/components/schemas/GeometryCollection","LineString":"#/components/schemas/LineString","MultiLineString":"#/components/schemas/MultiLineString","MultiPoint":"#/components/schemas/MultiPoint","MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/geojson_pydantic__geometries__Point","Polygon":"#/components/schemas/Polygon"}}},"type":"array","title":"Geometries"}},"type":"object","required":["type","geometries"],"title":"GeometryCollection","description":"GeometryCollection Model"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Hexagon":{"properties":{"hexagon_id":{"type":"integer","title":"Hexagon Id","description":"hexagon identifier","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"hexagon properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["hexagon_id","territory","geometry","centre_point"],"title":"Hexagon","description":"Hexagon with all its attributes."},"HexagonAttributes":{"properties":{"hexagon_id":{"type":"integer","title":"Hexagon Id","description":"hexagon identifier","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"hexagon properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["hexagon_id"],"title":"HexagonAttributes","description":"Hexagon with all its attributes."},"HexagonPost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"hexagon properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["geometry"],"title":"HexagonPost","description":"Hexagon schema for POST requests."},"HexagonWithIndicators":{"properties":{"hexagon_id":{"type":"integer","title":"Hexagon Id","examples":[1]},"indicators":{"items":{"$ref":"#/components/schemas/ShortProjectIndicatorValue"},"type":"array","title":"Indicators"}},"type":"object","required":["hexagon_id","indicators"],"title":"HexagonWithIndicators","description":"Short hexagon info with geometry and all indicator values."},"Indicator":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"name_short":{"type":"string","title":"Name Short","description":"indicator unit short name","examples":["Численность населения"]},"measurement_unit":{"anyOf":[{"$ref":"#/components/schemas/MeasurementUnitBasic"},{"type":"null"}]},"service_type":{"anyOf":[{"$ref":"#/components/schemas/ServiceTypeBasic"},{"type":"null"}]},"physical_object_type":{"anyOf":[{"$ref":"#/components/schemas/PhysicalObjectTypeBasic"},{"type":"null"}]},"level":{"type":"integer","title":"Level","description":"number of indicator functions above in a tree + 1","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"indicator marker in lists","examples":["1.1.1"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"indicator parent identifier","examples":[1]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the indicator was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the indicator was last updated"}},"type":"object","required":["indicator_id","name_full","name_short","measurement_unit","service_type","physical_object_type","level","list_label","parent_id"],"title":"Indicator","description":"Indicator with all its attributes."},"IndicatorPost":{"properties":{"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"name_short":{"type":"string","title":"Name Short","description":"indicator unit short name","examples":["Численность населения"]},"measurement_unit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Measurement Unit Id","description":"indicator measurement unit identifier","examples":[1]},"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","description":"indicator service type identifier","examples":[1]},"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","description":"indicator physical object type identifier","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"indicator parent identifier","examples":[1]}},"type":"object","required":["name_full","name_short","measurement_unit_id","parent_id"],"title":"IndicatorPost","description":"Indicator schema for POST requests."},"IndicatorPut":{"properties":{"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"name_short":{"type":"string","title":"Name Short","description":"indicator unit short name","examples":["Численность населения"]},"measurement_unit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Measurement Unit Id","description":"indicator measurement unit identifier","examples":[1]},"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","description":"indicator service type identifier","examples":[1]},"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","description":"indicator physical object type identifier","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"indicator parent identifier","examples":[1]}},"type":"object","required":["name_full","name_short","measurement_unit_id","service_type_id","physical_object_type_id","parent_id"],"title":"IndicatorPut","description":"Indicator schema for PUT requests."},"IndicatorValue":{"properties":{"indicator_value_id":{"type":"integer","title":"Indicator Value Id","description":"indicator value identifier","examples":[1]},"indicator":{"$ref":"#/components/schemas/ShortIndicatorInfo"},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"date_type":{"type":"string","enum":["year","half_year","quarter","month","day"],"title":"Date Type","description":"time interval","examples":["year"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the indicator value was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the indicator value was last updated"}},"type":"object","required":["indicator_value_id","indicator","territory","date_type","date_value","value","value_type","information_source"],"title":"IndicatorValue","description":"Indicator value with all its attributes."},"IndicatorValuePost":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier","examples":[1]},"date_type":{"type":"string","enum":["year","half_year","quarter","month","day"],"title":"Date Type","description":"time interval","examples":["year"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]}},"type":"object","required":["indicator_id","territory_id","date_type","date_value","value","value_type","information_source"],"title":"IndicatorValuePost","description":"Indicator value schema for POST request."},"IndicatorValuePut":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier","examples":[1]},"date_type":{"type":"string","enum":["year","half_year","quarter","month","day"],"title":"Date Type","description":"time interval","examples":["year"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]}},"type":"object","required":["indicator_id","territory_id","date_type","date_value","value","value_type","information_source"],"title":"IndicatorValuePut","description":"Indicator value schema for PUT request."},"IndicatorsGroup":{"properties":{"indicators_group_id":{"type":"integer","title":"Indicators Group Id","description":"indicators group identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"full name of indicators group","examples":["--"]},"indicators":{"items":{"$ref":"#/components/schemas/ShortIndicatorInfo"},"type":"array","title":"Indicators","description":"list of indicators for the group"}},"type":"object","required":["indicators_group_id","name","indicators"],"title":"IndicatorsGroup","description":"Indicator group with all its attributes."},"IndicatorsGroupPost":{"properties":{"name":{"type":"string","title":"Name","description":"full name of indicators group","examples":["--"]},"indicators_ids":{"items":{"type":"integer"},"type":"array","title":"Indicators Ids","description":"list of indicators identifiers for the group","examples":[[1,2]]}},"type":"object","required":["name","indicators_ids"],"title":"IndicatorsGroupPost","description":"Indicators group schema for POST requests."},"IndicatorsPatch":{"properties":{"name_full":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"name_short":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Short","description":"indicator unit short name","examples":["Численность населения"]},"measurement_unit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Measurement Unit Id","description":"indicator measurement unit identifier","examples":[1]},"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","description":"indicator service type identifier","examples":[1]},"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","description":"indicator physical object type identifier","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"indicator parent identifier","examples":[1]}},"type":"object","title":"IndicatorsPatch","description":"Indicators schema for PATCH requests."},"InfrastructureType":{"type":"string","enum":["basic","additional","comfort"],"title":"InfrastructureType","description":"Infrastructure classification type."},"LineString":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"LineString","title":"Type"},"coordinates":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":2,"title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"LineString","description":"LineString Model"},"MeasurementUnit":{"properties":{"measurement_unit_id":{"type":"integer","title":"Measurement Unit Id","description":"measurement unit identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"measurement unit name","examples":["Количество человек"]}},"type":"object","required":["measurement_unit_id","name"],"title":"MeasurementUnit","description":"Measurement unit with all its attributes."},"MeasurementUnitBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"MeasurementUnitBasic","description":"Basic measurement unit model to encapsulate in other models."},"MeasurementUnitPost":{"properties":{"name":{"type":"string","title":"Name","description":"measurement unit name","examples":["Количество человек"]}},"type":"object","required":["name"],"title":"MeasurementUnitPost","description":"Measurement unit schema for POST requests."},"MinioFile":{"properties":{"url":{"type":"string","title":"Url","description":"minio presigned url to get file"},"filename":{"type":"string","title":"Filename","description":"display file name"}},"type":"object","required":["url","filename"],"title":"MinioFile","description":"Response model for a file stored in MinIO with its download URL."},"MinioImageURL":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier"},"url":{"type":"string","title":"Url","description":"minio url for preview image"}},"type":"object","required":["project_id","url"],"title":"MinioImageURL","description":"Response model for a single project image URL."},"MultiLineString":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiLineString","title":"Type"},"coordinates":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":2},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiLineString","description":"MultiLineString Model"},"MultiPoint":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiPoint","title":"Type"},"coordinates":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiPoint","description":"MultiPoint Model"},"MultiPolygon":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"MultiPolygon","title":"Type"},"coordinates":{"items":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":4},"type":"array"},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"MultiPolygon","description":"MultiPolygon Model"},"Normative":{"properties":{"service_type":{"anyOf":[{"$ref":"#/components/schemas/ServiceTypeBasic"},{"type":"null"}]},"urban_function":{"anyOf":[{"$ref":"#/components/schemas/UrbanFunctionBasic"},{"type":"null"}]},"year":{"type":"integer","title":"Year","examples":[2024]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"radius_availability_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Availability Meters","examples":[1]},"time_availability_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Time Availability Minutes","examples":[null]},"services_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Per 1000 Normative","examples":[1]},"services_capacity_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Capacity Per 1000 Normative","examples":[null]},"normative_type":{"$ref":"#/components/schemas/NormativeType","default":"self","examples":["self"]},"is_regulated":{"type":"boolean","title":"Is Regulated","examples":[true]},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"Information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["year","territory","is_regulated","source"],"title":"Normative","description":"Normative response model for a given territory."},"NormativeDelete":{"properties":{"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id"},"urban_function_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Urban Function Id"},"year":{"type":"integer","title":"Year","examples":[2024]}},"type":"object","required":["year"],"title":"NormativeDelete","description":"Normative delete model."},"NormativePatch":{"properties":{"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id"},"urban_function_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Urban Function Id"},"year":{"type":"integer","title":"Year","examples":[2024]},"radius_availability_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Availability Meters","examples":[1]},"time_availability_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Time Availability Minutes","examples":[null]},"services_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Per 1000 Normative","examples":[1]},"services_capacity_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Capacity Per 1000 Normative","examples":[null]},"is_regulated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Regulated","examples":[true]},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]}},"type":"object","required":["year"],"title":"NormativePatch","description":"Normative patch model.\nEither service_type_id or urban_function_id can be set,\nsame with radius_availability_meters and time_availability_minutes and\nservices_per_1000_normative andservices_capacity_per_1000_normative."},"NormativePost":{"properties":{"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id"},"urban_function_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Urban Function Id"},"year":{"type":"integer","title":"Year","examples":[2024]},"radius_availability_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Availability Meters","examples":[1]},"time_availability_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Time Availability Minutes","examples":[null]},"services_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Per 1000 Normative","examples":[1]},"services_capacity_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Capacity Per 1000 Normative","examples":[null]},"is_regulated":{"type":"boolean","title":"Is Regulated","examples":[true]},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]}},"type":"object","required":["year","is_regulated","source"],"title":"NormativePost","description":"Normative post/put model.\n\nEither service_type_id or urban_function_id should be set,\nsame with radius_availability_meters and time_availability_minutes and\nservices_per_1000_normative andservices_capacity_per_1000_normative."},"NormativeType":{"type":"string","enum":["self","parent","global"],"title":"NormativeType","description":"Source type of normative value in hierarchy."},"ObjectGeometry":{"properties":{"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the geometry was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the geometry was last updated"}},"type":"object","required":["object_geometry_id","territory","address","osm_id","geometry","centre_point"],"title":"ObjectGeometry","description":"Object geometry with all its attributes."},"ObjectGeometryBasic":{"properties":{"id":{"type":"integer","title":"Id"},"territory":{"$ref":"#/components/schemas/ShortTerritory"}},"type":"object","required":["id","territory"],"title":"ObjectGeometryBasic","description":"Object geometry model with only id and territory."},"ObjectGeometryPatch":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]}},"type":"object","title":"ObjectGeometryPatch","description":"Object geometry schema for PATCH requests."},"ObjectGeometryPost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]}},"type":"object","required":["geometry","territory_id"],"title":"ObjectGeometryPost","description":"Object geometry schema for POST requests."},"ObjectGeometryPut":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]}},"type":"object","required":["geometry","centre_point","territory_id","address","osm_id"],"title":"ObjectGeometryPut","description":"Object geometry schema for PUT requests."},"OkResponse":{"properties":{"status":{"type":"string","const":"ok","title":"Status","default":"ok"}},"type":"object","title":"OkResponse","description":"Response which is returned when request succeeded."},"OrderByField":{"type":"string","enum":["created_at","updated_at"],"title":"OrderByField","description":"Fields available for ordering query results."},"Ordering":{"type":"string","enum":["asc","desc"],"title":"Ordering","description":"Sort direction for query results."},"Page_MinioImageURL_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/MinioImageURL"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[MinioImageURL]"},"Page_PhysicalObjectWithGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/PhysicalObjectWithGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[PhysicalObjectWithGeometry]"},"Page_PhysicalObject_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/PhysicalObject"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[PhysicalObject]"},"Page_Project_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/Project"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[Project]"},"Page_ServiceWithGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/ServiceWithGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[ServiceWithGeometry]"},"Page_Service_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/Service"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[Service]"},"Page_TerritoryWithoutGeometry_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/TerritoryWithoutGeometry"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[TerritoryWithoutGeometry]"},"Page_Territory_":{"properties":{"count":{"type":"integer","title":"Count"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"results":{"items":{"$ref":"#/components/schemas/Territory"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"Page[Territory]"},"PhysicalObject":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"physical_object_type":{"$ref":"#/components/schemas/PhysicalObjectType"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"building":{"anyOf":[{"$ref":"#/components/schemas/ShortBuilding"},{"type":"null"}]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the physical object was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the physical object was last updated"}},"type":"object","required":["physical_object_id","physical_object_type","building"],"title":"PhysicalObject","description":"Physical object with all its attributes."},"PhysicalObjectBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"type":{"$ref":"#/components/schemas/PhysicalObjectTypeBasic"}},"type":"object","required":["id","name","type"],"title":"PhysicalObjectBasic","description":"Physical object model with only id, name and type."},"PhysicalObjectFunction":{"properties":{"physical_object_function_id":{"type":"integer","title":"Physical Object Function Id","examples":[1]},"parent_physical_object_function":{"anyOf":[{"$ref":"#/components/schemas/PhysicalObjectFunctionBasic"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"physical object function unit name","examples":["--"]},"level":{"type":"integer","title":"Level","description":"number of urban functions above in a tree + [1]","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"physical object function list label","examples":["1.1.1"]},"code":{"type":"string","title":"Code","description":"physical object function code","examples":["1"]}},"type":"object","required":["physical_object_function_id","parent_physical_object_function","name","level","list_label","code"],"title":"PhysicalObjectFunction","description":"Physical object function with all its attributes."},"PhysicalObjectFunctionBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"PhysicalObjectFunctionBasic","description":"Basic physical object function model to encapsulate in other models."},"PhysicalObjectFunctionPatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object function unit name","examples":["--"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"physical object function parent id, if set","examples":[1]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","description":"physical object function code","examples":["1"]}},"type":"object","title":"PhysicalObjectFunctionPatch","description":"Schema of physical object function for PATCH request."},"PhysicalObjectFunctionPost":{"properties":{"name":{"type":"string","title":"Name","description":"physical object function unit name","examples":["--"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"physical object function parent id, if set","examples":[1]},"code":{"type":"string","title":"Code","description":"physical object function code","examples":["1"]}},"type":"object","required":["name","code"],"title":"PhysicalObjectFunctionPost","description":"Schema of physical object function for POST request."},"PhysicalObjectFunctionPut":{"properties":{"name":{"type":"string","title":"Name","description":"physical object function unit name","examples":["--"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"physical object function parent id, if set","examples":[1]},"code":{"type":"string","title":"Code","description":"physical object function code","examples":["1"]}},"type":"object","required":["name","parent_id","code"],"title":"PhysicalObjectFunctionPut","description":"Schema of physical object function for PUT request."},"PhysicalObjectPatch":{"properties":{"physical_object_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"PhysicalObjectPatch","description":"Physical object schema for PATCH request."},"PhysicalObjectPost":{"properties":{"physical_object_type_id":{"type":"integer","title":"Physical Object Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["physical_object_type_id"],"title":"PhysicalObjectPost","description":"Physical object schema for POST request."},"PhysicalObjectPut":{"properties":{"physical_object_type_id":{"type":"integer","title":"Physical Object Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["physical_object_type_id","name","properties"],"title":"PhysicalObjectPut","description":"Physical object schema for PUT request."},"PhysicalObjectType":{"properties":{"physical_object_type_id":{"type":"integer","title":"Physical Object Type Id","description":"physical object type identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"physical object type unit name","examples":["Здание"]},"physical_object_function":{"$ref":"#/components/schemas/PhysicalObjectFunctionBasic"}},"type":"object","required":["physical_object_type_id","name","physical_object_function"],"title":"PhysicalObjectType","description":"Physical object type with all its attributes."},"PhysicalObjectTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"PhysicalObjectTypeBasic","description":"Basic physical object type model to encapsulate in other models."},"PhysicalObjectTypePatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object type unit name","examples":["Здание"]},"physical_object_function_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Function Id","description":"function identifier","examples":[1]}},"type":"object","title":"PhysicalObjectTypePatch","description":"Schema of physical object type for PATCH request."},"PhysicalObjectTypePost":{"properties":{"name":{"type":"string","title":"Name","description":"physical object type unit name","examples":["Здание"]},"physical_object_function_id":{"type":"integer","title":"Physical Object Function Id","description":"function identifier","examples":[1]}},"type":"object","required":["name","physical_object_function_id"],"title":"PhysicalObjectTypePost","description":"Schema of physical object type for POST request."},"PhysicalObjectWithGeometry":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"physical_object_type":{"$ref":"#/components/schemas/PhysicalObjectType"},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"building":{"anyOf":[{"$ref":"#/components/schemas/ShortBuilding"},{"type":"null"}]},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the physical object was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the physical object was last updated"}},"type":"object","required":["physical_object_id","physical_object_type","territory","building","object_geometry_id","geometry","centre_point"],"title":"PhysicalObjectWithGeometry","description":"Physical object with all its attributes and geometry."},"PhysicalObjectWithGeometryPost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"physical_object_type_id":{"type":"integer","title":"Physical Object Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["geometry","territory_id","physical_object_type_id"],"title":"PhysicalObjectWithGeometryPost","description":"Physical object schema with geometry for POST request."},"PhysicalObjectsTypesHierarchy":{"properties":{"physical_object_function_id":{"type":"integer","title":"Physical Object Function Id","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"parent physical object function identifier (null if it is top-level function)","examples":[1]},"name":{"type":"string","title":"Name","description":"physical object function unit name","examples":["--"]},"level":{"type":"integer","title":"Level","description":"number of physical object functions above in a tree + [1]","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"physical object function list label","examples":["1.1.1"]},"code":{"type":"string","title":"Code","description":"physical object function code","examples":["1"]},"children":{"items":{},"type":"array","title":"Children"}},"type":"object","required":["physical_object_function_id","parent_id","name","level","list_label","code","children"],"title":"PhysicalObjectsTypesHierarchy","description":"Hierarchical physical object types model including list of children."},"PingResponse":{"properties":{"message":{"type":"string","title":"Message","default":"Pong!"}},"type":"object","title":"PingResponse","description":"Ping response model, contains default message."},"Polygon":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Polygon","title":"Type"},"coordinates":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}]},"type":"array","minItems":4},"type":"array","title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"Polygon","description":"Polygon Model"},"Position2D":{"prefixItems":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"}],"type":"array","maxItems":2,"minItems":2},"Position3D":{"prefixItems":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Altitude"}],"type":"array","maxItems":3,"minItems":3},"ProfilesReclamationData":{"properties":{"profile_reclamation_id":{"type":"integer","title":"Profile Reclamation Id","description":"id of profile reclamation object","examples":[1]},"source_profile_id":{"type":"integer","title":"Source Profile Id","description":"id of profile (functional zone) to be reclamated","examples":[1]},"target_profile_id":{"type":"integer","title":"Target Profile Id","description":"id of profile (functional zone) to be reclamated to","examples":[1]},"territory":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"technical_price":{"type":"number","title":"Technical Price","description":"technical price to reclamate source profile (functional zone) to target one","examples":[1.0]},"technical_time":{"type":"number","title":"Technical Time","description":"technical time to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_price":{"type":"number","title":"Biological Price","description":"biological price to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_time":{"type":"number","title":"Biological Time","description":"biological time to reclamate source profile (functional zone) to target one","examples":[1.0]}},"type":"object","required":["profile_reclamation_id","source_profile_id","target_profile_id","territory","technical_price","technical_time","biological_price","biological_time"],"title":"ProfilesReclamationData","description":"Profiles reclamation with all its attributes."},"ProfilesReclamationDataDelete":{"properties":{"source_profile_id":{"type":"integer","title":"Source Profile Id","description":"id of profile (functional zone) to be reclamated","examples":[1]},"target_profile_id":{"type":"integer","title":"Target Profile Id","description":"id of profile (functional zone) to be reclamated to","examples":[1]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"id of territory where profile should be reclamated","examples":[1]}},"type":"object","required":["source_profile_id","target_profile_id","territory_id"],"title":"ProfilesReclamationDataDelete","description":"Profiles reclamation schema for DELETE requests."},"ProfilesReclamationDataMatrix":{"properties":{"labels":{"items":{"type":"integer"},"type":"array","title":"Labels","description":"labels of profiles","examples":[[1,2]]},"technical_price":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Technical Price","description":"technical price matrix","examples":[[[0.0,1.0],[2.0,0.0]]]},"technical_time":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Technical Time","description":"technical price matrix","examples":[[[0.0,1.0],[2.0,0.0]]]},"biological_price":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Biological Price","description":"technical price matrix","examples":[[[0.0,1.0],[2.0,0.0]]]},"biological_time":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Biological Time","description":"technical price matrix","examples":[[[0.0,1.0],[2.0,0.0]]]}},"type":"object","required":["labels","technical_price","technical_time","biological_price","biological_time"],"title":"ProfilesReclamationDataMatrix","description":"Profiles reclamation matrix schema."},"ProfilesReclamationDataPost":{"properties":{"source_profile_id":{"type":"integer","title":"Source Profile Id","description":"id of profile (functional zone) to be reclamated","examples":[1]},"target_profile_id":{"type":"integer","title":"Target Profile Id","description":"id of profile (functional zone) to be reclamated to","examples":[1]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"id of territory where profile should be reclamated","examples":[1]},"technical_price":{"type":"number","title":"Technical Price","description":"technical price to reclamate source profile (functional zone) to target one","examples":[1.0]},"technical_time":{"type":"number","title":"Technical Time","description":"technical time to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_price":{"type":"number","title":"Biological Price","description":"biological price to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_time":{"type":"number","title":"Biological Time","description":"biological time to reclamate source profile (functional zone) to target one","examples":[1.0]}},"type":"object","required":["source_profile_id","target_profile_id","technical_price","technical_time","biological_price","biological_time"],"title":"ProfilesReclamationDataPost","description":"Profiles reclamation schema for POST requests."},"ProfilesReclamationDataPut":{"properties":{"source_profile_id":{"type":"integer","title":"Source Profile Id","description":"id of profile (functional zone) to be reclamated","examples":[1]},"target_profile_id":{"type":"integer","title":"Target Profile Id","description":"id of profile (functional zone) to be reclamated to","examples":[1]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"id of territory where profile should be reclamated","examples":[1]},"technical_price":{"type":"number","title":"Technical Price","description":"technical price to reclamate source profile (functional zone) to target one","examples":[1.0]},"technical_time":{"type":"number","title":"Technical Time","description":"technical time to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_price":{"type":"number","title":"Biological Price","description":"biological price to reclamate source profile (functional zone) to target one","examples":[1.0]},"biological_time":{"type":"number","title":"Biological Time","description":"biological time to reclamate source profile (functional zone) to target one","examples":[1.0]}},"type":"object","required":["source_profile_id","target_profile_id","territory_id","technical_price","technical_time","biological_price","biological_time"],"title":"ProfilesReclamationDataPut","description":"Profiles reclamation schema for PUT requests."},"Project":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier","examples":[1]},"user_id":{"type":"string","title":"User Id","description":"project creator identifier","examples":["admin@test.ru"]},"name":{"type":"string","title":"Name","description":"project name","examples":["--"]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"base_scenario":{"anyOf":[{"$ref":"#/components/schemas/ShortScenario"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"project description","examples":["--"]},"public":{"type":"boolean","title":"Public","description":"project publicity","examples":[true]},"is_regional":{"type":"boolean","title":"Is Regional","description":"boolean parameter for regional projects","examples":[false]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine city project"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project's additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"project created at"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"project updated at"}},"type":"object","required":["project_id","user_id","name","territory","base_scenario","description","public","is_regional","is_city"],"title":"Project","description":"Project with all its attributes."},"ProjectCadastreAttributes":{"properties":{"project_cadastre_id":{"type":"integer","title":"Project Cadastre Id","description":"project cadastre identifier","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"Additional cadastre properties (JSONB)"},"area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area","examples":[1250.5]},"cad_num":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cad Num","examples":["77:01:0004012:345"]},"cost_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Value","examples":[1500000.0]},"land_record_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land Record Area","examples":[1200.0]},"land_record_category_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Land Record Category Type","examples":["Земли населённых пунктов"]},"ownership_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ownership Type","examples":["Собственность"]},"permitted_use_established_by_document":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Permitted Use Established By Document","examples":["Для размещения объектов жилой застройки"]},"quarter_cad_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quarter Cad Number","examples":["77:01:0004012"]},"readable_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readable Address","description":"Human-readable address","examples":["г. Москва, ул. Тверская, д. 1"]},"specified_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Specified Area","examples":[1230.0]},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","examples":["Учтён"]},"zone_pzz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Pzz","examples":["Ж-1"]},"possible_pzz_vri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Possible Pzz Vri","examples":["Жилая застройка"]},"possible_vri_list":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Possible Vri List","description":"Possible permitted use list (raw text)"},"similarity_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Similarity Score","description":"Similarity score between cadastre object and project territory","examples":[0.92]}},"type":"object","required":["project_cadastre_id"],"title":"ProjectCadastreAttributes","description":"Projects cadastre schema with all attributes (without geometry columns)."},"ProjectCadastrePut":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"Additional cadastre properties (JSONB)"},"area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area","examples":[1250.5]},"cad_num":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cad Num","examples":["77:01:0004012:345"]},"cost_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Value","examples":[1500000.0]},"land_record_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Land Record Area","examples":[1200.0]},"land_record_category_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Land Record Category Type","examples":["Земли населённых пунктов"]},"ownership_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ownership Type","examples":["Собственность"]},"permitted_use_established_by_document":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Permitted Use Established By Document","examples":["Для размещения объектов жилой застройки"]},"quarter_cad_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quarter Cad Number","examples":["77:01:0004012"]},"readable_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readable Address","description":"Human-readable address","examples":["г. Москва, ул. Тверская, д. 1"]},"specified_area":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Specified Area","examples":[1230.0]},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","examples":["Учтён"]},"zone_pzz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zone Pzz","examples":["Ж-1"]},"possible_pzz_vri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Possible Pzz Vri","examples":["Жилая застройка"]},"possible_vri_list":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Possible Vri List","description":"Possible permitted use list (raw text)"},"similarity_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Similarity Score","description":"Similarity score between cadastre object and project territory","examples":[0.92]}},"type":"object","title":"ProjectCadastrePut","description":"Project cadastres schema for PUT request."},"ProjectPatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"project name","examples":["--"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"project description","examples":["--"]},"public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public","description":"project publicity","examples":[true]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"project's additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"ProjectPatch","description":"Project schema for PATCH request."},"ProjectPhase":{"type":"string","enum":["investment","pre_design","design","construction","operation","decommission"],"title":"ProjectPhase","description":"Lifecycle phases of a project."},"ProjectPhases":{"properties":{"actual_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Actual Start Date","examples":["2025-01-01"]},"actual_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Actual End Date","examples":["2026-01-01"]},"planned_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Planned Start Date","examples":["2024-12-12"]},"planned_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Planned End Date","examples":["2025-01-01"]},"investment":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Investment","default":0.0,"examples":[0]},"pre_design":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Pre Design","default":0.0,"examples":[20.2]},"design":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Design","default":0.0,"examples":[40.3]},"construction":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Construction","default":0.0,"examples":[60.4]},"operation":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Operation","default":0.0,"examples":[80.5]},"decommission":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Decommission","default":0.0,"examples":[100]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project's phases additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"ProjectPhases","description":"Project's phases schema."},"ProjectPhasesPut":{"properties":{"actual_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Actual Start Date","examples":["2025-01-01"]},"actual_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Actual End Date","examples":["2026-01-01"]},"planned_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Planned Start Date","examples":["2024-12-12"]},"planned_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Planned End Date","examples":["2025-01-01"]},"investment":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Investment","examples":[0]},"pre_design":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Pre Design","examples":[20.2]},"design":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Design","examples":[40.3]},"construction":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Construction","examples":[60.4]},"operation":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Operation","examples":[80.5]},"decommission":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Decommission","examples":[100]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project's phases additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["actual_start_date","actual_end_date","planned_start_date","planned_end_date","investment","pre_design","design","construction","operation","decommission","properties"],"title":"ProjectPhasesPut","description":"Project's phases PUT schema."},"ProjectPost":{"properties":{"name":{"type":"string","title":"Name","description":"project name","examples":["--"]},"territory_id":{"type":"integer","title":"Territory Id","description":"project region identifier","examples":[1]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine city project","default":false},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"project description","examples":["--"]},"public":{"type":"boolean","title":"Public","description":"project publicity","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project's additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"is_regional":{"type":"boolean","title":"Is Regional","description":"boolean parameter to determine regional project","default":false},"territory":{"anyOf":[{"$ref":"#/components/schemas/ProjectTerritoryPost"},{"type":"null"}]}},"type":"object","required":["name","territory_id","public","territory"],"title":"ProjectPost","description":"Project schema for POST request."},"ProjectTerritory":{"properties":{"project_territory_id":{"type":"integer","title":"Project Territory Id","description":"project territory id","examples":[1]},"project":{"$ref":"#/components/schemas/ShortProjectWithScenario"},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project territory additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["project_territory_id","project","geometry"],"title":"ProjectTerritory","description":"Project territory with all its attributes."},"ProjectTerritoryPost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"project territory additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["geometry"],"title":"ProjectTerritoryPost","description":"Project territory schema for POST requests."},"ProjectType":{"type":"string","enum":["common","city"],"title":"ProjectType","description":"Project classification type."},"RegionalScenarioCreated":{"properties":{"scenario_id":{"type":"integer","title":"Scenario Id","description":"new regional scenario identifier"},"territory_id":{"type":"integer","title":"Territory Id","description":"region territory identifier for which scenario has been created"}},"additionalProperties":false,"type":"object","required":["scenario_id","territory_id"],"title":"RegionalScenarioCreated","description":"Model for message indicates that a regional scenario has been created."},"Scenario":{"properties":{"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier","examples":[1]},"parent_scenario":{"anyOf":[{"$ref":"#/components/schemas/ShortScenario"},{"type":"null"}]},"project":{"$ref":"#/components/schemas/ShortProject"},"functional_zone_type":{"anyOf":[{"$ref":"#/components/schemas/FunctionalZoneTypeBasic"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"name of the scenario","examples":["--"]},"is_based":{"type":"boolean","title":"Is Based","description":"boolean parameter to determine base scenario"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario additional properties","examples":[{"attribute_name":"attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the scenario was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the scenario was last updated"}},"type":"object","required":["scenario_id","parent_scenario","project","functional_zone_type","name","is_based"],"title":"Scenario","description":"Scenario with all its attributes."},"ScenarioAllObjects":{"properties":{"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"physical_objects":{"items":{"$ref":"#/components/schemas/ShortScenarioPhysicalObject"},"type":"array","title":"Physical Objects"},"services":{"items":{"$ref":"#/components/schemas/ShortScenarioService"},"type":"array","title":"Services"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["object_geometry_id","territory","address","osm_id","physical_objects","services","is_scenario_object"],"title":"ScenarioAllObjects","description":"Scenario object geometry with all its physical objects and services (but without geometry columns...)."},"ScenarioBuffer":{"properties":{"buffer_type":{"$ref":"#/components/schemas/BufferTypeBasic"},"urban_object":{"$ref":"#/components/schemas/ShortUrbanObject"},"geometry":{"$ref":"#/components/schemas/Geometry"},"is_custom":{"type":"boolean","title":"Is Custom","description":"boolean parameter to determine if buffer is custom or default"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object"}},"type":"object","required":["buffer_type","urban_object","geometry","is_custom","is_scenario_object","is_locked"],"title":"ScenarioBuffer","description":"Scenario buffer schema with all its attributes."},"ScenarioBufferAttributes":{"properties":{"buffer_type":{"$ref":"#/components/schemas/BufferTypeBasic"},"urban_object":{"$ref":"#/components/schemas/ShortUrbanObject"},"is_custom":{"type":"boolean","title":"Is Custom","description":"boolean parameter to determine if buffer is custom or default"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object"}},"type":"object","required":["buffer_type","urban_object","is_custom","is_scenario_object","is_locked"],"title":"ScenarioBufferAttributes","description":"Scenario buffer schema without geometry."},"ScenarioBufferDelete":{"properties":{"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"physical_object_id":{"type":"integer","title":"Physical Object Id","description":"physical object identifier","examples":[1]},"is_scenario_physical_object":{"type":"boolean","title":"Is Scenario Physical Object","description":"true if it is scenario object","examples":[true]},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"is_scenario_geometry":{"type":"boolean","title":"Is Scenario Geometry","description":"true if it is scenario geometry","examples":[true]},"service_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Id","description":"service identifier","examples":[1]},"is_scenario_service":{"type":"boolean","title":"Is Scenario Service","description":"true if it is scenario service","examples":[true]}},"type":"object","required":["buffer_type_id","physical_object_id","is_scenario_physical_object","object_geometry_id","is_scenario_geometry","service_id","is_scenario_service"],"title":"ScenarioBufferDelete","description":"Scenario buffer schema for DELETE request."},"ScenarioBufferPut":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"buffer_type_id":{"type":"integer","title":"Buffer Type Id","description":"buffer type identifier","examples":[1]},"physical_object_id":{"type":"integer","title":"Physical Object Id","description":"physical object identifier","examples":[1]},"is_scenario_physical_object":{"type":"boolean","title":"Is Scenario Physical Object","description":"true if it is scenario object","examples":[true]},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"is_scenario_geometry":{"type":"boolean","title":"Is Scenario Geometry","description":"true if it is scenario geometry","examples":[true]},"service_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Id","description":"service identifier","examples":[1]},"is_scenario_service":{"type":"boolean","title":"Is Scenario Service","description":"true if it is scenario service","examples":[true]}},"type":"object","required":["geometry","buffer_type_id","physical_object_id","is_scenario_physical_object","object_geometry_id","is_scenario_geometry","service_id","is_scenario_service"],"title":"ScenarioBufferPut","description":"Scenario buffer schema for PUT request."},"ScenarioBuildingPatch":{"properties":{"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]}},"type":"object","title":"ScenarioBuildingPatch","description":"Building for scenario physical object schema for PATCH requests."},"ScenarioBuildingPost":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"}},"type":"object","required":["physical_object_id","is_scenario_object"],"title":"ScenarioBuildingPost","description":"Building for scenario physical object schema for POST requests."},"ScenarioBuildingPut":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"}},"type":"object","required":["physical_object_id","properties","floors","building_area_official","building_area_modeled","project_type","floor_type","wall_material","built_year","exploitation_start_year","is_scenario_object"],"title":"ScenarioBuildingPut","description":"Building for scenario physical object schema for PUT requests."},"ScenarioFunctionalZone":{"properties":{"functional_zone_id":{"type":"integer","title":"Functional Zone Id","description":"scenario functional zone identifier","examples":[1]},"scenario":{"$ref":"#/components/schemas/ShortScenario"},"functional_zone_type":{"$ref":"#/components/schemas/FunctionalZoneTypeBasic"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the scenario functional zone was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the scenario functional zone was last updated"}},"type":"object","required":["functional_zone_id","scenario","functional_zone_type","name","year","source","geometry"],"title":"ScenarioFunctionalZone","description":"Project scenario functional zone with all its attributes."},"ScenarioFunctionalZonePatch":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"functional_zone_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Functional Zone Type Id","description":"functional zone type identifier for the scenario functional zone","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"scenario functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"ScenarioFunctionalZonePatch","description":"Project scenario functional zone schema for PATCH requests."},"ScenarioFunctionalZonePost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"functional_zone_type_id":{"type":"integer","title":"Functional Zone Type Id","description":"functional zone type identifier for the scenario functional zone","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["geometry","functional_zone_type_id","year","source"],"title":"ScenarioFunctionalZonePost","description":"Project scenario functional zone schema for POST requests."},"ScenarioFunctionalZoneWithoutGeometry":{"properties":{"functional_zone_id":{"type":"integer","title":"Functional Zone Id","description":"scenario functional zone identifier","examples":[1]},"functional_zone_type":{"$ref":"#/components/schemas/FunctionalZoneTypeBasic"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"functional zone name","examples":["--"]},"year":{"type":"integer","title":"Year","description":"year when functional zone was loaded","examples":[2024]},"source":{"type":"string","title":"Source","description":"source from which functional zone was loaded","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario functional zone additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the scenario functional zone was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the scenario functional zone was last updated"}},"type":"object","required":["functional_zone_id","functional_zone_type","name","year","source"],"title":"ScenarioFunctionalZoneWithoutGeometry","description":"Project scenario functional zone with all its attributes except geometry and scenario info."},"ScenarioGeometryAttributes":{"properties":{"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the geometry was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the geometry was last updated"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["object_geometry_id","territory","address","osm_id","is_scenario_object"],"title":"ScenarioGeometryAttributes","description":"Scenario object geometry schema (but without geometry columns)."},"ScenarioIndicatorValue":{"properties":{"indicator_value_id":{"type":"integer","title":"Indicator Value Id","description":"indicator value identifier","examples":[1]},"indicator":{"$ref":"#/components/schemas/ShortIndicatorInfo"},"scenario":{"$ref":"#/components/schemas/ShortScenario"},"territory":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"hexagon_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hexagon Id"},"value":{"type":"number","title":"Value","description":"indicator value for scenario at time","examples":[23.5]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"comment for indicator value","examples":["--"]},"information_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Source","description":"information source","examples":["modeled"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario indicator value additional properties","examples":[{"attribute_name":"attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the indicator value was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the indicator value was last updated"}},"type":"object","required":["indicator_value_id","indicator","scenario","territory","hexagon_id","value","information_source"],"title":"ScenarioIndicatorValue","description":"Scenario indicator value with all its attributes."},"ScenarioIndicatorValuePatch":{"properties":{"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value","description":"indicator value for territory at time","examples":[23.5]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"comment for indicator value","examples":["--"]},"information_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"scenario indicator value additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","title":"ScenarioIndicatorValuePatch","description":"Scenario indicator value schema for PATCH requests."},"ScenarioIndicatorValuePost":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier for which indicator value was saved","examples":[1]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"real territory identifier for which indicator value was saved","examples":[1]},"hexagon_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hexagon Id","description":"hexagon identifier for which indicator value was saved","examples":[1]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"comment for indicator value","examples":["--"]},"information_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Source","description":"information source","examples":["modeled"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario indicator value additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["indicator_id","scenario_id","value","comment","information_source"],"title":"ScenarioIndicatorValuePost","description":"Scenario indicator value schema for POST requests."},"ScenarioIndicatorValuePut":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier for which indicator value was saved","examples":[1]},"territory_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Id","description":"real territory identifier for which indicator value was saved","examples":[1]},"hexagon_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hexagon Id","description":"hexagon identifier for which indicator value was saved","examples":[1]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"comment for indicator value","examples":["--"]},"information_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Source","description":"information source","examples":["modeled"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario indicator value additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["indicator_id","scenario_id","territory_id","hexagon_id","value","comment","information_source","properties"],"title":"ScenarioIndicatorValuePut","description":"Scenario indicator value schema for PUT requests."},"ScenarioObjectGeometry":{"properties":{"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the geometry was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the geometry was last updated"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"}},"type":"object","required":["object_geometry_id","territory","address","osm_id","geometry","centre_point","is_scenario_object"],"title":"ScenarioObjectGeometry","description":"Object geometry with all its attributes."},"ScenarioObjectsUpdated":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier where scenario has been updated"},"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier for which urban objects have been updated"},"service_types":{"items":{"type":"integer"},"type":"array","title":"Service Types","description":"list of service types identifiers which have been updated"},"physical_object_types":{"items":{"type":"integer"},"type":"array","title":"Physical Object Types","description":"list of physical object types identifiers which have been updated"}},"additionalProperties":false,"type":"object","required":["project_id","scenario_id","service_types","physical_object_types"],"title":"ScenarioObjectsUpdated","description":"Model for message indicates that urban objects have been updated for project scenario."},"ScenarioPatch":{"properties":{"functional_zone_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Functional Zone Type Id","description":"target profile identifier for the scenario","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"name of the scenario","examples":["--"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"scenario additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","title":"ScenarioPatch","description":"Scenario schema for PATCH requests."},"ScenarioPhysicalObject":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"physical_object_type":{"$ref":"#/components/schemas/PhysicalObjectType"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"building":{"anyOf":[{"$ref":"#/components/schemas/ShortBuilding"},{"type":"null"}]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the physical object was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the physical object was last updated"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["physical_object_id","physical_object_type","building","is_scenario_object"],"title":"ScenarioPhysicalObject","description":"Scenario physical object with all its attributes."},"ScenarioPhysicalObjectWithGeometryAttributes":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"physical_object_type":{"$ref":"#/components/schemas/PhysicalObjectType"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"building":{"anyOf":[{"$ref":"#/components/schemas/ShortBuilding"},{"type":"null"}]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the physical object was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the physical object was last updated"},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"is_scenario_physical_object":{"type":"boolean","title":"Is Scenario Physical Object","description":"boolean parameter to determine scenario object"},"is_scenario_geometry":{"type":"boolean","title":"Is Scenario Geometry","description":"boolean parameter to determine scenario geometry"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["physical_object_id","physical_object_type","building","object_geometry_id","is_scenario_physical_object","is_scenario_geometry"],"title":"ScenarioPhysicalObjectWithGeometryAttributes","description":"Scenario physical object with geometry attributes."},"ScenarioPost":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier for the scenario","examples":[1]},"functional_zone_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Functional Zone Type Id","description":"target profile identifier for the scenario","examples":[1]},"name":{"type":"string","title":"Name","description":"name of the scenario","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"scenario additional properties","examples":[{"attribute_name":"attribute_value"}]}},"type":"object","required":["project_id","functional_zone_type_id","name"],"title":"ScenarioPost","description":"Scenario schema for POST requests."},"ScenarioService":{"properties":{"service_id":{"type":"integer","title":"Service Id","examples":[1]},"service_type":{"$ref":"#/components/schemas/ServiceType"},"territory_type":{"anyOf":[{"$ref":"#/components/schemas/TerritoryType"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the service was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the service was last updated"},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["service_id","service_type","territory_type","name","capacity","is_capacity_real","is_scenario_object"],"title":"ScenarioService","description":"Scenario service with all its attributes."},"ScenarioServicePost":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"is_scenario_physical_object":{"type":"boolean","title":"Is Scenario Physical Object","description":"to determine scenario object"},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"is_scenario_geometry":{"type":"boolean","title":"Is Scenario Geometry","description":"to determine scenario object"},"service_type_id":{"type":"integer","title":"Service Type Id","examples":[1]},"territory_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["physical_object_id","is_scenario_physical_object","object_geometry_id","is_scenario_geometry","service_type_id","capacity"],"title":"ScenarioServicePost","description":"Scenario service schema for POST request."},"ScenarioServiceWithGeometryAttributes":{"properties":{"service_id":{"type":"integer","title":"Service Id","examples":[1]},"service_type":{"$ref":"#/components/schemas/ServiceType"},"territory_type":{"anyOf":[{"$ref":"#/components/schemas/TerritoryType"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the service was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the service was last updated"},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"is_scenario_service":{"type":"boolean","title":"Is Scenario Service","description":"boolean parameter to determine scenario service"},"is_scenario_geometry":{"type":"boolean","title":"Is Scenario Geometry","description":"boolean parameter to determine scenario geometry"},"is_locked":{"type":"boolean","title":"Is Locked","description":"boolean parameter to determine locked (to edit) object","default":false}},"type":"object","required":["service_id","service_type","territory_type","name","capacity","is_capacity_real","object_geometry_id","is_scenario_service","is_scenario_geometry"],"title":"ScenarioServiceWithGeometryAttributes","description":"Scenario service with geometry attributes."},"ScenarioUrbanObject":{"properties":{"urban_object_id":{"type":"integer","title":"Urban Object Id","description":"urban object identifier","examples":[1]},"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier","examples":[1]},"public_urban_object_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Public Urban Object Id","description":"urban object identifier in public schema","examples":[1]},"physical_object":{"$ref":"#/components/schemas/ScenarioPhysicalObject"},"object_geometry":{"$ref":"#/components/schemas/ScenarioObjectGeometry"},"service":{"anyOf":[{"$ref":"#/components/schemas/ScenarioService"},{"type":"null"}]}},"type":"object","required":["urban_object_id","scenario_id","public_urban_object_id","physical_object","object_geometry","service"],"title":"ScenarioUrbanObject","description":"Scenario urban object with all its attributes."},"ScenarioZonesUpdated":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier where scenario has been updated"},"scenario_id":{"type":"integer","title":"Scenario Id","description":"scenario identifier where zones have been updated"}},"additionalProperties":false,"type":"object","required":["project_id","scenario_id"],"title":"ScenarioZonesUpdated","description":"Model for message indicates that functional zones have been updated for project scenario."},"Service":{"properties":{"service_id":{"type":"integer","title":"Service Id","examples":[1]},"service_type":{"$ref":"#/components/schemas/ServiceType"},"territory_type":{"anyOf":[{"$ref":"#/components/schemas/TerritoryType"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"territories":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShortTerritory"},"type":"array"},{"type":"null"}],"title":"Territories"},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the service was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the service was last updated"}},"type":"object","required":["service_id","service_type","territory_type","name","capacity","is_capacity_real"],"title":"Service","description":"Service with all its attributes."},"ServiceBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"type":{"$ref":"#/components/schemas/ServiceTypeBasic"}},"type":"object","required":["id","name","type"],"title":"ServiceBasic","description":"Service model with only id, name and type."},"ServicePatch":{"properties":{"service_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Type Id","examples":[1]},"territory_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"ServicePatch","description":"Service schema for PATCH request."},"ServicePost":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","examples":[1]},"service_type_id":{"type":"integer","title":"Service Type Id","examples":[1]},"territory_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["physical_object_id","object_geometry_id","service_type_id","capacity"],"title":"ServicePost","description":"Service schema for POST request."},"ServicePut":{"properties":{"service_type_id":{"type":"integer","title":"Service Type Id","examples":[1]},"territory_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Type Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["service_type_id","territory_type_id","name","capacity","is_capacity_real","properties"],"title":"ServicePut","description":"Service schema for PUT request."},"ServiceType":{"properties":{"service_type_id":{"type":"integer","title":"Service Type Id","examples":[1]},"urban_function":{"$ref":"#/components/schemas/UrbanFunctionBasic"},"name":{"type":"string","title":"Name","description":"service type unit name","examples":["Школа"]},"capacity_modeled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Modeled","description":"default capacity","examples":[1]},"code":{"type":"string","title":"Code","description":"service type code","examples":["1"]},"infrastructure_type":{"anyOf":[{"type":"string","enum":["basic","additional","comfort"]},{"type":"null"}],"title":"Infrastructure Type","description":"infrastructure type","examples":["basic"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service type additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["service_type_id","urban_function","name","code","infrastructure_type"],"title":"ServiceType","description":"Service type with all its attributes."},"ServiceTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"ServiceTypeBasic","description":"Basic service type model to encapsulate in other models."},"ServiceTypePatch":{"properties":{"urban_function_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Urban Function Id","description":"urban function id, if set","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service type unit name","examples":["Школа"]},"capacity_modeled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Modeled","description":"default capacity","examples":[1]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","description":"service type code","examples":["1"]},"infrastructure_type":{"anyOf":[{"type":"string","enum":["basic","additional","comfort"]},{"type":"null"}],"title":"Infrastructure Type","description":"infrastructure type","examples":["basic"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"service type additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","title":"ServiceTypePatch","description":"Schema of service type for PATCH request."},"ServiceTypePost":{"properties":{"urban_function_id":{"type":"integer","title":"Urban Function Id","description":"urban function id, if set","examples":[1]},"name":{"type":"string","title":"Name","description":"service type unit name","examples":["Школа"]},"capacity_modeled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Modeled","description":"default capacity","examples":[1]},"code":{"type":"string","title":"Code","description":"service type code","examples":["1"]},"infrastructure_type":{"anyOf":[{"type":"string","enum":["basic","additional","comfort"]},{"type":"null"}],"title":"Infrastructure Type","description":"infrastructure type","examples":["basic"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service type additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["urban_function_id","name","code","infrastructure_type"],"title":"ServiceTypePost","description":"Schema of service type for POST request."},"ServiceTypePut":{"properties":{"urban_function_id":{"type":"integer","title":"Urban Function Id","description":"urban function id, if set","examples":[1]},"name":{"type":"string","title":"Name","description":"service type unit name","examples":["Школа"]},"capacity_modeled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity Modeled","description":"default capacity","examples":[1]},"code":{"type":"string","title":"Code","description":"service type code","examples":["1"]},"infrastructure_type":{"anyOf":[{"type":"string","enum":["basic","additional","comfort"]},{"type":"null"}],"title":"Infrastructure Type","description":"infrastructure type","examples":["basic"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service type additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]}},"type":"object","required":["urban_function_id","name","capacity_modeled","code","infrastructure_type","properties"],"title":"ServiceTypePut","description":"Schema of service type for PUT request."},"ServiceTypesHierarchy":{"properties":{"urban_function_id":{"type":"integer","title":"Urban Function Id","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"parent urban function identifier (null if it is top-level urban function)","examples":[1]},"name":{"type":"string","title":"Name","description":"urban function unit name","examples":["Образование"]},"level":{"type":"integer","title":"Level","description":"number of urban functions above in a tree + [1]","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"urban function list label","examples":["1.1.1"]},"code":{"type":"string","title":"Code","description":"urban function code","examples":["1"]},"children":{"items":{},"type":"array","title":"Children"}},"type":"object","required":["urban_function_id","parent_id","name","level","list_label","code","children"],"title":"ServiceTypesHierarchy","description":"Hierarchical service types model including list of children."},"ServiceWithGeometry":{"properties":{"service_id":{"type":"integer","title":"Service Id","examples":[1]},"service_type":{"$ref":"#/components/schemas/ServiceType"},"territory_type":{"anyOf":[{"$ref":"#/components/schemas/TerritoryType"},{"type":"null"}]},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"object_geometry_id":{"type":"integer","title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"physical object address","examples":["--"]},"osm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osm Id","description":"open street map identifier","examples":["1"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the service was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the service was last updated"}},"type":"object","required":["service_id","service_type","territory","name","capacity","is_capacity_real","object_geometry_id","geometry","centre_point"],"title":"ServiceWithGeometry","description":"Service with all its attributes and geometry."},"ServicesCountCapacity":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier","examples":[1]},"count":{"type":"integer","title":"Count","description":"total count of services that are located in the territory"},"capacity":{"type":"integer","title":"Capacity","description":"summary capacity of services that are located in the territory"}},"type":"object","required":["territory_id","count","capacity"],"title":"ServicesCountCapacity","description":"Aggregated service count and capacity per territory model."},"ShortBinnedIndicatorValue":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"measurement_unit_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement Unit Name","description":"measurement unit name","examples":["Количество людей"]},"level":{"type":"integer","title":"Level","description":"number of indicator functions above in a tree + 1","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"indicator marker in lists","examples":["1.1.1"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]},"binned_min_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Binned Min Value"},"binned_max_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Binned Max Value"}},"type":"object","required":["indicator_id","name_full","measurement_unit_name","level","list_label","date_value","value","value_type","information_source","binned_min_value","binned_max_value"],"title":"ShortBinnedIndicatorValue","description":"Basic indicator value model with binned min/max value to encapsulate in other models."},"ShortBuilding":{"properties":{"id":{"type":"integer","title":"Id","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"floors":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Floors","examples":[1]},"building_area_official":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Official","examples":[1.0]},"building_area_modeled":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Building Area Modeled","examples":[1.0]},"project_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Type","examples":["example"]},"floor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Floor Type","examples":["example"]},"wall_material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wall Material","examples":["example"]},"built_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Built Year","examples":[1]},"exploitation_start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exploitation Start Year","examples":[1]}},"type":"object","required":["id","floors","building_area_official","building_area_modeled","project_type","floor_type","wall_material","built_year","exploitation_start_year"],"title":"ShortBuilding","description":"Building without info about physical objects."},"ShortIndicatorInfo":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"parent indicator identifier","examples":[1]},"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"measurement_unit":{"anyOf":[{"$ref":"#/components/schemas/MeasurementUnitBasic"},{"type":"null"}]},"level":{"type":"integer","title":"Level","description":"number of indicator functions above in a tree + 1","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"indicator marker in lists","examples":["1.1.1"]}},"type":"object","required":["indicator_id","parent_id","name_full","measurement_unit","level","list_label"],"title":"ShortIndicatorInfo","description":"Basic indicator model to encapsulate in other models."},"ShortIndicatorValueInfo":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"measurement_unit_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement Unit Name","description":"measurement unit name","examples":["Количество людей"]},"level":{"type":"integer","title":"Level","description":"number of indicator functions above in a tree + 1","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"indicator marker in lists","examples":["1.1.1"]},"date_value":{"type":"string","format":"date","title":"Date Value","description":"first day of the year for 'year' period, first of june for 'half_year', first day of jan/apr/jul/oct for quarter, first day of month for 'month', any valid day value for 'day'","examples":["2024-01-01"]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"value_type":{"type":"string","enum":["real","forecast","target"],"title":"Value Type","description":"indicator value type","examples":["real"]},"information_source":{"type":"string","title":"Information Source","description":"information source","examples":["https://data.gov.spb.ru/irsi/7832000076-Obuekty-nedvizhimogo-imushestva-i-zemelnye-uchastki/structure_version/229/"]}},"type":"object","required":["indicator_id","name_full","measurement_unit_name","level","list_label","date_value","value","value_type","information_source"],"title":"ShortIndicatorValueInfo","description":"Indicator value without territory."},"ShortNormativeInfo":{"properties":{"name":{"type":"string","title":"Name","examples":["Школа"]},"year":{"type":"integer","title":"Year","examples":[2024]},"normative_type":{"$ref":"#/components/schemas/NormativeType","default":"self","examples":["self"]},"radius_availability_meters":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Radius Availability Meters","examples":[1]},"time_availability_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Time Availability Minutes"},"services_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Per 1000 Normative","examples":[1]},"services_capacity_per_1000_normative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Services Capacity Per 1000 Normative"},"is_regulated":{"type":"boolean","title":"Is Regulated","examples":[true]}},"type":"object","required":["name","year","is_regulated"],"title":"ShortNormativeInfo","description":"Normative geojson response model for a given territory"},"ShortProject":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier","examples":[1]},"user_id":{"type":"string","title":"User Id","description":"project creator identifier","examples":["admin@test.ru"]},"name":{"type":"string","title":"Name","description":"project name","examples":["--"]},"region":{"$ref":"#/components/schemas/ShortTerritory"}},"type":"object","required":["project_id","user_id","name","region"],"title":"ShortProject","description":"Basic project model to encapsulate in other models."},"ShortProjectIndicatorValue":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"name_full":{"type":"string","title":"Name Full","description":"indicator unit full name","examples":["Общее количество людей, постоянно проживающих на территории"]},"measurement_unit_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement Unit Name","description":"measurement unit name","examples":["Количество людей"]},"value":{"type":"number","title":"Value","description":"indicator value for scenario at time","examples":[23.5]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"comment for indicator value","examples":["--"]}},"type":"object","required":["indicator_id","name_full","measurement_unit_name","value"],"title":"ShortProjectIndicatorValue","description":"Project indicator value with all its attributes."},"ShortProjectWithScenario":{"properties":{"project_id":{"type":"integer","title":"Project Id","description":"project identifier","examples":[1]},"user_id":{"type":"string","title":"User Id","description":"project creator identifier","examples":["admin@test.ru"]},"name":{"type":"string","title":"Name","description":"project name","examples":["--"]},"region":{"$ref":"#/components/schemas/ShortTerritory"},"base_scenario":{"$ref":"#/components/schemas/ShortScenario"}},"type":"object","required":["project_id","user_id","name","region","base_scenario"],"title":"ShortProjectWithScenario","description":"Basic project with scenario model to encapsulate in other models."},"ShortScenario":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"ShortScenario","description":"Scenario with only id and name."},"ShortScenarioPhysicalObject":{"properties":{"physical_object_id":{"type":"integer","title":"Physical Object Id","examples":[1]},"physical_object_type":{"$ref":"#/components/schemas/PhysicalObjectTypeBasic"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"physical object name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"physical object additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"building":{"anyOf":[{"$ref":"#/components/schemas/ShortBuilding"},{"type":"null"}]},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"}},"type":"object","required":["physical_object_id","physical_object_type","building","is_scenario_object"],"title":"ShortScenarioPhysicalObject","description":"Basic scenario physical object model to encapsulate in other models."},"ShortScenarioService":{"properties":{"service_id":{"type":"integer","title":"Service Id","examples":[1]},"service_type":{"$ref":"#/components/schemas/ServiceTypeBasic"},"territory_type":{"anyOf":[{"$ref":"#/components/schemas/TerritoryTypeBasic"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"service name","examples":["--"]},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity","examples":[1]},"is_capacity_real":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Capacity Real","examples":[true]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"service additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"is_scenario_object":{"type":"boolean","title":"Is Scenario Object","description":"boolean parameter to determine scenario object"}},"type":"object","required":["service_id","service_type","territory_type","is_scenario_object"],"title":"ShortScenarioService","description":"Basic scenario service model to encapsulate in other models."},"ShortTerritory":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"ShortTerritory","description":"Territory with only id and name."},"ShortTerritoryIndicatorBind":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"indicator_name":{"type":"string","title":"Indicator Name","description":"indicator name","examples":["--"]},"measurement_unit_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Measurement Unit Name","description":"measurement unit name","examples":["--"]},"min_value":{"type":"number","title":"Min Value","description":"minimum binned value","examples":[0.0]},"max_value":{"type":"number","title":"Max Value","description":"maximum binned value","examples":[100.0]}},"type":"object","required":["indicator_id","indicator_name","measurement_unit_name","min_value","max_value"],"title":"ShortTerritoryIndicatorBind","description":"Short territory indicators bindings schema with only important fields."},"ShortUrbanObject":{"properties":{"id":{"type":"integer","title":"Id"},"physical_object":{"$ref":"#/components/schemas/PhysicalObjectBasic"},"object_geometry":{"$ref":"#/components/schemas/ObjectGeometryBasic"},"service":{"anyOf":[{"$ref":"#/components/schemas/ServiceBasic"},{"type":"null"}]}},"type":"object","required":["id","physical_object","object_geometry","service"],"title":"ShortUrbanObject","description":"Basic urban object model to encapsulate in other models."},"SocGroup":{"properties":{"soc_group_id":{"type":"integer","title":"Soc Group Id","description":"social group identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"social group name","examples":["Трудоспособные"]}},"type":"object","required":["soc_group_id","name"],"title":"SocGroup","description":"Social group with all its attributes."},"SocGroupPost":{"properties":{"name":{"type":"string","title":"Name","description":"social group name","examples":["Трудоспособные"]}},"type":"object","required":["name"],"title":"SocGroupPost","description":"Schema of social group for POST request."},"SocGroupWithServiceTypes":{"properties":{"soc_group_id":{"type":"integer","title":"Soc Group Id","description":"social group identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"social group name","examples":["Трудоспособные"]},"service_types":{"items":{"$ref":"#/components/schemas/SocServiceType"},"type":"array","title":"Service Types"}},"type":"object","required":["soc_group_id","name","service_types"],"title":"SocGroupWithServiceTypes","description":"Social group with all its attributes and list of service types."},"SocServiceType":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"infrastructure_type":{"$ref":"#/components/schemas/InfrastructureType"}},"type":"object","required":["id","name","infrastructure_type"],"title":"SocServiceType","description":"Service type model to encapsulate in SocGroup/SocValue model."},"SocServiceTypePost":{"properties":{"service_type_id":{"type":"integer","title":"Service Type Id","description":"service type identifier","examples":[1]},"infrastructure_type":{"type":"string","enum":["basic","additional","comfort"],"title":"Infrastructure Type","description":"infrastructure type","examples":["basic"]}},"type":"object","required":["service_type_id","infrastructure_type"],"title":"SocServiceTypePost","description":"Schema of social service type for POST request."},"SocValue":{"properties":{"soc_value_id":{"type":"integer","title":"Soc Value Id","description":"social value identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"social value name","examples":["Ценность"]},"rank":{"type":"integer","title":"Rank","description":"rank","examples":[3]},"normative_value":{"type":"number","title":"Normative Value","description":"normative value","examples":[0.56]},"decree_value":{"type":"number","title":"Decree Value","description":"decree value","examples":[0.75]}},"type":"object","required":["soc_value_id","name","rank","normative_value","decree_value"],"title":"SocValue","description":"Social value with all its attributes."},"SocValueBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"SocValueBasic","description":"Social value with only id and name."},"SocValueIndicatorValue":{"properties":{"soc_value":{"$ref":"#/components/schemas/SocValueBasic"},"territory":{"$ref":"#/components/schemas/ShortTerritory"},"year":{"type":"integer","title":"Year","description":"year when value was modeled","examples":[2026]},"value":{"type":"number","title":"Value","description":"indicator value for territory at time","examples":[23.5]},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the indicator value was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the indicator value was last updated"}},"type":"object","required":["soc_value","territory","year","value"],"title":"SocValueIndicatorValue","description":"Social value's indicator value with all its attributes."},"SocValueIndicatorValuePost":{"properties":{"soc_value_id":{"type":"integer","title":"Soc Value Id","description":"social value identifier","examples":[1]},"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier","examples":[1]},"year":{"type":"integer","title":"Year","description":"year when value was modeled","default":2026,"examples":[2026]},"value":{"type":"number","title":"Value","description":"indicator value for social group and territory at time","examples":[23.5]}},"type":"object","required":["soc_value_id","territory_id","value"],"title":"SocValueIndicatorValuePost","description":"Schema of social value's indicator value for POST request."},"SocValueIndicatorValuePut":{"properties":{"soc_value_id":{"type":"integer","title":"Soc Value Id","description":"social value identifier","examples":[1]},"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier","examples":[1]},"year":{"type":"integer","title":"Year","description":"year when value was modeled","examples":[2026]},"value":{"type":"number","title":"Value","description":"indicator value for social group and territory at time","examples":[23.5]}},"type":"object","required":["soc_value_id","territory_id","year","value"],"title":"SocValueIndicatorValuePut","description":"Schema of social value's indicator value for PATCH request."},"SocValuePost":{"properties":{"name":{"type":"string","title":"Name","description":"social value name","examples":["Ценность"]},"rank":{"type":"integer","title":"Rank","description":"rank","examples":[3]},"normative_value":{"type":"number","title":"Normative Value","description":"normative_value","examples":[0.56]},"decree_value":{"type":"number","title":"Decree Value","description":"decree_value","examples":[0.75]}},"type":"object","required":["name","rank","normative_value","decree_value"],"title":"SocValuePost","description":"Schema of social value for POST request."},"SocValueWithServiceTypes":{"properties":{"soc_value_id":{"type":"integer","title":"Soc Value Id","description":"social value identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"social value name","examples":["Ценность"]},"rank":{"type":"integer","title":"Rank","description":"rank","examples":[3]},"normative_value":{"type":"number","title":"Normative Value","description":"normative value","examples":[0.56]},"decree_value":{"type":"number","title":"Decree Value","description":"decree value","examples":[0.75]},"service_types":{"items":{"$ref":"#/components/schemas/ServiceType"},"type":"array","title":"Service Types"}},"type":"object","required":["soc_value_id","name","rank","normative_value","decree_value","service_types"],"title":"SocValueWithServiceTypes","description":"Social value with all its attributes and list of service types."},"TargetCityType":{"properties":{"target_city_type_id":{"type":"integer","title":"Target City Type Id","description":"target city type identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"target city type unit name","examples":["Административный центр"]},"description":{"type":"string","title":"Description","description":"target city type unit description","examples":["Статус адинистративного центра субъекта Российской Федерации"]}},"type":"object","required":["target_city_type_id","name","description"],"title":"TargetCityType","description":"Target city type with all its attributes."},"TargetCityTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["id","name","description"],"title":"TargetCityTypeBasic","description":"Basic target city type model to encapsulate in other models."},"TargetCityTypePost":{"properties":{"name":{"type":"string","title":"Name","description":"target city type unit name","examples":["Административный центр"]},"description":{"type":"string","title":"Description","description":"target city type unit description","examples":["Статус адинистративного центра субъекта Российской Федерации"]}},"type":"object","required":["name","description"],"title":"TargetCityTypePost","description":"Schema of target city type for POST request."},"TerritoriesDeleted":{"properties":{"parent_ids":{"items":{"type":"integer"},"type":"array","title":"Parent Ids","description":"list of region territories identifiers for which child territory has been deleted"}},"additionalProperties":false,"type":"object","required":["parent_ids"],"title":"TerritoriesDeleted","description":"Model for message indicates that a territories has been deleted."},"TerritoriesUpdated":{"properties":{"territory_ids":{"items":{"type":"integer"},"type":"array","title":"Territory Ids","description":"list of territories identifiers which were created or updated"}},"additionalProperties":false,"type":"object","required":["territory_ids"],"title":"TerritoriesUpdated","description":"Model for message indicates that a territories has been created or updated."},"TerritoriesWithBinnedIndicators":{"properties":{"geojson":{"$ref":"#/components/schemas/GeoJSONResponse_Feature_Annotated_Union_Point__MultiPoint__LineString__MultiLineString__Polygon__MultiPolygon__GeometryCollection___FieldInfo_annotation_NoneType__required_True__discriminator__type_____TerritoryWithIndicators__"},"binned":{"items":{"$ref":"#/components/schemas/ShortTerritoryIndicatorBind"},"type":"array","title":"Binned"}},"type":"object","required":["geojson","binned"],"title":"TerritoriesWithBinnedIndicators","description":"Response model containing geojson with territory indicator values info\nin properties + binned values for indicators."},"Territory":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"parent":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"geometry":{"$ref":"#/components/schemas/Geometry"},"level":{"type":"integer","title":"Level","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"territory additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"admin_center":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"target_city_type":{"anyOf":[{"$ref":"#/components/schemas/TargetCityTypeBasic"},{"type":"null"}]},"okato_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Okato Code","examples":["1"]},"oktmo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oktmo Code","examples":["1"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the territory was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the territory was last updated"}},"type":"object","required":["territory_id","territory_type","parent","name","geometry","level","centre_point","admin_center","target_city_type","okato_code","oktmo_code","is_city"],"title":"Territory","description":"Territory with all its attributes."},"TerritoryIndicatorBind":{"properties":{"indicator":{"$ref":"#/components/schemas/ShortIndicatorInfo"},"region":{"$ref":"#/components/schemas/ShortTerritory"},"level":{"type":"integer","title":"Level","description":"territory level for which bindings were defined","examples":[3]},"min_value":{"type":"number","title":"Min Value","description":"minimum binned value","examples":[0.0]},"max_value":{"type":"number","title":"Max Value","description":"maximum binned value","examples":[100.0]}},"type":"object","required":["indicator","region","level","min_value","max_value"],"title":"TerritoryIndicatorBind","description":"Territory indicators bindings schema with all attributes."},"TerritoryIndicatorBindPut":{"properties":{"indicator_id":{"type":"integer","title":"Indicator Id","description":"indicator identifier","examples":[1]},"territory_id":{"type":"integer","title":"Territory Id","description":"regional (level=2) territory identifier","examples":[1]},"level":{"type":"integer","title":"Level","description":"territory level for which bindings are defined","examples":[3]},"min_value":{"type":"number","title":"Min Value","description":"minimum binned value","examples":[0.0]},"max_value":{"type":"number","title":"Max Value","description":"maximum binned value","examples":[100.0]}},"type":"object","required":["indicator_id","territory_id","level","min_value","max_value"],"title":"TerritoryIndicatorBindPut","description":"Territory indicators bindings schema for POST requests."},"TerritoryPatch":{"properties":{"geometry":{"anyOf":[{"$ref":"#/components/schemas/Geometry"},{"type":"null"}]},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"territory_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Territory Type Id","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"territory name","examples":["--"]},"properties":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Properties","description":"territory additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"admin_center_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Admin Center Id","examples":[1]},"target_city_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target City Type Id","examples":[1]},"okato_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Okato Code","examples":["1"]},"oktmo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oktmo Code","examples":["1"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"}},"type":"object","title":"TerritoryPatch","description":"Territory schema for PATCH request."},"TerritoryPost":{"properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"centre_point":{"anyOf":[{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},{"type":"null"}]},"territory_type_id":{"type":"integer","title":"Territory Type Id","examples":[1]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","examples":[1]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"territory additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"admin_center_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Admin Center Id","examples":[1]},"target_city_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target City Type Id","examples":[1]},"okato_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Okato Code","examples":["1"]},"oktmo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oktmo Code","examples":["1"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"}},"type":"object","required":["geometry","territory_type_id","parent_id","name","is_city"],"title":"TerritoryPost","description":"Territory schema for POST request."},"TerritoryTreeWithoutGeometry":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"parent":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"level":{"type":"integer","title":"Level","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"territory additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"admin_center":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"target_city_type":{"anyOf":[{"$ref":"#/components/schemas/TargetCityTypeBasic"},{"type":"null"}]},"okato_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Okato Code","examples":["1"]},"oktmo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oktmo Code","examples":["1"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the territory was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the territory was last updated"},"children":{"items":{"$ref":"#/components/schemas/TerritoryTreeWithoutGeometry"},"type":"array","title":"Children"}},"type":"object","required":["territory_id","territory_type","parent","name","level","admin_center","target_city_type","okato_code","oktmo_code","is_city"],"title":"TerritoryTreeWithoutGeometry","description":"Territory with all its attributes, but without center and geometry\nwhich also contains child territories."},"TerritoryType":{"properties":{"territory_type_id":{"type":"integer","title":"Territory Type Id","description":"territory type identifier","examples":[1]},"name":{"type":"string","title":"Name","description":"territory type unit name","examples":["Город"]}},"type":"object","required":["territory_type_id","name"],"title":"TerritoryType","description":"Territory type with all its attributes."},"TerritoryTypeBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"TerritoryTypeBasic","description":"Basic territory type model to encapsulate in other models."},"TerritoryTypePost":{"properties":{"name":{"type":"string","title":"Name","description":"territory type unit name","examples":["Город"]}},"type":"object","required":["name"],"title":"TerritoryTypePost","description":"Schema of territory type for POST request."},"TerritoryWithBinnedIndicators":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"indicators":{"items":{"$ref":"#/components/schemas/ShortBinnedIndicatorValue"},"type":"array","title":"Indicators"}},"type":"object","required":["territory_id","name","is_city","centre_point","territory_type","indicators"],"title":"TerritoryWithBinnedIndicators","description":"Short territory info with geometry and all indicators + binned values."},"TerritoryWithIndicators":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"indicators":{"items":{"$ref":"#/components/schemas/ShortIndicatorValueInfo"},"type":"array","title":"Indicators"}},"type":"object","required":["territory_id","name","is_city","centre_point","territory_type","indicators"],"title":"TerritoryWithIndicators","description":"Short territory info with geometry and all indicators."},"TerritoryWithNormatives":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"centre_point":{"$ref":"#/components/schemas/idu_api__urban_api__schemas__geometries__Point"},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"normatives":{"items":{"$ref":"#/components/schemas/ShortNormativeInfo"},"type":"array","title":"Normatives"}},"type":"object","required":["territory_id","name","is_city","centre_point","territory_type","normatives"],"title":"TerritoryWithNormatives","description":"Short territory info with geometry and list of all normatives."},"TerritoryWithoutGeometry":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","examples":[1]},"territory_type":{"$ref":"#/components/schemas/TerritoryTypeBasic"},"parent":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"territory name","examples":["--"]},"level":{"type":"integer","title":"Level","examples":[1]},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"territory additional properties","examples":[{"additional_attribute_name":"additional_attribute_value"}]},"admin_center":{"anyOf":[{"$ref":"#/components/schemas/ShortTerritory"},{"type":"null"}]},"target_city_type":{"anyOf":[{"$ref":"#/components/schemas/TargetCityTypeBasic"},{"type":"null"}]},"okato_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Okato Code","examples":["1"]},"oktmo_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oktmo Code","examples":["1"]},"is_city":{"type":"boolean","title":"Is City","description":"boolean parameter to determine cities"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"the time when the territory was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"the time when the territory was last updated"}},"type":"object","required":["territory_id","territory_type","parent","name","level","admin_center","target_city_type","okato_code","oktmo_code","is_city"],"title":"TerritoryWithoutGeometry","description":"Territory with all its attributes, but without center and geometry."},"UrbanFunction":{"properties":{"urban_function_id":{"type":"integer","title":"Urban Function Id","examples":[1]},"parent_urban_function":{"anyOf":[{"$ref":"#/components/schemas/UrbanFunctionBasic"},{"type":"null"}]},"name":{"type":"string","title":"Name","description":"urban function unit name","examples":["Образование"]},"level":{"type":"integer","title":"Level","description":"number of urban functions above in a tree + [1]","examples":[1]},"list_label":{"type":"string","title":"List Label","description":"urban function list label","examples":["1.1.1"]},"code":{"type":"string","title":"Code","description":"urban function code","examples":["1"]}},"type":"object","required":["urban_function_id","parent_urban_function","name","level","list_label","code"],"title":"UrbanFunction","description":"Urban function with all its attributes."},"UrbanFunctionBasic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"UrbanFunctionBasic","description":"Basic urban function model to encapsulate in other models."},"UrbanFunctionPatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"urban function unit name","examples":["Образование"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"Urban function parent id, if set","examples":[1]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","description":"urban function code","examples":["1"]}},"type":"object","title":"UrbanFunctionPatch","description":"Schema of urban function for PATCH request."},"UrbanFunctionPost":{"properties":{"name":{"type":"string","title":"Name","description":"urban function unit name","examples":["Образование"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"Urban function parent id, if set","examples":[1]},"code":{"type":"string","title":"Code","description":"urban function code","examples":["1"]}},"type":"object","required":["name","code"],"title":"UrbanFunctionPost","description":"Schema of urban function for POST request."},"UrbanFunctionPut":{"properties":{"name":{"type":"string","title":"Name","description":"urban function unit name","examples":["Образование"]},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"Urban function parent id, if set","examples":[1]},"code":{"type":"string","title":"Code","description":"urban function code","examples":["1"]}},"type":"object","required":["name","parent_id","code"],"title":"UrbanFunctionPut","description":"Schema of urban function for PUT request."},"UrbanObject":{"properties":{"urban_object_id":{"type":"integer","title":"Urban Object Id","description":"urban object id","examples":[1]},"physical_object":{"$ref":"#/components/schemas/PhysicalObject"},"object_geometry":{"$ref":"#/components/schemas/ObjectGeometry"},"service":{"anyOf":[{"$ref":"#/components/schemas/Service"},{"type":"null"}]}},"type":"object","required":["urban_object_id","physical_object","object_geometry","service"],"title":"UrbanObject","description":"Urban object with all its attributes."},"UrbanObjectPatch":{"properties":{"physical_object_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Physical Object Id","description":"physical object identifier","examples":[1]},"object_geometry_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Object Geometry Id","description":"object geometry identifier","examples":[1]},"service_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Id","description":"service identifier","examples":[1]}},"type":"object","title":"UrbanObjectPatch","description":"Urban object schema for PATCH requests."},"UrbanObjectsUpdated":{"properties":{"territory_id":{"type":"integer","title":"Territory Id","description":"territory identifier where objects have been updated"},"service_types":{"items":{"type":"integer"},"type":"array","title":"Service Types","description":"list of service types identifiers which have been updated"},"physical_object_types":{"items":{"type":"integer"},"type":"array","title":"Physical Object Types","description":"list of physical object types identifiers which have been updated"}},"additionalProperties":false,"type":"object","required":["territory_id","service_types","physical_object_types"],"title":"UrbanObjectsUpdated","description":"Model for message indicates that urban objects have been updated for territory."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValueType":{"type":"string","enum":["real","target","forecast"],"title":"ValueType","description":"Types of values used in calculations and reporting."},"geojson_pydantic__geometries__Point":{"properties":{"bbox":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":6,"minItems":6},{"type":"null"}],"title":"Bbox"},"type":{"type":"string","const":"Point","title":"Type"},"coordinates":{"anyOf":[{"$ref":"#/components/schemas/Position2D"},{"$ref":"#/components/schemas/Position3D"}],"title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"Point","description":"Point Model"},"idu_api__urban_api__schemas__geometries__Point":{"properties":{"type":{"type":"string","const":"Point","title":"Type","default":"Point"},"coordinates":{"items":{"type":"number"},"type":"array","title":"Coordinates","description":"list[float]","examples":[[30.22,59.86]]}},"type":"object","required":["coordinates"],"title":"Point","description":"Geometry representation for GeoJSON model appliable for points only."}},"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://keycloak.idu.actcognitive.org/realms/IDU/protocol/openid-connect/auth","tokenUrl":"https://keycloak.idu.actcognitive.org/realms/IDU/protocol/openid-connect/token","scopes":{}}}}}},"security":[{"OAuth2":[]}]}