OpenAPI schemas
{
"AccountKey": {
"additionalProperties": false,
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"expires_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"label": {
"maxLength": 80,
"type": "string"
},
"last_used_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"prefix": {
"pattern": "^lf_live_[A-Za-z0-9_-]{0,8}$",
"type": "string"
}
},
"required": [
"id",
"prefix",
"label",
"created_at",
"last_used_at",
"expires_at"
],
"type": "object"
},
"AccountKeyCreated": {
"additionalProperties": false,
"properties": {
"key": {
"$ref": "#/components/schemas/AccountKey"
},
"secret": {
"pattern": "^lf_live_[A-Za-z0-9_-]{43}$",
"type": "string"
}
},
"required": [
"key",
"secret"
],
"type": "object"
},
"AccountKeyCreatedResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountKeyCreated"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AccountKeyList": {
"additionalProperties": false,
"properties": {
"keys": {
"items": {
"$ref": "#/components/schemas/AccountKey"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"const": 10
}
},
"required": [
"keys",
"limit"
],
"type": "object"
},
"AccountKeyListResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountKeyList"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AccountKeyRevoked": {
"additionalProperties": false,
"properties": {
"revoked": {
"const": true
}
},
"required": [
"revoked"
],
"type": "object"
},
"AccountKeyRevokedResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountKeyRevoked"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AccountKeyRotated": {
"additionalProperties": false,
"properties": {
"key": {
"$ref": "#/components/schemas/AccountKey"
},
"previous_key_id": {
"format": "uuid",
"type": "string"
},
"previous_valid_until": {
"format": "date-time",
"type": "string"
},
"secret": {
"pattern": "^lf_live_[A-Za-z0-9_-]{43}$",
"type": "string"
}
},
"required": [
"key",
"secret",
"previous_key_id",
"previous_valid_until"
],
"type": "object"
},
"AccountKeyRotatedResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountKeyRotated"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AccountKeyWrite": {
"additionalProperties": false,
"default": {},
"properties": {
"label": {
"maxLength": 80,
"pattern": "^[^\\x00-\\x1f\\x7f]*$",
"type": "string"
}
},
"type": "object"
},
"AccountLedger": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/AccountLedgerEntry"
},
"maxItems": 100,
"type": "array"
},
"next_cursor": {
"maxLength": 1024,
"type": [
"string",
"null"
]
},
"period": {
"$ref": "#/components/schemas/AccountPeriod"
}
},
"required": [
"period",
"entries",
"next_cursor"
],
"type": "object"
},
"AccountLedgerEntry": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"credits": {
"minimum": 1
}
}
},
"if": {
"properties": {
"type": {
"enum": [
"charge",
"expiry"
]
}
}
},
"then": {
"properties": {
"credits": {
"maximum": -1
}
}
}
}
],
"properties": {
"balance_after": {
"type": "integer"
},
"credits": {
"type": "integer"
},
"id": {
"pattern": "^[1-9][0-9]*$",
"type": "string"
},
"operation": {
"type": [
"string",
"null"
]
},
"request_id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"timestamp": {
"format": "date-time",
"type": "string"
},
"type": {
"enum": [
"charge",
"refund",
"grant",
"expiry"
]
}
},
"required": [
"id",
"type",
"credits",
"operation",
"request_id",
"timestamp",
"balance_after"
],
"type": "object"
},
"AccountLedgerResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountLedger"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AccountPeriod": {
"additionalProperties": false,
"properties": {
"ends_at": {
"format": "date-time",
"type": "string"
},
"starts_at": {
"format": "date-time",
"type": "string"
},
"timezone": {
"const": "UTC"
}
},
"required": [
"starts_at",
"ends_at",
"timezone"
],
"type": "object"
},
"AccountUsage": {
"additionalProperties": false,
"properties": {
"by_day": {
"items": {
"$ref": "#/components/schemas/AccountUsageDay"
},
"maxItems": 367,
"type": "array"
},
"by_operation": {
"items": {
"$ref": "#/components/schemas/AccountUsageOperation"
},
"maxItems": 32,
"type": "array"
},
"credits_used": {
"minimum": 0,
"type": "integer"
},
"period": {
"$ref": "#/components/schemas/AccountPeriod"
}
},
"required": [
"period",
"credits_used",
"by_operation",
"by_day"
],
"type": "object"
},
"AccountUsageDay": {
"additionalProperties": false,
"properties": {
"credits_used": {
"minimum": 0,
"type": "integer"
},
"date": {
"format": "date",
"type": "string"
}
},
"required": [
"date",
"credits_used"
],
"type": "object"
},
"AccountUsageOperation": {
"additionalProperties": false,
"properties": {
"credits_used": {
"minimum": 0,
"type": "integer"
},
"operation": {
"type": "string"
}
},
"required": [
"operation",
"credits_used"
],
"type": "object"
},
"AccountUsageResponse": {
"allOf": [
{
"$ref": "./envelope.json"
},
{
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"credits": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_operation"
}
},
"required": [
"cost",
"charged",
"refunded",
"credits",
"rule"
],
"type": "object"
},
"result": {
"$ref": "#/components/schemas/AccountUsage"
},
"status": {
"const": "ok"
}
},
"type": "object"
}
]
},
"AddressValue": {
"properties": {
"addresses": {
"items": {
"properties": {
"house_number": {
"type": "string"
},
"locality": {
"type": "string"
},
"postcode": {
"type": [
"string",
"null"
]
},
"street": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"addresses"
],
"type": "object"
},
"AreaV2": {
"$ref": "./envelope.json#/$defs/AreaV2"
},
"AskCall": {
"$ref": "./envelope.json#/$defs/AskCall"
},
"AskCitation": {
"$ref": "./envelope.json#/$defs/AskCitation"
},
"AskClientTool": {
"$ref": "./envelope.json#/$defs/AskClientTool"
},
"AskContinuation": {
"$ref": "./envelope.json#/$defs/AskContinuation"
},
"AskEvent": {
"$ref": "./envelope.json#/$defs/AskEvent"
},
"AskRequest": {
"$ref": "./envelope.json#/$defs/AskRequest"
},
"AskResponse": {
"$ref": "./envelope.json#/$defs/AskResponse"
},
"AskSignedResult": {
"$ref": "./envelope.json#/$defs/AskSignedResult"
},
"AskTurn": {
"$ref": "./envelope.json#/$defs/AskTurn"
},
"Auth": {
"$ref": "./envelope.json#/$defs/Auth"
},
"BatchCheckJob": {
"$ref": "./envelope.json#/$defs/BatchCheckJob"
},
"BatchCheckRequest": {
"$ref": "./envelope.json#/$defs/BatchCheckRequest"
},
"BatchCheckResults": {
"$ref": "./envelope.json#/$defs/BatchCheckResults"
},
"BatchCheckSubmission": {
"$ref": "./envelope.json#/$defs/BatchCheckSubmission"
},
"BillingV2": {
"$ref": "./envelope.json#/$defs/BillingV2"
},
"BuildingsValue": {
"properties": {
"count": {
"type": "integer"
},
"footprint_m2_total": {
"type": [
"number",
"null"
]
}
},
"required": [
"count"
],
"type": "object"
},
"CheckResult": {
"properties": {
"checks": {
"items": {
"properties": {
"basis": {
"type": [
"string",
"null"
]
},
"detail": {
"type": [
"string",
"null"
]
},
"id": {
"enum": [
"pog_zone",
"wz_possible",
"mpzp_status",
"mpzp_params",
"flood_q100",
"landslide",
"protected",
"road_access"
],
"type": "string"
},
"layer": {
"$ref": "./envelope.json#/$defs/LayerKey"
},
"result": {
"enum": [
"pass",
"fail",
"warn",
"unknown"
],
"type": "string"
},
"source": {
"$ref": "./envelope.json#/$defs/SourceRef"
},
"value": {}
},
"required": [
"id",
"layer",
"result",
"source"
],
"type": "object"
},
"type": "array"
},
"disclaimer": {
"type": "string"
},
"record": {
"$ref": "#/components/schemas/ParcelRecord"
},
"verdict": {
"description": "Reguła przeniesiona z bezpłatnego sprawdzania (geofeed/resolve). pass: wszystkie sprawdzenia zakończone pomyślnie. fail: negatywny wynik sprawdzenia rozstrzygającego (brak ścieżki WZ i MPZP dopuszczającego zabudowę). conditional: możliwość zabudowy zależy od wskazanego warunku (dojazd, powódź, forma ochrony). unknown: wynik sprawdzenia rozstrzygającego jest nieznany.",
"enum": [
"pass",
"conditional",
"fail",
"unknown"
],
"type": "string"
}
},
"required": [
"verdict",
"checks",
"record",
"disclaimer"
],
"type": "object"
},
"CheckResultV2": {
"$ref": "./envelope.json#/$defs/CheckResultV2"
},
"Event": {
"anyOf": [
{
"properties": {
"after": {},
"as_of": {
"format": "date",
"type": [
"string",
"null"
]
},
"before": {},
"detected_at": {
"format": "date-time",
"type": "string"
},
"event": {
"type": "string"
},
"id": {
"type": "string"
},
"layer": {
"type": [
"string",
"null"
]
},
"source": {
"$ref": "./envelope.json#/$defs/SourceRef"
}
},
"required": [
"id",
"event",
"detected_at"
],
"type": "object"
},
{
"$ref": "./envelope.json#/$defs/EventV2"
}
]
},
"EventTypeV2": {
"$ref": "./envelope.json#/$defs/EventTypeV2"
},
"EventV2": {
"$ref": "./envelope.json#/$defs/EventV2"
},
"EventsRequestV2": {
"$ref": "./envelope.json#/$defs/EventsRequestV2"
},
"ExportV2": {
"$ref": "./envelope.json#/$defs/ExportV2"
},
"FeatureSearchFacets": {
"$ref": "./envelope.json#/$defs/FeatureSearchFacets"
},
"FeatureSearchFilters": {
"$ref": "./envelope.json#/$defs/FeatureSearchFilters"
},
"FloodValue": {
"description": "covered_no_data oznacza zmapowany obszar i działkę poza wszystkimi strefami: {q10: false, q100: false, q500: false}. Uwagi powodziowe używają polskich nazw miesięcy, wskazują scenariusz Q1% (raz na 100 lat) i odróżniają brak zagrożenia na mapie od nieznanego zakresu danych.",
"properties": {
"map_edition": {
"description": "Cykl MZP i daty publikacji obiektów z validityPeriod.beginPosition; brakujące daty są wyraźnie wskazane. endPosition metadanych nigdy nie wyznacza zakresu danych.",
"type": [
"string",
"null"
]
},
"q10": {
"type": "boolean"
},
"q100": {
"type": "boolean"
},
"q100_share_pct": {
"type": [
"number",
"null"
]
},
"q500": {
"type": "boolean"
}
},
"required": [
"q10",
"q100",
"q500"
],
"type": "object"
},
"GminaPlanning": {
"properties": {
"as_of": {
"format": "date",
"type": "string"
},
"gmina_name": {
"type": "string"
},
"gmina_teryt": {
"description": "Kod gminy administracyjnej z ostatnią cyfrą 1, 2 lub 3.",
"pattern": "^[0-9]{6}[123]$",
"type": "string"
},
"mpzp_count": {
"type": [
"integer",
"null"
]
},
"mpzp_coverage_pct": {
"type": [
"number",
"null"
]
},
"pog_adopted_on": {
"format": "date",
"type": [
"string",
"null"
]
},
"pog_effective_from": {
"format": "date",
"type": [
"string",
"null"
]
},
"pog_resolution_url": {
"type": [
"string",
"null"
]
},
"pog_status": {
"enum": [
"draft",
"adopted",
"in_force",
"none",
"unknown"
],
"type": "string"
},
"sources": {
"items": {
"$ref": "./envelope.json#/$defs/SourceRef"
},
"type": "array"
},
"studium_expired": {
"type": [
"boolean",
"null"
]
},
"wz_regime": {
"type": [
"string",
"null"
]
}
},
"required": [
"gmina_teryt",
"gmina_name",
"pog_status",
"as_of",
"sources"
],
"type": "object"
},
"IdempotencyKey": {
"$ref": "./envelope.json#/$defs/IdempotencyKey"
},
"LandslideValue": {
"description": "Punktowe sprawdzenie SOPO. Trafienie ma stan covered; puste identify oznacza covered_no_data z present=false wyłącznie wewnątrz prawidłowego, ukończonego obszaru mapowania, przy dostępnych danych aplikacji. W pozostałych przypadkach not_covered i value=null. Bez twierdzeń o bezpieczeństwie całej działki ani o przecięciu jej geometrii.",
"properties": {
"count": {
"type": "integer"
},
"forms": {
"items": {
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"landslide",
"threatened_area"
],
"type": "string"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"type": "array"
},
"kinds": {
"items": {
"enum": [
"landslide",
"threatened_area"
],
"type": "string"
},
"type": "array"
},
"present": {
"type": "boolean"
}
},
"required": [
"present"
],
"type": "object"
},
"LayerAnswerV2": {
"$ref": "./envelope.json#/$defs/LayerAnswerV2"
},
"Licence": {
"$ref": "./envelope.json#/$defs/Licence"
},
"ListingCandidate": {
"$ref": "./envelope.json#/$defs/ListingCandidate"
},
"ListingResolution": {
"$ref": "./envelope.json#/$defs/ListingResolution"
},
"ListingResolveRequest": {
"$ref": "./envelope.json#/$defs/ListingResolveRequest"
},
"Method": {
"$ref": "./envelope.json#/$defs/Method"
},
"MpzpValue": {
"allOf": [
{
"if": {
"properties": {
"status": {
"type": "null"
}
}
},
"then": {
"properties": {
"effective_from": {
"type": "null"
}
}
}
}
],
"description": "covered_no_data oznacza, że źródło obejmuje gminę, ale żaden MPZP nie obejmuje działki: {status: none, symbol: null, plans: [], effective_from: null}. Plan w przygotowaniu ma status draft. Plan lub strefa bez opublikowanego statusu prawnego ma coverage=covered, status=null, effective_from=null i uwagę wyjaśniającą; symbol, przeznaczenie, identyfikator i nazwa planu są zachowywane, jeżeli je opublikowano.",
"properties": {
"effective_from": {
"format": "date",
"type": [
"string",
"null"
]
},
"plans": {
"items": {
"properties": {
"adopted_on": {
"format": "date",
"type": [
"string",
"null"
]
},
"effective_from": {
"format": "date",
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"plan_id": {
"type": "string"
},
"resolution_url": {
"type": [
"string",
"null"
]
},
"status": {
"$ref": "./envelope.json#/$defs/MpzpStatus"
}
},
"type": "object"
},
"type": "array"
},
"share_pct": {
"type": [
"number",
"null"
]
},
"status": {
"$ref": "./envelope.json#/$defs/MpzpStatus"
},
"symbol": {
"description": "Symbol KIMPZP, jeżeli go opublikowano; w przeciwnym razie null z wyjaśnieniem w note.",
"type": [
"string",
"null"
]
}
},
"required": [
"status",
"symbol",
"plans",
"effective_from"
],
"type": "object"
},
"ParcelFeatures": {
"$ref": "./envelope.json#/$defs/ParcelFeatures"
},
"ParcelRecord": {
"properties": {
"adjacent_parcel_ids": {
"$ref": "./envelope.json#/$defs/ParcelRecordV2/properties/adjacent_parcel_ids"
},
"adjacent_parcel_ids_truncated": {
"$ref": "./envelope.json#/$defs/ParcelRecordV2/properties/adjacent_parcel_ids_truncated"
},
"admin": {
"properties": {
"admin_gmina_teryt": {
"description": "Gmina administracyjna (parcel_record.admin_gmina_teryt), której kod przyjmuje /v1/gminy/{teryt}/planning.",
"type": [
"string",
"null"
]
},
"gmina_name": {
"type": "string"
},
"gmina_teryt": {
"description": "Jednostka TERYT w identyfikatorze działki (parcel_record.gmina_teryt).",
"type": "string"
},
"gmina_type": {
"type": [
"string",
"null"
]
},
"number": {
"type": "string"
},
"obreb_id": {
"type": "string"
},
"obreb_name": {
"type": [
"string",
"null"
]
},
"powiat_name": {
"type": "string"
},
"voivodeship": {
"type": "string"
},
"voivodeship_name": {
"type": "string"
}
},
"required": [
"voivodeship",
"gmina_teryt",
"gmina_name",
"obreb_id",
"number"
],
"type": "object"
},
"area": {
"oneOf": [
{
"properties": {
"geometry_m2": {
"type": "number"
},
"official_m2": {
"description": "Powierzchnia deklarowana w EGiB w m², nigdy w hektarach.",
"type": [
"number",
"null"
]
},
"source": {
"$ref": "./envelope.json#/$defs/SourceRef"
}
},
"required": [
"official_m2",
"geometry_m2",
"source"
],
"type": "object"
},
{
"$ref": "./envelope.json#/$defs/AreaV2"
}
]
},
"centroid": {
"$ref": "./envelope.json#/$defs/LonLat"
},
"display_geometry": {
"$ref": "./envelope.json#/$defs/ParcelRecordV2/properties/display_geometry"
},
"display_simplified": {
"$ref": "./envelope.json#/$defs/ParcelRecordV2/properties/display_simplified"
},
"features": {
"$ref": "./envelope.json#/$defs/ParcelFeatures"
},
"geometry": {
"description": "GeoJSON MultiPolygon w układzie WGS84 przy geometry=full.",
"type": [
"object",
"null"
]
},
"id": {
"type": "string"
},
"layers": {
"additionalProperties": {
"$ref": "./envelope.json#/$defs/LayerAnswer"
},
"description": "Jedna odpowiedź LayerAnswer na żądaną kategorię; poniżej schematy value według klucza kategorii.",
"type": "object"
},
"record_as_of": {
"format": "date",
"type": [
"string",
"null"
]
},
"record_hash": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"admin",
"area",
"layers",
"record_hash"
],
"type": "object"
},
"ParcelRecordV2": {
"$ref": "./envelope.json#/$defs/ParcelRecordV2"
},
"ParcelSummary": {
"properties": {
"address": {
"description": "Adres PRG przy wyszukiwaniu według adresu.",
"type": [
"string",
"null"
]
},
"admin_gmina_teryt": {
"description": "Gmina administracyjna (parcel_record.admin_gmina_teryt), której kod przyjmuje /v1/gminy/{teryt}/planning.",
"type": [
"string",
"null"
]
},
"area_official_m2": {
"type": [
"number",
"null"
]
},
"centroid": {
"$ref": "./envelope.json#/$defs/LonLat"
},
"distance_m": {
"type": [
"number",
"null"
]
},
"gmina_name": {
"type": "string"
},
"gmina_teryt": {
"description": "Jednostka TERYT w identyfikatorze działki (parcel_record.gmina_teryt).",
"type": "string"
},
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"obreb_id": {
"type": "string"
},
"obreb_name": {
"type": [
"string",
"null"
]
},
"powiat_name": {
"type": "string"
},
"voivodeship": {
"type": "string"
}
},
"required": [
"id",
"gmina_teryt",
"gmina_name",
"obreb_name",
"number",
"centroid"
],
"type": "object"
},
"PermitsValue": {
"description": "GUNB RWDZ w promieniu 500 m, odpytywany podczas żądania. Nazwy inwestorów nigdy nie są udostępniane.",
"properties": {
"count_500m": {
"type": "integer"
},
"recent": {
"items": {
"properties": {
"decision_date": {
"format": "date",
"type": [
"string",
"null"
]
},
"distance_m": {
"type": "number"
},
"kind": {
"type": "string"
},
"object_category": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"count_500m"
],
"type": "object"
},
"PlaceSuggestion": {
"$ref": "./envelope.json#/$defs/PlaceSuggestion"
},
"PlacesResult": {
"$ref": "./envelope.json#/$defs/PlacesResult"
},
"Plan": {
"$ref": "./envelope.json#/$defs/Plan"
},
"PlanningValue": {
"description": "Informacje planistyczne o działce w jednym żądaniu: odpowiedzi o planie ogólnym, MPZP i WZ (każda jako pełne LayerAnswer z własnym coverage, source i note) oraz stan planowania gminy. Bez stwierdzenia „brak planu” bez wskazania rodzaju planu i źródła.",
"properties": {
"gmina": {
"$ref": "#/components/schemas/GminaPlanning"
},
"mpzp": {
"$ref": "./envelope.json#/$defs/LayerAnswer"
},
"pog": {
"$ref": "./envelope.json#/$defs/LayerAnswer"
},
"wz": {
"$ref": "./envelope.json#/$defs/LayerAnswer"
}
},
"required": [
"pog",
"mpzp",
"wz",
"gmina"
],
"type": "object"
},
"PogValue": {
"description": "Plan ogólny. Projekty są pokazywane i oznaczane jako projekty. covered_no_data oznacza, że źródło obejmuje gminę, ale nie zawiera rekordu planu ogólnego: {status: none, zone_symbol: null, zones: []}.",
"properties": {
"adopted_on": {
"format": "date",
"type": [
"string",
"null"
]
},
"effective_from": {
"description": "Data wejścia planu w życie; null dla draft i none.",
"format": "date",
"type": [
"string",
"null"
]
},
"in_ouz": {
"description": "W granicach obszaru uzupełnienia zabudowy.",
"type": [
"boolean",
"null"
]
},
"plan_id": {
"type": [
"string",
"null"
]
},
"resolution_url": {
"type": [
"string",
"null"
]
},
"status": {
"$ref": "./envelope.json#/$defs/PlanStatus"
},
"zone_name": {
"type": [
"string",
"null"
]
},
"zone_symbol": {
"description": "Dominująca strefa o największym udziale, np. SW, SJ, SN, SR, SI, SH, SU, SK, SC, SG, SO, SP.",
"type": [
"string",
"null"
]
},
"zones": {
"items": {
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"parameters": {
"properties": {
"max_coverage_pct": {
"type": [
"number",
"null"
]
},
"max_height_m": {
"type": [
"number",
"null"
]
},
"max_intensity": {
"type": [
"number",
"null"
]
},
"min_biologically_active_pct": {
"type": [
"number",
"null"
]
},
"min_new_plot_area_m2": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"share_pct": {
"type": "number"
},
"symbol": {
"type": "string"
}
},
"required": [
"symbol",
"share_pct"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"status",
"zone_symbol",
"zones",
"effective_from"
],
"type": "object"
},
"PricesValue": {
"description": "Zbiorcze dane porównawcze RCN. Przy mniej niż 5 transakcjach dane zbiorcze nie są udostępniane, a coverage wynosi covered_no_data.",
"properties": {
"comparables_count": {
"type": "integer"
},
"median_pln_m2": {
"type": [
"number",
"null"
]
},
"p25_pln_m2": {
"type": [
"number",
"null"
]
},
"p75_pln_m2": {
"type": [
"number",
"null"
]
},
"radius_m": {
"type": "integer"
},
"window_months": {
"type": "integer"
}
},
"required": [
"comparables_count"
],
"type": "object"
},
"ProtectedValue": {
"properties": {
"forms": {
"items": {
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"type": {
"description": "Kody form ochrony: park_narodowy, rezerwat, park_krajobrazowy, obszar_chronionego_krajobrazu, natura2000_oso, natura2000_soo, uzytek_ekologiczny, zespol_przyrodniczo_krajobrazowy, stanowisko_dokumentacyjne, pomnik_przyrody.",
"type": "string"
}
},
"required": [
"type",
"name"
],
"type": "object"
},
"type": "array"
},
"inside_any": {
"type": "boolean"
}
},
"required": [
"inside_any",
"forms"
],
"type": "object"
},
"RoadAccessValue": {
"properties": {
"nearest_public_road_m": {
"type": [
"number",
"null"
]
},
"verdict": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
},
"via": {
"enum": [
"adjacent_public_road_parcel",
"bdot_road_within_30m",
null
],
"type": [
"string",
"null"
]
}
},
"required": [
"verdict"
],
"type": "object"
},
"Scope": {
"$ref": "./envelope.json#/$defs/Scope"
},
"SearchRequestV2": {
"$ref": "./envelope.json#/$defs/SearchRequestV2"
},
"SearchResultV2": {
"$ref": "./envelope.json#/$defs/SearchResultV2"
},
"SoilValue": {
"properties": {
"classes": {
"items": {
"properties": {
"share_pct": {
"type": "number"
},
"symbol": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"classes"
],
"type": "object"
},
"Source": {
"properties": {
"approved_at": {
"format": "date",
"type": [
"string",
"null"
]
},
"approved_by": {
"description": "Operator, który zatwierdził źródło; niezależne od aktualności danych.",
"type": [
"string",
"null"
]
},
"as_of": {
"format": "date",
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
},
"band": {
"type": "string"
},
"category": {
"type": "string"
},
"coverage_here": {
"description": "Ustawiane wyłącznie po przekazaniu q|id|point.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "./envelope.json#/$defs/Coverage"
}
]
},
"coverage_pct": {
"type": [
"number",
"null"
]
},
"coverage_unit": {
"type": [
"string",
"null"
]
},
"freshness": {
"enum": [
"fresh",
"stale",
"unknown"
],
"type": "string"
},
"id": {
"type": "string"
},
"last_success_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"layers": {
"items": {
"type": "string"
},
"type": "array"
},
"licence": {
"type": "string"
},
"licence_url": {
"type": [
"string",
"null"
]
},
"publisher": {
"type": "string"
},
"refresh_target": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"title",
"publisher",
"licence",
"attribution",
"as_of",
"freshness"
],
"type": "object"
},
"WatchAttempt": {
"additionalProperties": false,
"properties": {
"attempt": {
"minimum": 1,
"type": "integer"
},
"attempted_at": {
"format": "date-time",
"type": "string"
},
"delivery_id": {
"format": "uuid",
"type": "string"
},
"id": {
"minimum": 1,
"type": "integer"
},
"latency_ms": {
"minimum": 0,
"type": "integer"
},
"outcome": {
"enum": [
"delivered",
"http_failure",
"network_failure",
"blocked_destination",
"response_too_large",
"unsafe_event",
"secret_unavailable",
"expired"
]
},
"status": {
"maximum": 599,
"minimum": 100,
"type": [
"integer",
"null"
]
}
},
"required": [
"id",
"delivery_id",
"attempt",
"attempted_at",
"status",
"latency_ms",
"outcome"
],
"type": "object"
},
"WatchAttemptList": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/WatchAttempt"
},
"maxItems": 100,
"type": "array"
},
"next_cursor": {
"minimum": 1,
"type": [
"integer",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"type": "object"
},
"WatchConfigured": {
"additionalProperties": false,
"allOf": [
{
"required": [
"id",
"items",
"created_at",
"updated_at",
"enabled",
"disabled_reason",
"consecutive_failures",
"secret_version"
]
}
],
"properties": {
"consecutive_failures": {
"minimum": 0,
"type": "integer"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"disabled_reason": {
"enum": [
null,
"unconfigured",
"operator_disabled",
"blocked_destination",
"consecutive_failures"
]
},
"enabled": {
"type": "boolean"
},
"entitlement_paused": {
"description": "Konfiguracja jest zachowana, gdy plan lub członkostwo w zespole nie uprawnia do wysyłki.",
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"items": {
"$ref": "#/components/schemas/WatchWrite/properties/items"
},
"secret": {
"pattern": "^lf_whsec_[A-Za-z0-9_-]{43}$",
"type": "string"
},
"secret_version": {
"minimum": 0,
"type": "integer"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"secret"
],
"type": "object"
},
"WatchDelivery": {
"additionalProperties": false,
"description": "POST z niezmienioną treścią JSON UTF-8. X-Landfeed-Delivery jest stałym identyfikatorem. X-Landfeed-Signature: t=unix_seconds,v1=hex_hmac_sha256(secret, ASCII(timestamp) + dot + raw_body). Zweryfikuj podpis w ciągu 300 sekund, a przed wykonaniem skutków trwale wyklucz ponowne przetworzenie id. Ponowienia zachowują treść i id oraz aktualizują czas podpisu. Zmiana sekretu natychmiast unieważnia poprzedni. Limit połączenia: 3 sekundy, odczytu: 5 sekund, całej odpowiedzi: 10 sekund, nagłówków i treści łącznie: 65 536 bajtów. Ponowienia zaczynają się od 30 sekund, odstęp rośnie wykładniczo do godziny, przez 24 godziny od dodania do kolejki; dziesięć kolejnych niepowodzeń wyłącza subskrypcję. Zablokowany adres wyłącza ją natychmiast. Dzienniki nigdy nie zapisują treści odpowiedzi. Po awarii HTTP może dostarczyć więcej niż raz; dodanie do kolejki następuje dokładnie raz na parę obserwacja/zdarzenie.",
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"notification": {
"$ref": "#/components/schemas/WatchNotification"
},
"subscription_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"id",
"subscription_id",
"created_at",
"notification"
],
"type": "object"
},
"WatchEventType": {
"description": "Można rejestrować tylko rodziny zdarzeń, dla których działają produkcyjne ścieżki zapisu i obsługi. Rodziny EventV2 nie mają jeszcze producenta i zwracają event_type_has_no_producer. Zaufane adaptery o określonych typach nie oznaczają obsługi produkcyjnej.",
"enum": [
"pog.changed",
"wz.changed",
"mpzp.changed",
"flood.changed",
"landslide.changed",
"protected.changed",
"buildings.changed"
],
"type": "string"
},
"WatchItem": {
"additionalProperties": false,
"oneOf": [
{
"required": [
"parcel_id"
]
},
{
"required": [
"gmina_teryt"
]
},
{
"required": [
"polygon"
]
}
],
"properties": {
"gmina_teryt": {
"pattern": "^[0-9]{6}[123]$",
"type": "string"
},
"parcel_id": {
"$ref": "./envelope.json#/$defs/ParcelId"
},
"polygon": {
"$ref": "./envelope.json#/$defs/SearchPolygon"
},
"types": {
"items": {
"$ref": "#/components/schemas/WatchEventType"
},
"maxItems": 32,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"types"
],
"type": "object"
},
"WatchLayerEvidence": {
"additionalProperties": false,
"allOf": [
{
"$ref": "./envelope.json#/$defs/LayerAnswer"
}
],
"description": "Historyczny zakres danych potwierdza zapisany skrót coverage/value, a daty źródeł potwierdza zapis wersji. Pierwotna treść uwagi i podstawa są niedostępne i wyraźnie oznaczone jako nieznane. Brak dowodów wstrzymuje powiadomienie; bieżące metadane źródła nigdy nie zastępują historycznych dat.",
"properties": {
"as_of": {
"format": "date",
"type": [
"string",
"null"
]
},
"coverage": {
"$ref": "./envelope.json#/$defs/Coverage"
},
"hash": {
"pattern": "^[0-9a-f]{64}$",
"type": "string"
},
"layer": {
"enum": [
"pog",
"wz",
"mpzp",
"flood",
"landslide",
"protected",
"buildings"
],
"type": "string"
},
"layer_version": {
"minLength": 1,
"type": "string"
},
"note": {
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"source": {
"$ref": "./envelope.json#/$defs/SourceRef"
},
"value": {}
},
"required": [
"layer",
"coverage",
"value",
"source",
"as_of",
"layer_version",
"hash",
"note"
],
"type": "object"
},
"WatchLegacyEvent": {
"additionalProperties": false,
"description": "Zapisana różnica z wcześniejszych obliczeń. Typ jest zachowany; nie wnioskuje się o uchwaleniu, statusie prawnym ani dacie zdarzenia. Dopuszczalne są tylko zwalidowane wartości kategorii; dotychczasowe pojedyncze sprzedaże są pomijane. Starsze identyfikatory źródeł muszą należeć do zapisanej macierzy zaakceptowanej przez operatora i mieć prawidłowy stan w v_sources. Obecny zapis WZ korzysta z gmina_planning_status i zachowuje to pochodzenie. EventV2 zachowuje dodatkowo wymagania dotyczące sprawdzonej licencji.",
"properties": {
"after": {},
"after_evidence": {
"$ref": "#/components/schemas/WatchLayerEvidence"
},
"as_of": {
"format": "date",
"type": [
"string",
"null"
]
},
"before": {},
"before_evidence": {
"$ref": "#/components/schemas/WatchLayerEvidence"
},
"detected_at": {
"format": "date-time",
"type": "string"
},
"event": {
"enum": [
"pog.changed",
"wz.changed",
"mpzp.changed",
"flood.changed",
"landslide.changed",
"protected.changed",
"buildings.changed"
],
"type": "string"
},
"from_version": {
"type": [
"string",
"null"
]
},
"id": {
"pattern": "^parcel_events:[0-9]+$",
"type": "string"
},
"layer": {
"enum": [
"pog",
"wz",
"mpzp",
"flood",
"landslide",
"protected",
"buildings"
],
"type": "string"
},
"parcel_id": {
"$ref": "./envelope.json#/$defs/ParcelId"
},
"source": {
"$ref": "./envelope.json#/$defs/SourceRef"
},
"to_version": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"event",
"parcel_id",
"layer",
"before",
"after",
"before_evidence",
"after_evidence",
"from_version",
"to_version",
"detected_at",
"source",
"as_of"
],
"type": "object"
},
"WatchList": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/WatchRecord"
},
"maxItems": 100,
"type": "array"
},
"next_cursor": {
"format": "uuid",
"type": [
"string",
"null"
]
}
},
"required": [
"items",
"next_cursor"
],
"type": "object"
},
"WatchMpzpPlanMetadata": {
"description": "Sprawdzone metadane zwracane przez precompute.run.compile_answer, obok dotychczasowych otwartych pól planu MpzpValue.",
"properties": {
"share_pct": {
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"WatchNotification": {
"additionalProperties": false,
"description": "Zachowaj typ zdarzenia i uwagę o korekcie lub regule. Zapisana różnica nigdy nie staje się dowodem zmiany w rzeczywistości. Dopuszczalne są tylko źródła zatwierdzone przez operatora; wspólne listy zakazów dotyczących prywatności i ogłoszeń obowiązują przed zapisem i ponownie przed wysyłką.",
"properties": {
"classification": {
"enum": [
"observation_change",
"source_correction",
"source_refresh"
],
"type": "string"
},
"event": {
"anyOf": [
{
"$ref": "#/components/schemas/WatchLegacyEvent"
},
{
"$ref": "./envelope.json#/$defs/EventV2"
}
]
},
"note": {
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"rule_version": {
"type": [
"string",
"null"
]
}
},
"required": [
"event",
"classification",
"note",
"rule_version"
],
"type": "object"
},
"WatchPogZoneMetadata": {
"description": "Sprawdzone metadane zwracane przez precompute.model.pog_value, obok dotychczasowych otwartych pól strefy PogValue.",
"properties": {
"designation": {
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"WatchRecord": {
"additionalProperties": false,
"properties": {
"consecutive_failures": {
"minimum": 0,
"type": "integer"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"disabled_reason": {
"enum": [
null,
"unconfigured",
"operator_disabled",
"blocked_destination",
"consecutive_failures"
]
},
"enabled": {
"type": "boolean"
},
"entitlement_paused": {
"description": "Konfiguracja jest zachowana, gdy plan lub członkostwo w zespole nie uprawnia do wysyłki.",
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"items": {
"$ref": "#/components/schemas/WatchWrite/properties/items"
},
"secret_version": {
"minimum": 0,
"type": "integer"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"id",
"items",
"created_at",
"updated_at",
"enabled",
"disabled_reason",
"consecutive_failures",
"secret_version"
],
"type": "object"
},
"WatchResponse": {
"additionalProperties": false,
"description": "Format zarządzania kontem; zapytanie i rozpoznawanie nie mają zastosowania. Koszty są wartościami zastępczymi do decyzji operatora. Cache-Control: private, max-age=0, must-revalidate. Bez zastępczego przypisywania konta według klucza statycznego.",
"properties": {
"billing": {
"additionalProperties": false,
"properties": {
"charged": {
"const": 0
},
"cost": {
"const": 0
},
"refunded": {
"const": 0
},
"rule": {
"const": "free_watch"
}
},
"required": [
"cost",
"charged",
"refunded",
"rule"
],
"type": "object"
},
"error": {
"type": [
"string",
"null"
]
},
"result": {
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/WatchRecord"
},
{
"$ref": "#/components/schemas/WatchConfigured"
},
{
"$ref": "#/components/schemas/WatchList"
},
{
"$ref": "#/components/schemas/WatchAttemptList"
}
]
},
"status": {
"enum": [
"ok",
"error"
],
"type": "string"
}
},
"required": [
"status",
"result",
"error",
"billing"
],
"type": "object"
},
"WatchWebhookWrite": {
"additionalProperties": false,
"description": "Wyłącznie HTTPS na porcie 443, bez danych użytkownika w adresie, fragmentów, znaków sterujących oraz prywatnych lub niepublicznych odpowiedzi DNS. Zdekodowane pola zapytania, także powtórzone i puste, muszą przejść kontrolę prywatności kontraktu i wspólne listy zakazów usuwania danych podczas obsługi. Odrzucenie następuje przed zapisem, a kontrola jest powtarzana przy każdej próbie; połączenie jest przypięte do dopuszczonej odpowiedzi DNS. Awaria rozpoznawania adresów powoduje ponowienie, niebezpieczny adres blokadę. TLS weryfikuje pierwotną nazwę hosta. Bez przekierowań i pośredników z konfiguracji środowiska.",
"properties": {
"enabled": {
"default": true,
"type": "boolean"
},
"url": {
"format": "uri",
"maxLength": 2048,
"pattern": "^https://",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"WatchWrite": {
"additionalProperties": false,
"description": "Kontrola dopuszczenia poprzedza parsowanie i walidację poza głównym wątkiem. Treść do 256 KiB; łącznie do 100 elementów i 1 024 wierzchołków wielokątów na żądanie. Przekroczenie limitu pracy walidatora zwraca validation_work_limit (413).",
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/WatchItem"
},
"maxItems": 100,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"items"
],
"type": "object"
},
"WzValue": {
"description": "Wynik własnych obliczeń: czy w dniu zapytania można wydać decyzję WZ dla działki. basis wskazuje przepis.",
"properties": {
"possible": {
"type": [
"boolean",
"null"
]
},
"reason": {
"type": "string"
}
},
"required": [
"possible"
],
"type": "object"
}
}