{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/heimster-ch/json-schema/heimster-ch-post-api-v1-objects-request-schema.json",
  "title": "PostApiV1ObjectsRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/heimster-ch-openapi-generated.yml#/components/schemas/PostApiV1ObjectsRequest",
  "type": "object",
  "properties": {
    "propertyType": {
      "type": "string",
      "description": "apartment, house, commercial, parking, land or room."
    },
    "intendedUse": {
      "type": "string",
      "description": "rent or sale."
    },
    "street": {
      "type": "string",
      "description": "Street and number."
    },
    "postalCode": {
      "type": "string",
      "description": "Postal code."
    },
    "city": {
      "type": "string",
      "description": "City."
    },
    "canton": {
      "type": "string",
      "description": "Canton code, e.g. ZH."
    },
    "rooms": {
      "type": "number",
      "description": "Rooms, e.g. 4.5."
    },
    "livingSpaceSqm": {
      "type": "number",
      "description": "Living area in m²."
    },
    "price": {
      "type": "integer",
      "description": "CHF; sale price or monthly rent."
    },
    "yearBuilt": {
      "type": "integer"
    },
    "floorNumber": {
      "type": "integer",
      "description": "Floor (0 = ground floor)."
    },
    "plotSqm": {
      "type": "number",
      "description": "Plot area in m²."
    },
    "title": {
      "type": "string",
      "description": "Marketing title."
    },
    "description": {
      "type": "string",
      "description": "Marketing description."
    },
    "notes": {
      "type": "string",
      "description": "Internal notes."
    },
    "internalReference": {
      "type": "string",
      "description": "Your own reference number."
    }
  },
  "required": [
    "propertyType",
    "intendedUse",
    "street",
    "postalCode",
    "city"
  ]
}