{
    "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/validate/vat": {
            "post": {
                "operationId": "validation.vat",
                "description": "Validates a European VAT number via the official VIES system of the European Commission.\nThe country code must be the first two characters of the VAT number (e.g. `NL820646660B01`).\nSupported countries: all 27 EU member states + Northern Ireland (XI).\nWhen a member state provides it, the response includes the company name and address.\n\nWe use caching to mitigate VIES rate limits: valid numbers are cached for 24 hours, invalid numbers for 1 hour. When a member state is temporarily unavailable, we return a 503 status with an appropriate error message.",
                "summary": "Validate an EU VAT number (VIES)",
                "tags": [
                    "BTW / VAT Validation",
                    "Vat"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "vat_number": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{2}[A-Z0-9+*]{2,13}$",
                                        "minLength": 4,
                                        "maxLength": 15
                                    }
                                },
                                "required": [
                                    "vat_number"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "VAT number is valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "valid": true,
                                            "vat_number": "NL820646660B01",
                                            "country_code": "NL",
                                            "request_date": "2026-03-20T18:25:46.822Z",
                                            "company": {
                                                "name": "ABN AMRO BANK N.V.",
                                                "address": "GUSTAV MAHLERLAAN 00010\n1082PP AMSTERDAM"
                                            },
                                            "error": null,
                                            "message": "BTW-nummer is geldig."
                                        }
                                    ],
                                    "properties": {
                                        "valid": {
                                            "type": "boolean"
                                        },
                                        "vat_number": {
                                            "type": "string"
                                        },
                                        "country_code": {
                                            "type": "string"
                                        },
                                        "request_date": {
                                            "type": "string"
                                        },
                                        "company": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "address": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "name",
                                                "address"
                                            ]
                                        },
                                        "error": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "valid",
                                        "vat_number",
                                        "country_code",
                                        "request_date",
                                        "company",
                                        "error",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "VAT number is invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "valid": false,
                                            "vat_number": "NL123456789B01",
                                            "country_code": "NL",
                                            "request_date": "2026-03-20T18:19:57.809Z",
                                            "company": null,
                                            "error": null,
                                            "message": "BTW-nummer is ongeldig of niet geregistreerd."
                                        }
                                    ],
                                    "properties": {
                                        "valid": {
                                            "type": [
                                                "boolean",
                                                "null"
                                            ]
                                        },
                                        "vat_number": {
                                            "type": "string"
                                        },
                                        "country_code": {
                                            "type": "string"
                                        },
                                        "request_date": {
                                            "type": "string"
                                        },
                                        "company": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "address": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "name",
                                                "address"
                                            ]
                                        },
                                        "error": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "valid",
                                        "vat_number",
                                        "country_code",
                                        "request_date",
                                        "company",
                                        "error",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Member state temporarily unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "valid": null,
                                            "vat_number": "NL820646660B01",
                                            "country_code": "NL",
                                            "request_date": "2026-03-20T18:25:46.822Z",
                                            "company": null,
                                            "error": "ms_unavailable",
                                            "message": "The requested member state is temporarily unavailable via VIES."
                                        }
                                    ],
                                    "properties": {
                                        "valid": {
                                            "type": [
                                                "boolean",
                                                "null"
                                            ]
                                        },
                                        "vat_number": {
                                            "type": "string"
                                        },
                                        "country_code": {
                                            "type": "string"
                                        },
                                        "request_date": {
                                            "type": "string"
                                        },
                                        "company": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "name": {
                                                    "type": "string"
                                                },
                                                "address": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "name",
                                                "address"
                                            ]
                                        },
                                        "error": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "valid",
                                        "vat_number",
                                        "country_code",
                                        "request_date",
                                        "company",
                                        "error",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "402": {
                        "description": "Payment Required"
                    }
                },
                "x-payment-info": {
                    "price": {
                        "mode": "fixed",
                        "currency": "USD",
                        "amount": "0.010000"
                    },
                    "protocols": [
                        {
                            "x402": {}
                        }
                    ]
                },
                "parameters": []
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKeyAuth": {
                "type": "apiKey",
                "in": "header",
                "name": "X-Api-Key"
            },
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer"
            }
        }
    }
}