{
    "openapi": "3.1.0",
    "info": {
        "title": "GetApi",
        "version": "0.0.1",
        "description": "## Authentication\n\nAll API endpoints require authentication. Include your API key in every request using **one** of the following methods:\n\n**Option 1 \u2014 X-Api-Key header (recommended)**\n```\nX-Api-Key: ga_live_xxxxxxxxxxxxxxxxxxxx\n```\n\n**Option 2 \u2014 Bearer token**\n```\nAuthorization: Bearer ga_live_xxxxxxxxxxxxxxxxxxxx\n```\n\nYou can generate and manage API keys in your [dashboard](https://getapi.nl/dashboard).\n\n## AI & Agent Payments (x402)\n\nSome endpoints support direct payments for AI agents via the **x402** protocol (https://www.x402.org).\nNo API key or account is needed. Send a normal request without key;\nthe server will respond with **HTTP 402** and a `PAYMENT-REQUIRED` header:\n\n```\nPAYMENT-REQUIRED: <base64 JSON PaymentRequirements>\n```\n\nThis base64 string contains, among other things, `network`, `asset`, `amount`, and `payTo`. \nYour agent signs an EIP-3009 *transferWithAuthorization* for the specified `amount` of USDC to that `payTo` address, \nencodes the signature as base64, and resubmits the request with:\n\n```\nPAYMENT-SIGNATURE: <base64 SignedAuthorization>\n```\n\nThe server verifies the signature via a facilitator, provides the data, and settles the payment on-chain. \nThe success response includes a `PAYMENT-RESPONSE` header containing the transaction information. \nA one-time `nonce` prevents replay attacks. Payments are made in USDC on **Base**; \nthe price is determined by the `credit_cost` of the endpoint.",
        "contact": {
            "email": "info@wdnoord.nl"
        },
        "x-guidance": "GetAPI.nl is een Nederlandse API-platform voor lookups en validaties (postcode,\nadres, kenteken, BTW, e-mail, KVK, IBAN, energiemaatwerk, overheidsdata). Elke\nendpoint accepteert een API key via de X-Api-Key header of Authorization:\nBearer <key>.\n\nSommige endpoints zijn ook direct betaalbaar voor AI-agents via het x402-protocol\n(https://www.x402.org) zonder account of API key: stuur een verzoek zonder key,\nde server antwoordt met HTTP 402 en een PAYMENT-REQUIRED header (base64 JSON met\nnetwork, asset, amount, payTo). Teken daarna een EIP-3009 transferWithAuthorization\nvoor het gevraagde bedrag in USDC op Base en hertrail met een PAYMENT-SIGNATURE\nheader. De server verifieert, levert de data en settleert on-chain.\n\nTips voor agents:\n- Lees eerst de PAYMENT-REQUIRED header van een 402-antwoord; die is leidend.\n- Geef altijd de exact door de server gevraagde parameters mee.\n- Een endpoint met een \"x-payment-info\" blok vereist betaling voor gebruik."
    },
    "servers": [
        {
            "url": "https://api.getapi.nl",
            "description": "GetAPI"
        }
    ],
    "security": [
        {
            "ApiKeyAuth": []
        },
        {
            "BearerAuth": []
        },
        {
            "ApiKeyAuth": []
        },
        {
            "BearerAuth": []
        }
    ],
    "paths": {
        "/v1/property/woz-waarde": {
            "get": {
                "operationId": "property.woz-waarde",
                "description": "Returns the Dutch government property assessment value (WOZ-waarde) for a property,\nincluding the historical values of the last three years. Alongside the value, the\nground area of the WOZ object (grondoppervlakte) and the linked cadastral parcel\n(kadastrale gemeente code, sectie and perceelnummer) are returned.\nThe endpoint accepts either a BAG nummeraanduiding identificatie directly, or a\nDutch address (postcode + house number, optionally with a house letter or number\naddition).\n\nWhen an address is supplied, the BAG (PDOK Locatieserver) is queried first to resolve\nthe nummeraanduiding identifier, after which the Kadaster WOZ Waardeloket is queried.\nWhen a nummeraanduiding ID is supplied directly, only the WOZ Waardeloket call is made.\n\nResults are cached for 30 days. The upstream timeout is 8 seconds; if Kadaster is\nunavailable the endpoint returns HTTP 503.\nSource: [Kadaster WOZ Waardeloket](https://www.kadaster.nl/zakelijk/woz-waardeloket)",
                "summary": "WOZ-value lookup (WOZ-waarde)",
                "tags": [
                    "Property data",
                    "WozWaarde"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "pattern": "^[0-9]{16}$"
                        }
                    },
                    {
                        "name": "postcode",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "pattern": "^[1-9][0-9]{3}\\s?[A-Za-z]{2}$"
                        }
                    },
                    {
                        "name": "house_number",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 99999
                        }
                    },
                    {
                        "name": "house_letter",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "pattern": "^[a-zA-Z]{1}$"
                        }
                    },
                    {
                        "name": "house_number_addition",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "pattern": "^[a-zA-Z0-9]{1,4}$",
                            "maxLength": 4
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "WOZ value found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "found": true,
                                            "address": {
                                                "bag_nummeraanduiding_id": "0363200000218908",
                                                "verblijfsobject_id": "0363010000218908",
                                                "openbareruimte_id": "0363300000006316",
                                                "street": "Damrak",
                                                "house_number": 1,
                                                "postcode": "1012LG",
                                                "city": "Amsterdam",
                                                "municipality": "Amsterdam",
                                                "lat": 52.3745,
                                                "lon": 4.8986
                                            },
                                            "property_value": {
                                                "amount": 475000,
                                                "reference_date": "2024-01-01",
                                                "history": [
                                                    {
                                                        "amount": 450000,
                                                        "reference_date": "2023-01-01"
                                                    },
                                                    {
                                                        "amount": 425000,
                                                        "reference_date": "2022-01-01"
                                                    },
                                                    {
                                                        "amount": 400000,
                                                        "reference_date": "2021-01-01"
                                                    }
                                                ]
                                            },
                                            "grondoppervlakte": 96,
                                            "kadastrale_gemeente_code": "ASD37",
                                            "kadastrale_sectie": "M",
                                            "kadastraal_perceel_nummer": "4321"
                                        }
                                    ],
                                    "properties": {
                                        "found": {
                                            "type": "boolean"
                                        },
                                        "address": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "bag_nummeraanduiding_id": {
                                                    "type": "string"
                                                },
                                                "verblijfsobject_id": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "openbareruimte_id": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "street": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "house_number": {
                                                    "type": "integer"
                                                },
                                                "postcode": {
                                                    "type": "string"
                                                },
                                                "city": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "municipality": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "lat": {
                                                    "type": [
                                                        "number",
                                                        "null"
                                                    ]
                                                },
                                                "lon": {
                                                    "type": [
                                                        "number",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "bag_nummeraanduiding_id",
                                                "verblijfsobject_id",
                                                "openbareruimte_id",
                                                "street",
                                                "house_number",
                                                "postcode",
                                                "city",
                                                "municipality",
                                                "lat",
                                                "lon"
                                            ]
                                        },
                                        "property_value": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "amount": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                },
                                                "reference_date": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "history": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "amount": {
                                                                "type": [
                                                                    "integer",
                                                                    "null"
                                                                ]
                                                            },
                                                            "reference_date": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "amount",
                                                            "reference_date"
                                                        ]
                                                    }
                                                }
                                            },
                                            "required": [
                                                "amount",
                                                "reference_date",
                                                "history"
                                            ]
                                        },
                                        "grondoppervlakte": {
                                            "type": [
                                                "integer",
                                                "null"
                                            ]
                                        },
                                        "kadastrale_gemeente_code": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "kadastrale_sectie": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "kadastraal_perceel_nummer": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "found",
                                        "property_value"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "404": {
                        "description": "Property not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "found": false,
                                            "property_value": null
                                        }
                                    ],
                                    "properties": {
                                        "found": {
                                            "type": "boolean"
                                        },
                                        "property_value": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "found",
                                        "property_value"
                                    ]
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Upstream source unavailable or timed out (8 s)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "found": false,
                                            "property_value": null
                                        }
                                    ],
                                    "properties": {
                                        "found": {
                                            "type": "boolean"
                                        },
                                        "property_value": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "found",
                                        "property_value"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKeyAuth": {
                "type": "apiKey",
                "in": "header",
                "name": "X-Api-Key"
            },
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            }
        }
    }
}