{"openapi":"3.1.0","info":{"title":"EU SME VAT Exemption Check API","version":"0.1.0","description":"EU SME VAT Exemption Check applies the rules of Directive (EU) 2020/285 (the SME special scheme, applicable from 1 January 2025) to turnover figures the owner supplies: whether EU-wide turnover stayed within EUR 100,000 in both the current and the previous calendar year (the cross-border exemption), whether turnover in one Member State is within that state's own threshold (which the Member State...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://eu-sme-vat-check.connectorbay.com/mcp.\n\nDisclaimer: General information only, not legal, tax, accounting or payment advice. EU SME VAT Exemption Check is an independent tool: it is not affiliated with, endorsed by or operated by any government body, central bank, standards body or scheme operator. Rates, thresholds and rules change; check the cited official source and confirm with a qualified professional before you rely on a result.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/eu-sme-vat-check/docs"},"termsOfService":"https://connectorbay.com/eu-sme-vat-check/terms"},"servers":[{"url":"https://eu-sme-vat-check.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/eu-sme-vat-check/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/check_cross_border_eligibility":{"post":{"operationId":"check_cross_border_eligibility","summary":"Test EU-wide turnover of the current and the previous calendar year against the EUR 100,000 ceiling of the cross-border ","description":"Test EU-wide turnover of the current and the previous calendar year against the EUR 100,000 ceiling of the cross-border SME exemption. Use for \"My EU-wide turnover was EUR 78,000 last year and is EUR 61,000 so far this year: do I stay under the EUR 100,000 ceiling?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"union_turnover_current_year_eur":{"description":"EU-wide (all 27 Member States) turnover so far in the current calendar year. Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"Union Turnover Current Year Eur","type":"string"},"union_turnover_previous_year_eur":{"description":"EU-wide turnover of the previous calendar year. Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"Union Turnover Previous Year Eur","type":"string"},"warn_at_percent":{"default":"80","description":"Heads-up level as a percentage of the ceiling (a connector convention, not a legal rule). Default 80","title":"Warn At Percent","type":"string"}},"required":["union_turnover_current_year_eur","union_turnover_previous_year_eur"],"title":"check_cross_border_eligibilityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/check_domestic_threshold":{"post":{"operationId":"check_domestic_threshold","summary":"Compare turnover in one Member State with that state's exemption threshold (supplied by the caller, maximum EUR 85,000) ","description":"Compare turnover in one Member State with that state's exemption threshold (supplied by the caller, maximum EUR 85,000) and apply the 10% in-year tolerance and the previous-year rule. Use for \"My domestic turnover is EUR 47,000 this year against a national threshold of EUR 45,000: what does the Directive say?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"turnover_current_year_eur":{"description":"Turnover attributable to supplies in that Member State in the current calendar year. Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"Turnover Current Year Eur","type":"string"},"national_threshold_eur":{"description":"The exemption threshold that Member State applies, in EUR (or the EUR value of the national-currency threshold). Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"National Threshold Eur","type":"string"},"turnover_previous_year_eur":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Turnover in that Member State in the previous calendar year, if known. Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"Turnover Previous Year Eur"}},"required":["turnover_current_year_eur","national_threshold_eur"],"title":"check_domestic_thresholdArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/project_threshold_crossing":{"post":{"operationId":"project_threshold_crossing","summary":"Linear projection of the date on which year-to-date turnover crosses a threshold (default the EUR 100,000 EU-wide ceilin","description":"Linear projection of the date on which year-to-date turnover crosses a threshold (default the EUR 100,000 EU-wide ceiling). Use for \"I have EUR 52,000 turnover by 30 June: when will I pass EUR 100,000 at this pace?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ytd_turnover_eur":{"description":"Turnover since 1 January of the year of as_of_date. Turnover in EUR, excluding VAT, as a plain decimal string with a dot and no thousands separator","title":"Ytd Turnover Eur","type":"string"},"as_of_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Date the year-to-date figure runs to, YYYY-MM-DD. Defaults to today","title":"As Of Date"},"threshold_eur":{"default":"100000","description":"Threshold to project against, in EUR. Default 100000 (the EU-wide ceiling)","title":"Threshold Eur","type":"string"}},"required":["ytd_turnover_eur"],"title":"project_threshold_crossingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/explain_ex_number":{"post":{"operationId":"explain_ex_number","summary":"What the single EX identification number is, where it is issued and the prior notification required. Use for \"How do I g","description":"What the single EX identification number is, where it is issued and the prior notification required. Use for \"How do I get the EX number for the SME exemption in other EU countries?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"explain_ex_numberArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/quarterly_report_checklist":{"post":{"operationId":"quarterly_report_checklist","summary":"What the single quarterly report must show and its timing, with the quarter-end dates of a year. Use for \"What must the ","description":"What the single quarterly report must show and its timing, with the quarter-end dates of a year. Use for \"What must the SME scheme quarterly report contain and when is it due?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"anyOf":[{"maximum":2100,"minimum":2025,"type":"integer"},{"type":"null"}],"default":null,"description":"Calendar year for the quarter-end dates, 2025 or later. Defaults to the current year","title":"Year"}},"title":"quarterly_report_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/scheme_rules_summary":{"post":{"operationId":"scheme_rules_summary","summary":"The verified rule summary of the EU SME VAT exemption scheme with article references, sources and what is not covered. U","description":"The verified rule summary of the EU SME VAT exemption scheme with article references, sources and what is not covered. Use for \"Summarise the EU SME VAT exemption rules and tell me what you could not verify.\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"scheme_rules_summaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}