{"id":499141,"name":"Co-Legal Assistant","description":"Co-Legal Assistant — an AI assistant for informational Q&A about Belgian and Dutch private-client legal and fiscal topics (inheritance & gift tax, company law, VAT, succession planning, case-law & statute lookups), plus Belgian notarial preparation checklists. Informational only; does not provide specific legal advice. Operated by Co-Legal B.V. from the Netherlands.","card_url":"https://co-legal.be/.well-known/agent-card.json","endpoint":"https://agent.co-legal.be/a2a/jsonrpc","protocol_version":"1.0","first_seen":"2026-10-28T15:29:07.054023+00:00","last_verified":"2026-10-28T15:29:07.054023+00:00","card":{"name":"Co-Legal Assistant","skills":[{"id":"answer_legal_question","name":"Answer Belgian/Dutch private-client legal/fiscal question","tags":["read","domain:legal","domain:fiscal","domain:company-law","domain:incorporation","jurisdiction:BE","jurisdiction:vlaams-gewest","jurisdiction:NL"],"examples":["Wat neem ik mee naar de Belgische notaris voor een zorgvolmacht?","Welke stukken verzamel ik voor een verkoop in Brussel?","Wat is de erfbelasting voor kinderen in Vlaanderen?","Welk minimumkapitaal heeft een BV onder de WVV?","Welke governance-regels gelden voor een kleine BV onder het WVV?","Wanneer is btw-registratie verplicht voor een pas opgerichte BV?","Welke roerende voorheffing geldt op dividenden van een BV, en wat is VVPRbis?","Hoe wordt een BV-aandeel belast in de Vlaamse erfbelasting bij overlijden?","How does the VLABEL advance-ruling procedure work for a Belgian BV?","Hoe werkt de Nederlandse erfbelasting (Successiewet)?","Welk artikel regelt vruchtgebruik in het Nederlandse BW?"],"inputModes":["text/plain"],"description":"Take a natural-language question in Dutch, French, or English about Belgian or Dutch private-client topics (inheritance & gift tax, company law, VAT, succession) and return an informational answer with references to public sources — Belgium: VCF, WIB92, WVV, BW, Belgisch Staatsblad; Netherlands: Successiewet, Wet IB 2001, Burgerlijk Wetboek, wetten.overheid.nl. Handles multi-topic research briefs, e.g. setting up a Belgian BV/SRL: governance under the WVV, capital and contributions in cash or in kind, VAT registration, dividend withholding tax, and inheritance tax on shares when a shareholder dies. Always includes a 'not legal advice' disclaimer. Does not give specific dossier-bound recommendations. **Open to anonymous callers**, throttled per IP (per minute / hour / day). An `x-api-key` lifts the quota for higher-volume integrators.","outputModes":["text/plain"],"securityRequirements":[{},{"schemes":{"apiKeyAuth":{"list":[]}}}]},{"id":"be.ecli.lookup","name":"Belgian ECLI case-law resolver","tags":["read","domain:legal","jurisdiction:BE","source:public"],"examples":["Wat is ECLI:BE:CASS:2020:ARR.20200305.1F.4?","Geef de zoeklink voor ECLI:BE:GHCC:2021:ARR.044.","Welk hof zit achter ECLI:BE:RVS:2019:ARR.245.123?"],"inputModes":["text/plain","application/json"],"description":"Parse a Belgian ECLI (European Case Law Identifier) and return canonical public lookup URLs on the EU e-Justice portal and on Juportal, plus the decoded court / year / serial metadata. Covers Court of Cassation, Constitutional Court, Council of State, immigration courts, and courts of appeal.","outputModes":["text/plain","application/json"]},{"id":"eu.eurlex.lookup","name":"EU CELEX (EUR-Lex) resolver","tags":["read","domain:legal","jurisdiction:EU","source:public"],"examples":["Geef de EUR-Lex link voor de GDPR (CELEX 32016R0679).","Wat is 32024R1689?","Decode CELEX:62019CJ0311."],"inputModes":["text/plain","application/json"],"description":"Parse a CELEX number (the canonical EUR-Lex identifier) and return the official EUR-Lex landing page URL plus decoded sector / year / document-type / number metadata. Covers EU legislation, CJEU case-law and treaties.","outputModes":["text/plain","application/json"]},{"id":"be.legal.corpus.search","name":"Belgian & EU public legal-corpus search","tags":["read","rag","domain:legal","domain:fiscal","jurisdiction:BE","jurisdiction:EU","source:public"],"examples":["Zoek rechtspraak over vruchtgebruik bij schenking met voorbehoud.","Welke VLABEL-rulings gaan over de gesplitste aankoop van vastgoed?","Find Belgian legislation on the reserved portion of an estate."],"inputModes":["text/plain","application/json"],"description":"Semantic search over the indexed corpus of PUBLIC Belgian and EU legal sources — Belgian Official Gazette, Justel consolidated legislation, Juportal and Constitutional Court case law, the Flemish Codex, Flemish (VLABEL) and federal advance tax rulings, FPS Finance circulars, and EUR-Lex. Returns ranked passages with source, date, URL and a document_id for bounded, paginated retrieval. Public sources only: no client files, no case data, no licensed doctrine databases. Company data is not in this corpus: use `be.kbo.lookup`.","outputModes":["text/plain","application/json"]},{"id":"be.legal.corpus.read","name":"Read a page of a public legal source","tags":["read","rag","domain:legal","jurisdiction:BE","jurisdiction:EU","source:public"],"examples":["Lees de eerste pagina van het arrest dat je net vond.","Continue reading that VLABEL ruling with its next_cursor."],"inputModes":["text/plain","application/json"],"description":"Retrieve one page of a public legal source document from the indexed corpus, by the document_id returned by `be.legal.corpus.search`. Follow next_cursor on the same corpus version until it is null to read a long source without silent truncation. Use it to ground a citation on the actual wording instead of on a search excerpt.","outputModes":["text/plain","application/json"]},{"id":"be.legal.lookup","name":"Belgian statute (Justel) resolver","tags":["read","domain:legal","jurisdiction:BE","source:public"],"examples":["Waar staat art. 4.71 BW?","Geef de Justel-link voor WIB92 art. 192.","Wat is de canonical-URL voor VCF 2.7.4.1.1?"],"inputModes":["text/plain","application/json"],"description":"Resolve a Belgian statute reference (code + optional article) to the canonical Justel source URL on ejustice.just.fgov.be. Article-level links for BW, WVV, VCF, WER, Sw and Ger.W (routed to the Justel dossier that actually contains the article). WIB92 and WBTW resolve to an overview page only — Justel publishes no article-level consolidation for them, and we do not invent a link.","outputModes":["text/plain","application/json"]},{"id":"legal.citation.verify","name":"Legal citation verifier","tags":["read","verification","anti-hallucination","domain:legal","jurisdiction:BE","jurisdiction:EU","source:public"],"examples":["Bestaat ECLI:BE:CASS:2020:ARR.20200305.1F.4 echt?","Verify CELEX 32016R0679.","Klopt de verwijzing naar art. 4.71 BW?"],"inputModes":["text/plain","application/json"],"description":"Verify that a legal citation is real. Accepts a Belgian/EU ECLI, an EUR-Lex CELEX number, a Belgian statute article (e.g. 'art. 4.71 BW') or a Flemish tax ruling number ('VB 25117'). Returns a verdict — verified / resolvable / malformed / unsupported — the canonical source URL, and, when we hold it, the matching document from the indexed public corpus. Built for agents that want to CHECK a citation before repeating it: fabricated citations are the sharpest failure mode in legal AI. It never claims a citation does not exist — absence from our index is not evidence of absence.","outputModes":["text/plain","application/json"]},{"id":"co-legal.document.draft","name":"Draft a concept document (DOCX)","tags":["read","domain:legal","jurisdiction:BE","jurisdiction:NL","produces:document","output:docx"],"examples":["Stel een model-ingebrekestelling op voor een onbetaalde factuur","Maak een concept geheimhoudingsovereenkomst (NDA) in het Nederlands","Schrijf een modelbrief om een overeenkomst op te zeggen"],"inputModes":["text/plain","application/json"],"description":"Draft a CONCEPT document (letter, model clauses, simple agreement, notice of default) and return it as a Word .docx file attached to the response as an A2A FilePart artifact. Provide a `title` and the content in `body_markdown` (a small markdown subset: `#`/`##` headings, paragraphs, `- ` bullets, `**bold**`). Stateless and isolated — no dossier, no storage, no advice; a mandatory 'concept, have a lawyer review' disclaimer is always appended.","outputModes":["text/plain","application/json","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]},{"id":"ecb.rates","name":"ECB euro reference exchange rate","tags":["read","domain:finance","jurisdiction:EU","source:public"],"examples":["Wat is de ECB-koers EUR naar USD?","1 EUR in CHF volgens de ECB"],"inputModes":["text/plain","application/json"],"description":"Return the official daily ECB euro reference rate `1 EUR = X <currency>` for a given currency (e.g. USD, GBP, CHF). Source: ECB eurofxref-daily feed. Read-only, free.","outputModes":["text/plain","application/json"]},{"id":"be.fiscal.erfbelasting","name":"Flemish inheritance-tax rates","tags":["read","domain:tax","jurisdiction:BE-VLG","source:official-live"],"examples":["Wat is de erfbelasting voor kinderen in Vlaanderen?","Welke tarieven gelden tussen broers en zussen?","Hoeveel erfbelasting betaalt een niet-verwante erfgenaam?"],"inputModes":["text/plain","application/json"],"description":"Flemish inheritance-tax (erfbelasting) rate brackets for every heir category — direct line & partners, siblings, and all other persons — fetched live from the in-force Flemish Tax Code (VCF art. 2.7.4.1.1) and parsed deterministically, never from model memory.","outputModes":["text/plain","application/json"]},{"id":"iban.validate","name":"IBAN structural validator","tags":["read","domain:finance","jurisdiction:EU","source:deterministic"],"examples":["Is IBAN BE68 5390 0754 7034 geldig?","Valideer NL91ABNA0417164300"],"inputModes":["text/plain","application/json"],"description":"Validate an IBAN's structure (ISO 13616 check digits via MOD-97 + country length). Pure compute, no network. Confirms the number is well-formed; does NOT confirm the account exists or is active.","outputModes":["text/plain","application/json"]},{"id":"be.kbo.lookup","name":"Belgian enterprise (KBO/BCE) lookup","tags":["read","domain:legal","jurisdiction:BE","source:public"],"examples":["Zoek KBO-nummer 0403.170.701","Welke vennootschap zit achter 0888.778.965?"],"inputModes":["text/plain","application/json"],"description":"Look up a Belgian enterprise by its Crossroads Bank (KBO/BCE) number. Returns commercial name, legal form, status and start date from the public enterprise registry.","outputModes":["text/plain","application/json"]},{"id":"be.legal.search","name":"Belgian Justel search-link builder (no result rows)","tags":["read","domain:legal","jurisdiction:BE","source:public"],"examples":["Zoek recente regelgeving over schenkingsrechten","Welke codex regelt vennootschaps­belasting?","Justel-zoeklink voor energiepremie 2026"],"inputModes":["text/plain","application/json"],"description":"Resolve a Belgian-legal keyword to the canonical Justel search URL on `ejustice.just.fgov.be`, plus statute-hints for which codex (WIB92, VCF, WVV, BW, …) likely governs the topic. Justel result-pages are JS-rendered, so this tool does NOT scrape result rows — it gives the caller a live, click-through search URL plus routing hints.","outputModes":["text/plain","application/json"]},{"id":"be.legal.read","name":"Belgian/EU legal document reader","tags":["read","domain:legal","jurisdiction:BE","source:public"],"examples":["Lees https://codex.vlaanderen.be/PrintDocument.ashx?id=1023499 en geef het tarief in rechte lijn","Lees https://eur-lex.europa.eu/legal-content/NL/TXT/?uri=CELEX:32016R0679 en vat artikel 1 samen","Lees de wetstekst op https://www.ejustice.just.fgov.be/cgi_loi/change_lg.pl?language=nl&la=N&cn=1804032130&table_name=wet#Art.4.71"],"inputModes":["text/plain","application/json"],"description":"Fetch and clean the full-text content of a Belgian or European legal document (HTML or PDF) from an allowed official domain URL. Capped at 30,000 characters.","outputModes":["text/plain","application/json"]},{"id":"nl.legal.lookup","name":"Dutch statute (wetten.overheid.nl) resolver","tags":["read","domain:legal","jurisdiction:NL","source:public"],"examples":["Waar staat art. 4:63 BW (Nederlands erfrecht)?","Geef de link naar de Successiewet 1956.","Wet IB 2001 op wetten.overheid.nl"],"inputModes":["text/plain","application/json"],"description":"Resolve a Dutch statute reference (code + optional article) to the canonical wetten.overheid.nl source URL. Covers Civil Code Books 1-7, inheritance/gift tax (Successiewet 1956), income tax (Wet IB 2001), VAT (Wet OB 1968), corporate tax, plus criminal / civil-procedure / administrative-law codes.","outputModes":["text/plain","application/json"]},{"id":"nl.rechtspraak.lookup","name":"Dutch ECLI case-law resolver","tags":["read","domain:legal","jurisdiction:NL","source:public"],"examples":["Wat is ECLI:NL:HR:2021:1102?","Geef de link voor ECLI:NL:GHAMS:2019:1."],"inputModes":["text/plain","application/json"],"description":"Parse a Dutch ECLI and return canonical public URLs: the Rechtspraak.nl details page, the free Open Data content API (decision XML), and the EU e-Justice search, plus decoded court / year / serial metadata. Covers the Supreme Court (Hoge Raad), Council of State, courts of appeal and district courts.","outputModes":["text/plain","application/json"]},{"id":"be.notary.prepare","name":"Belgian notarial preparation checklist","tags":["read","domain:legal","domain:notarial","jurisdiction:BE","source:public"],"examples":["Wat neem ik mee naar de Belgische notaris voor een zorgvolmacht?","Welke stukken verzamel ik voor een verkoop in Brussel?","Bereid mijn gesprek over een Belgische BV-oprichting voor."],"inputModes":["text/plain","application/json"],"description":"Prepare a Belgian notary meeting: document checklist, questions and official source links for property, inheritance, gifts, care mandates, marriage contracts or BV incorporation. Optional region; no personal data, live verification, tax calculation or certification of legal completeness.","outputModes":["text/plain","application/json"]},{"id":"be.vies.validate","name":"EU VAT number validation (VIES)","tags":["read","domain:fiscal","jurisdiction:EU","source:public"],"examples":["Valideer BTW-nummer BE0403170701","Is NL123456789B01 een geldig BTW-nummer?"],"inputModes":["text/plain","application/json"],"description":"Validate an EU VAT number against the public EU VIES service. Returns validity status plus, where exposed by the source Member State, the registered trade name and address.","outputModes":["text/plain","application/json"]}],"iconUrl":"https://agent.co-legal.be/icon.svg","version":"1.36.0","provider":{"url":"https://co-legal.be","organization":"Co-Legal B.V."},"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImtpZCI6ImNvbGVnYWwtYWdlbnQtZXMyNTYtMSIsImprdSI6Imh0dHBzOi8vYWdlbnQuY28tbGVnYWwuYmUvLndlbGwta25vd24vandrcy5qc29uIiwidHlwIjoiSk9TRSJ9","signature":"E1OiIBFGWZDj5_UNggIbQBU5gwcVA3PhlcJ2mnIEaawU-bmM6abxKaD6WD-dXJ1R6rrwxf2GY7Djkc2nmO5Pdg"}],"description":"Co-Legal Assistant — an AI assistant for informational Q&A about Belgian and Dutch private-client legal and fiscal topics (inheritance & gift tax, company law, VAT, succession planning, case-law & statute lookups), plus Belgian notarial preparation checklists. Informational only; does not provide specific legal advice. Operated by Co-Legal B.V. from the Netherlands.","capabilities":{"streaming":true,"extensions":[{"uri":"https://agent.co-legal.be/a2a/extensions/tool-schema/v1","params":{"ecb.rates":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["currency"],"properties":{"currency":{"type":"string","maxLength":3,"minLength":3,"description":"Three-letter ISO 4217 currency code, e.g. `USD`, `GBP`, `CHF`."}},"additionalProperties":false},"be.kbo.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["enterprise_number"],"properties":{"enterprise_number":{"type":"string","maxLength":16,"minLength":10,"description":"Belgian enterprise number (10 digits, optionally with dots or BE prefix). Example: `0403.170.701` or `0403170701`."}},"additionalProperties":false},"be.legal.read":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["url"],"properties":{"url":{"type":"string","maxLength":2048,"description":"Direct URL of the legal document. Must belong to an official allowed domain (e.g., ejustice.just.fgov.be, eur-lex.europa.eu)."},"max_chars":{"type":"integer","maximum":60000,"minimum":1000,"description":"Maximum number of characters to return (default 30,000, max 60,000)."}},"additionalProperties":false},"iban.validate":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["iban"],"properties":{"iban":{"type":"string","maxLength":42,"minLength":15,"description":"An IBAN, with or without spaces. Example: `BE68 5390 0754 7034`."}},"additionalProperties":false},"be.ecli.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["ecli"],"properties":{"ecli":{"type":"string","maxLength":80,"minLength":15,"description":"Belgian European Case Law Identifier. Shape: `ECLI:BE:<court>:<year>:<serial>`. Examples: `ECLI:BE:CASS:2020:ARR.20200305.1F.4` (Court of Cassation), `ECLI:BE:GHCC:2021:ARR.044` (Constitutional Court). Case-insensitive on input."}},"additionalProperties":false},"be.legal.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"string","maxLength":40,"minLength":2,"description":"Statute short-form: `BW`, `WVV`, `WIB92`, `VCF`, `WBTW`, `WBE`, `Sw`, `Ger.W`. Common aliases accepted (`Burgerlijk Wetboek`, `Strafwetboek`, etc.)."},"article":{"type":"string","maxLength":24,"description":"Article identifier — `4.71`, `1100/4`, `215bis`. Optional; omit to get the statute's table-of-contents URL."}},"additionalProperties":false},"be.legal.search":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["keyword"],"properties":{"limit":{"type":"integer","maximum":10,"minimum":1,"description":"Kept for API stability with previous scrape-based variants. Currently unused — the live Justel results are rendered client-side and not returned by this tool."},"keyword":{"type":"string","maxLength":120,"minLength":2,"description":"Free-text query (NL or FR). Examples: `schenkingsrechten`, `energiepremie 2026`, `auteursrechten omzetting EU-richtlijn`."}},"additionalProperties":false},"nl.legal.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"string","maxLength":60,"minLength":2,"description":"Dutch statute short-form or name. Examples: `BW4` (Erfrecht), `Successiewet`, `Wet IB 2001`, `Wet OB 1968`, `BW6`, `Awb`, `Sr`, `Rv`."},"article":{"type":"string","maxLength":20,"description":"Optional article identifier, e.g. `4:63`, `13a`, `1`. Omitted → the statute's table-of-contents URL."}},"additionalProperties":false},"be.vies.validate":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["vat"],"properties":{"vat":{"type":"string","maxLength":18,"minLength":8,"description":"VAT number with optional country prefix and punctuation. Examples: `BE0123456789`, `BE 0123.456.789`, `NL123456789B01`."}},"additionalProperties":false},"eu.eurlex.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["celex"],"properties":{"celex":{"type":"string","maxLength":30,"minLength":7,"description":"CELEX number. Shape: `<sector><year><doctype><number>`. Examples: `32016R0679` (GDPR), `32024R1689` (AI Act), `32019L0790` (DSM Copyright Directive), `62019CJ0311` (CJEU C-311/19). Case-insensitive; a `CELEX:` prefix is also accepted."},"language":{"type":"string","default":"NL","maxLength":2,"minLength":2,"description":"Two-letter EUR-Lex language code (NL, FR, EN, DE, …). Defaults to NL to match the agent's primary audience. EUR-Lex transparently falls back to another available language if the requested one isn't published."}},"additionalProperties":false},"be.notary.prepare":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["onderwerp"],"properties":{"gewest":{"enum":["onbekend","vlaanderen","brussel","wallonie"],"type":"string","default":"onbekend","description":"Region if known; an orientation, not a tax-jurisdiction determination."},"onderwerp":{"enum":["vastgoed","nalatenschap","schenking","zorgvolmacht","huwelijkscontract","bv_oprichting"],"type":"string","description":"Belgian notarial matter to prepare."}},"additionalProperties":false},"be.legal.corpus.read":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["document_id"],"properties":{"cursor":{"type":"string","default":"0:0","pattern":"^([0-9]+:[0-9]+)?$","maxLength":50,"description":"Pagination cursor returned as `next_cursor` by the previous page. Omit for the first page."},"max_chunks":{"type":"integer","default":20,"maximum":40,"minimum":1,"description":"Chunks per page (1-40, default 20)."},"document_id":{"type":"string","maxLength":200,"minLength":1,"description":"The `document_id` of a hit returned by `be.legal.corpus.search`. Not a URL and not a free-text title."}},"additionalProperties":false},"legal.citation.verify":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["citation"],"properties":{"citation":{"type":"string","maxLength":200,"minLength":2,"description":"The citation to check. Examples: `ECLI:BE:CASS:2020:ARR.20200305.1F.4`, `32016R0679`, `art. 4.71 BW`, `VB 25117`."}},"additionalProperties":false},"nl.rechtspraak.lookup":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["ecli"],"properties":{"ecli":{"type":"string","maxLength":80,"minLength":15,"description":"Dutch European Case Law Identifier. Shape: `ECLI:NL:<court>:<year>:<serial>`. Example: `ECLI:NL:HR:2021:1102` (Hoge Raad). Case-insensitive."}},"additionalProperties":false},"be.fiscal.erfbelasting":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":[],"properties":{"categorie":{"enum":["rechte_lijn_partners","broers_zussen","anderen"],"type":"string","description":"Erfgenaam-categorie. Laat leeg om alle drie de categorieën terug te geven."}},"additionalProperties":false},"be.legal.corpus.search":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"query":{"type":"string","maxLength":2000,"minLength":3,"description":"Natural-language legal question or topic, in Dutch, French or English. Semantic search — full sentences work better than bare keywords."},"date_to":{"type":"string","maxLength":10,"description":"Only documents dated on/before this ISO date (YYYY-MM-DD)."},"sources":{"type":"array","items":{"enum":["belgisch_staatsblad_scrape","eurlex_api","fiscale_rulings","fod_financien_circulaires","grondwettelijk_hof_mbbs","juportal_scrape","justel_scrape","vlaamse_codex_api","vlabel_rulings"],"type":"string"},"maxItems":9,"description":"Restrict to specific public source keys. Omit for all. Values outside the public allowlist are rejected and reported."},"category":{"enum":["administrative_guidance","case_law","legislation","official_publication","ruling"],"type":"string","description":"Restrict to one document category."},"date_from":{"type":"string","maxLength":10,"description":"Only documents dated on/after this ISO date (YYYY-MM-DD)."},"max_results":{"type":"integer","default":6,"maximum":25,"minimum":1,"description":"How many source documents to return (1-25, default 6)."},"jurisdiction":{"enum":["belgium","eu","flanders"],"type":"string","description":"Restrict to one jurisdiction."},"prefer_recent":{"type":"boolean","default":false,"description":"Weight recency more heavily. Use for 'recent case law' style questions; leave false when a landmark older source is fine."}},"additionalProperties":false},"co-legal.document.draft":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["title","body_markdown"],"properties":{"title":{"type":"string","maxLength":200,"minLength":1,"description":"Document title, shown at the top and used for the filename. Example: `Model-ingebrekestelling`."},"body_markdown":{"type":"string","maxLength":20000,"minLength":1,"description":"Document body in a restricted markdown subset: `#`/`##`/`###` headings, blank-line-separated paragraphs, `- `/`* ` bullets, and `**bold**` inline. Any other markup is treated as literal text."},"document_type":{"type":"string","maxLength":60,"description":"Optional short slug for the filename (e.g. `nda`, `ingebrekestelling`). Defaults to a slug of the title."}},"additionalProperties":false}},"required":false,"description":"Per-skill JSON-Schema input parameters. v1.0 `AgentSkill` has no native `inputSchema`; this extension carries them until the spec adds first-class support."},{"uri":"https://agent.co-legal.be/a2a/extensions/provider-metadata/v1","params":{"legalEntity":{"registry":"KVK","jurisdiction":"NL","registrationNumber":"42135345"},"contactEmail":"ops@co-legal.be","termsOfService":"https://co-legal.be/legal"},"required":false,"description":"Signed vendor metadata for the agent provider: public legal-entity registration, contact address, and terms-of-service URL."},{"uri":"https://agent.co-legal.be/a2a/extensions/model-disclosure/v1","params":{"model":"claude-opus-5-5","modelProvider":"Anthropic via Google Cloud Vertex AI","processingRegion":"EU"},"required":false,"description":"The model this agent answers with and where it is processed. Generated from the running configuration, not hand-maintained."},{"uri":"https://modelcontextprotocol.io/extensions/discovery/v1","params":{"url":"https://agent.co-legal.be/mcp","discoveryUrl":"https://agent.co-legal.be/.well-known/mcp.json","protocolVersion":"2025-11-25"},"required":false,"description":"Model Context Protocol (MCP) endpoint — the same read-only legal/fiscal lookup tools exposed to IDE and app callers."}],"extendedAgentCard":true},"securitySchemes":{"apiKeyAuth":{"apiKeySecurityScheme":{"name":"x-api-key","location":"header","description":"Optional API key for higher rate limits, sent as the `x-api-key` header. Anonymous callers are accepted within the per-IP cap."}},"httpBearer":{"httpAuthSecurityScheme":{"scheme":"bearer","description":"The same optional API key presented as `Authorization: Bearer <key>` (RFC 6750)."}}},"documentationUrl":"https://agent.co-legal.be/","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],"supportedInterfaces":[{"url":"https://agent.co-legal.be/a2a/jsonrpc","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"securityRequirements":[{},{"schemes":{"apiKeyAuth":{"list":[]}}},{"schemes":{"httpBearer":{"list":[]}}}]},"status":"verified","publisher_domain":"co-legal.be","signature_status":"verified","signature_detail":"Card signature matches a key at its advertised or same-host key source","signature_key_url":"https://agent.co-legal.be/.well-known/jwks.json","signature_checked_at":"2026-10-28T15:29:07.054023+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://co-legal.be/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-28T15:29:07.054023+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[{"card_url":"https://agent.co-legal.be/.well-known/agent-card.json"}],"history_urls":["https://co-legal.be/.well-known/agent-card.json"],"skills":[{"skill_id":"answer_legal_question","name":"Answer Belgian/Dutch private-client legal/fiscal question","description":"Take a natural-language question in Dutch, French, or English about Belgian or Dutch private-client topics (inheritance & gift tax, company law, VAT, succession) and return an informational answer with references to public sources — Belgium: VCF, WIB92, WVV, BW, Belgisch Staatsblad; Netherlands: Successiewet, Wet IB 2001, Burgerlijk Wetboek, wetten.overheid.nl. Handles multi-topic research briefs, e.g. setting up a Belgian BV/SRL: governance under the WVV, capital and contributions in cash or in kind, VAT registration, dividend withholding tax, and inheritance tax on shares when a shareholder dies. Always includes a 'not legal advice' disclaimer. Does not give specific dossier-bound recommendations. **Open to anonymous callers**, throttled per IP (per minute / hour / day). An `x-api-key` lifts the quota for higher-volume integrators.","tags":["read","domain:legal","domain:fiscal","domain:company-law","domain:incorporation","jurisdiction:BE","jurisdiction:vlaams-gewest","jurisdiction:NL"],"quality_warning":false},{"skill_id":"be.legal.corpus.search","name":"Belgian & EU public legal-corpus search","description":"Semantic search over the indexed corpus of PUBLIC Belgian and EU legal sources — Belgian Official Gazette, Justel consolidated legislation, Juportal and Constitutional Court case law, the Flemish Codex, Flemish (VLABEL) and federal advance tax rulings, FPS Finance circulars, and EUR-Lex. Returns ranked passages with source, date, URL and a document_id for bounded, paginated retrieval. Public sources only: no client files, no case data, no licensed doctrine databases. Company data is not in this corpus: use `be.kbo.lookup`.","tags":["read","rag","domain:legal","domain:fiscal","jurisdiction:BE","jurisdiction:EU","source:public"],"quality_warning":false},{"skill_id":"be.ecli.lookup","name":"Belgian ECLI case-law resolver","description":"Parse a Belgian ECLI (European Case Law Identifier) and return canonical public lookup URLs on the EU e-Justice portal and on Juportal, plus the decoded court / year / serial metadata. Covers Court of Cassation, Constitutional Court, Council of State, immigration courts, and courts of appeal.","tags":["read","domain:legal","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"be.legal.search","name":"Belgian Justel search-link builder (no result rows)","description":"Resolve a Belgian-legal keyword to the canonical Justel search URL on `ejustice.just.fgov.be`, plus statute-hints for which codex (WIB92, VCF, WVV, BW, …) likely governs the topic. Justel result-pages are JS-rendered, so this tool does NOT scrape result rows — it gives the caller a live, click-through search URL plus routing hints.","tags":["read","domain:legal","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"be.kbo.lookup","name":"Belgian enterprise (KBO/BCE) lookup","description":"Look up a Belgian enterprise by its Crossroads Bank (KBO/BCE) number. Returns commercial name, legal form, status and start date from the public enterprise registry.","tags":["read","domain:legal","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"be.notary.prepare","name":"Belgian notarial preparation checklist","description":"Prepare a Belgian notary meeting: document checklist, questions and official source links for property, inheritance, gifts, care mandates, marriage contracts or BV incorporation. Optional region; no personal data, live verification, tax calculation or certification of legal completeness.","tags":["read","domain:legal","domain:notarial","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"be.legal.lookup","name":"Belgian statute (Justel) resolver","description":"Resolve a Belgian statute reference (code + optional article) to the canonical Justel source URL on ejustice.just.fgov.be. Article-level links for BW, WVV, VCF, WER, Sw and Ger.W (routed to the Justel dossier that actually contains the article). WIB92 and WBTW resolve to an overview page only — Justel publishes no article-level consolidation for them, and we do not invent a link.","tags":["read","domain:legal","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"be.legal.read","name":"Belgian/EU legal document reader","description":"Fetch and clean the full-text content of a Belgian or European legal document (HTML or PDF) from an allowed official domain URL. Capped at 30,000 characters.","tags":["read","domain:legal","jurisdiction:BE","source:public"],"quality_warning":false},{"skill_id":"co-legal.document.draft","name":"Draft a concept document (DOCX)","description":"Draft a CONCEPT document (letter, model clauses, simple agreement, notice of default) and return it as a Word .docx file attached to the response as an A2A FilePart artifact. Provide a `title` and the content in `body_markdown` (a small markdown subset: `#`/`##` headings, paragraphs, `- ` bullets, `**bold**`). Stateless and isolated — no dossier, no storage, no advice; a mandatory 'concept, have a lawyer review' disclaimer is always appended.","tags":["read","domain:legal","jurisdiction:BE","jurisdiction:NL","produces:document","output:docx"],"quality_warning":false},{"skill_id":"nl.rechtspraak.lookup","name":"Dutch ECLI case-law resolver","description":"Parse a Dutch ECLI and return canonical public URLs: the Rechtspraak.nl details page, the free Open Data content API (decision XML), and the EU e-Justice search, plus decoded court / year / serial metadata. Covers the Supreme Court (Hoge Raad), Council of State, courts of appeal and district courts.","tags":["read","domain:legal","jurisdiction:NL","source:public"],"quality_warning":false},{"skill_id":"nl.legal.lookup","name":"Dutch statute (wetten.overheid.nl) resolver","description":"Resolve a Dutch statute reference (code + optional article) to the canonical wetten.overheid.nl source URL. Covers Civil Code Books 1-7, inheritance/gift tax (Successiewet 1956), income tax (Wet IB 2001), VAT (Wet OB 1968), corporate tax, plus criminal / civil-procedure / administrative-law codes.","tags":["read","domain:legal","jurisdiction:NL","source:public"],"quality_warning":false},{"skill_id":"ecb.rates","name":"ECB euro reference exchange rate","description":"Return the official daily ECB euro reference rate `1 EUR = X <currency>` for a given currency (e.g. USD, GBP, CHF). Source: ECB eurofxref-daily feed. Read-only, free.","tags":["read","domain:finance","jurisdiction:EU","source:public"],"quality_warning":false},{"skill_id":"eu.eurlex.lookup","name":"EU CELEX (EUR-Lex) resolver","description":"Parse a CELEX number (the canonical EUR-Lex identifier) and return the official EUR-Lex landing page URL plus decoded sector / year / document-type / number metadata. Covers EU legislation, CJEU case-law and treaties.","tags":["read","domain:legal","jurisdiction:EU","source:public"],"quality_warning":false},{"skill_id":"be.vies.validate","name":"EU VAT number validation (VIES)","description":"Validate an EU VAT number against the public EU VIES service. Returns validity status plus, where exposed by the source Member State, the registered trade name and address.","tags":["read","domain:fiscal","jurisdiction:EU","source:public"],"quality_warning":false},{"skill_id":"be.fiscal.erfbelasting","name":"Flemish inheritance-tax rates","description":"Flemish inheritance-tax (erfbelasting) rate brackets for every heir category — direct line & partners, siblings, and all other persons — fetched live from the in-force Flemish Tax Code (VCF art. 2.7.4.1.1) and parsed deterministically, never from model memory.","tags":["read","domain:tax","jurisdiction:BE-VLG","source:official-live"],"quality_warning":false},{"skill_id":"iban.validate","name":"IBAN structural validator","description":"Validate an IBAN's structure (ISO 13616 check digits via MOD-97 + country length). Pure compute, no network. Confirms the number is well-formed; does NOT confirm the account exists or is active.","tags":["read","domain:finance","jurisdiction:EU","source:deterministic"],"quality_warning":false},{"skill_id":"legal.citation.verify","name":"Legal citation verifier","description":"Verify that a legal citation is real. Accepts a Belgian/EU ECLI, an EUR-Lex CELEX number, a Belgian statute article (e.g. 'art. 4.71 BW') or a Flemish tax ruling number ('VB 25117'). Returns a verdict — verified / resolvable / malformed / unsupported — the canonical source URL, and, when we hold it, the matching document from the indexed public corpus. Built for agents that want to CHECK a citation before repeating it: fabricated citations are the sharpest failure mode in legal AI. It never claims a citation does not exist — absence from our index is not evidence of absence.","tags":["read","verification","anti-hallucination","domain:legal","jurisdiction:BE","jurisdiction:EU","source:public"],"quality_warning":false},{"skill_id":"be.legal.corpus.read","name":"Read a page of a public legal source","description":"Retrieve one page of a public legal source document from the indexed corpus, by the document_id returned by `be.legal.corpus.search`. Follow next_cursor on the same corpus version until it is null to read a long source without silent truncation. Use it to ground a citation on the actual wording instead of on a search excerpt.","tags":["read","rag","domain:legal","jurisdiction:BE","jurisdiction:EU","source:public"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://co-legal.be/.well-known/agent-card.json","checked_at":"2026-10-28T15:29:07.054023+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-28T15:29:07.054023+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-28T15:29:07.054023+00:00","endpoint":"https://agent.co-legal.be/a2a/jsonrpc","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/a2a/jsonrpc","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://agent.co-legal.be/a2a/jsonrpc","selected_connection_interface":{"url":"https://agent.co-legal.be/a2a/jsonrpc","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://agent.co-legal.be/a2a/jsonrpc","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-10-28T15:29:07.054023+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://co-legal.be/.well-known/agent-card.json","last_successful_card_check":"2026-10-28T15:29:07.054023+00:00","latest_card_check":{"checked_at":"2026-10-28T15:29:07.054023+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"verified","signature_checked_at":"2026-10-28T15:29:07.054023+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-28T15:29:07.054023+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-10-28T15:29:07.054023+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":499141,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/499141/repair","publisher_report_url":"https://localmark.ai/publishers/co-legal.be/repair","diagnostics_json_url":"https://localmark.ai/publishers/co-legal.be/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/co-legal.be/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}