Skip to content
Back to colegal-public-assistant

Card snapshot

agent.co-legal.be · 2026-07-11 16:22:28 UTC · 80b22989e2e11ce824e6ff4b48528cbe1a93c099c903ebbea18046649446b89d

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "colegal-public-assistant",
  "description": "Co-Legal Public Assistant \u2014 informational Q&A about Belgian private-client legal and fiscal topics (inheritance tax, company law under WVV, VAT, succession planning, VLABEL procedures). Informational only; does not provide specific legal advice. Operated by Co-Legal in Belgium.",
  "provider": {
    "organization": "Co-Legal",
    "url": "https://co-legal.be",
    "legalEntity": {
      "registrationNumber": "BE1038.676.493",
      "registry": "KBO",
      "jurisdiction": "BE"
    }
  },
  "version": "1.2.19",
  "documentationUrl": "https://agent.co-legal.be/",
  "iconUrl": "https://agent.co-legal.be/icon.svg",
  "url": "https://agent.co-legal.be/a2a/jsonrpc",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://agent.co-legal.be/a2a/jsonrpc",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": true,
    "extendedAgentCard": true,
    "extensions": [
      {
        "uri": "https://co-legal.be/a2a/extensions/tool-schema/v1",
        "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.",
        "required": false,
        "params": {
          "ecb.rates": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "currency"
            ],
            "properties": {
              "currency": {
                "type": "string",
                "description": "Three-letter ISO 4217 currency code, e.g. `USD`, `GBP`, `CHF`.",
                "minLength": 3,
                "maxLength": 3
              }
            },
            "additionalProperties": false
          },
          "be.ecli.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "ecli"
            ],
            "properties": {
              "ecli": {
                "type": "string",
                "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.",
                "minLength": 15,
                "maxLength": 80
              }
            },
            "additionalProperties": false
          },
          "eu.eurlex.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "celex"
            ],
            "properties": {
              "celex": {
                "type": "string",
                "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.",
                "minLength": 7,
                "maxLength": 30
              },
              "language": {
                "type": "string",
                "description": "Two-letter EUR-Lex language code (NL, FR, EN, DE, \u2026). 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.",
                "minLength": 2,
                "maxLength": 2,
                "default": "NL"
              }
            },
            "additionalProperties": false
          },
          "be.fiscal.erfbelasting": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [],
            "properties": {
              "categorie": {
                "type": "string",
                "enum": [
                  "rechte_lijn_partners",
                  "broers_zussen",
                  "anderen"
                ],
                "description": "Erfgenaam-categorie. Default en enige categorie met cijfers: `rechte_lijn_partners`."
              }
            },
            "additionalProperties": false
          },
          "iban.validate": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "iban"
            ],
            "properties": {
              "iban": {
                "type": "string",
                "description": "An IBAN, with or without spaces. Example: `BE68 5390 0754 7034`.",
                "minLength": 15,
                "maxLength": 42
              }
            },
            "additionalProperties": false
          },
          "be.kbo.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "enterprise_number"
            ],
            "properties": {
              "enterprise_number": {
                "type": "string",
                "description": "Belgian enterprise number (10 digits, optionally with dots or BE prefix). Example: `0403.170.701` or `0403170701`.",
                "minLength": 10,
                "maxLength": 16
              }
            },
            "additionalProperties": false
          },
          "be.legal.search": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "keyword"
            ],
            "properties": {
              "keyword": {
                "type": "string",
                "description": "Free-text query (NL or FR). Examples: `schenkingsrechten`, `energiepremie 2026`, `auteursrechten omzetting EU-richtlijn`.",
                "minLength": 2,
                "maxLength": 120
              },
              "limit": {
                "type": "integer",
                "description": "Kept for API stability with previous scrape-based variants. Currently unused \u2014 the live Justel results are rendered client-side and not returned by this tool.",
                "minimum": 1,
                "maximum": 10
              }
            },
            "additionalProperties": false
          },
          "be.legal.read": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "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",
                "description": "Maximum number of characters to return (default 30,000, max 60,000).",
                "minimum": 1000,
                "maximum": 60000
              }
            },
            "additionalProperties": false
          },
          "be.legal.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Statute short-form: `BW`, `WVV`, `WIB92`, `VCF`, `WBTW`, `WBE`, `Sw`, `Ger.W`. Common aliases accepted (`Burgerlijk Wetboek`, `Strafwetboek`, etc.).",
                "minLength": 2,
                "maxLength": 40
              },
              "article": {
                "type": "string",
                "description": "Article identifier \u2014 `4.71`, `1100/4`, `215bis`. Optional; omit to get the statute's table-of-contents URL.",
                "maxLength": 24
              }
            },
            "additionalProperties": false
          },
          "nl.legal.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Dutch statute short-form or name. Examples: `BW4` (Erfrecht), `Successiewet`, `Wet IB 2001`, `Wet OB 1968`, `BW6`, `Awb`, `Sr`, `Rv`.",
                "minLength": 2,
                "maxLength": 60
              },
              "article": {
                "type": "string",
                "description": "Optional article identifier, e.g. `4:63`, `13a`, `1`. Omitted \u2192 the statute's table-of-contents URL.",
                "maxLength": 20
              }
            },
            "additionalProperties": false
          },
          "nl.rechtspraak.lookup": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "ecli"
            ],
            "properties": {
              "ecli": {
                "type": "string",
                "description": "Dutch European Case Law Identifier. Shape: `ECLI:NL:<court>:<year>:<serial>`. Example: `ECLI:NL:HR:2021:1102` (Hoge Raad). Case-insensitive.",
                "minLength": 15,
                "maxLength": 80
              }
            },
            "additionalProperties": false
          },
          "be.vies.validate": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "required": [
              "vat"
            ],
            "properties": {
              "vat": {
                "type": "string",
                "description": "VAT number with optional country prefix and punctuation. Examples: `BE0123456789`, `BE 0123.456.789`, `NL123456789B01`.",
                "minLength": 8,
                "maxLength": 18
              }
            },
            "additionalProperties": false
          }
        }
      }
    ]
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain"
  ],
  "securitySchemes": {
    "apiKeyAuth": {
      "type": "apiKey",
      "in": "header",
      "name": "x-api-key",
      "description": "Optional API key for higher rate limits, sent as the `x-api-key` header. Anonymous callers are accepted within the per-IP cap. Contact ops@co-legal.be to request a key."
    },
    "httpBearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "The same optional API key presented as `Authorization: Bearer <key>` (RFC 6750). Equivalent to `apiKeyAuth`; use whichever your client prefers."
    }
  },
  "security": [
    {},
    {
      "apiKeyAuth": []
    },
    {
      "httpBearer": []
    }
  ],
  "skills": [
    {
      "id": "answer_legal_question",
      "name": "Answer Belgian private-client legal/fiscal question",
      "description": "Take a natural-language question in Dutch, French, or English about Belgian private-client topics (inheritance tax, company law, VAT, succession, VLABEL procedures) and return an informational answer with references to public sources (VCF, WIB92, WVV, BW, Belgisch Staatsblad). 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",
        "jurisdiction:BE",
        "jurisdiction:vlaams-gewest"
      ],
      "security": [
        {},
        {
          "apiKeyAuth": []
        }
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/plain"
      ],
      "examples": [
        "Wat is de erfbelasting voor kinderen in Vlaanderen?",
        "Hoeveel minimumkapitaal heeft een BV onder de WVV?",
        "Kan ik een testament eigenhandig opstellen?",
        "Wat is de basistarief van de Belgische BTW?"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Wat is de ECB-koers EUR naar USD?",
        "1 EUR in CHF volgens de ECB"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "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?"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Geef de EUR-Lex link voor de GDPR (CELEX 32016R0679).",
        "Wat is 32024R1689?",
        "Decode CELEX:62019CJ0311."
      ]
    },
    {
      "id": "be.fiscal.erfbelasting",
      "name": "Flemish inheritance-tax rates",
      "description": "Flemish inheritance-tax (erfbelasting) rate brackets as deterministic data: direct line & partners with exemptions, per the Flemish Tax Code (VCF). Other categories return a pointer to the official table.",
      "tags": [
        "read",
        "domain:tax",
        "jurisdiction:BE-VLG",
        "source:static-verified"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Wat is de erfbelasting voor kinderen in Vlaanderen?",
        "Welke tariefschijven gelden tussen partners?"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Is IBAN BE68 5390 0754 7034 geldig?",
        "Valideer NL91ABNA0417164300"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Zoek KBO-nummer 0403.170.701",
        "Welke vennootschap zit achter 0888.778.965?"
      ]
    },
    {
      "id": "be.legal.search",
      "name": "Belgian Staatsblad / Justel search",
      "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, \u2026) likely governs the topic. Justel result-pages are JS-rendered, so this tool does NOT scrape result rows \u2014 it gives the caller a live, click-through search URL plus routing hints.",
      "tags": [
        "read",
        "domain:legal",
        "jurisdiction:BE",
        "source:public"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Zoek recente regelgeving over schenkingsrechten",
        "Welke codex regelt vennootschaps\u00adbelasting?",
        "Justel-zoeklink voor energiepremie 2026"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "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",
        "Haal de inhoud van het arrest op van Juportal"
      ]
    },
    {
      "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. Covers BW, WVV, WIB92, VCF, WBTW, WBE, Sw, Ger.W.",
      "tags": [
        "read",
        "domain:legal",
        "jurisdiction:BE",
        "source:public"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "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?"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Waar staat art. 4:63 BW (Nederlands erfrecht)?",
        "Geef de link naar de Successiewet 1956.",
        "Wet IB 2001 op wetten.overheid.nl"
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Wat is ECLI:NL:HR:2021:1102?",
        "Geef de link voor ECLI:NL:GHAMS:2019:1."
      ]
    },
    {
      "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"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ],
      "examples": [
        "Valideer BTW-nummer BE0403170701",
        "Is NL123456789B01 een geldig BTW-nummer?"
      ]
    }
  ],
  "termsOfService": "https://co-legal.be/legal",
  "contactEmail": "ops@co-legal.be",
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImNvbGVnYWwtYWdlbnQtZXMyNTYtMSIsImprdSI6Imh0dHBzOi8vYWdlbnQuY28tbGVnYWwuYmUvLndlbGwta25vd24vandrcy5qc29uIiwidHlwIjoiSk9TRSJ9",
      "signature": "Un4hfkVFexrzbAoFNkuo2y9eH2Dqr8xeognvJaaZa1t_sxa5uk4E6Pn9GXm1Vf-k5xz7Qx8yHU1cWaiZBUhRjA"
    }
  ]
}