landfeedAPI · MCP · 2.0.0Agent Markdown

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"
  }
}