Skip to content
Back to colegal-public-assistant

Card snapshot

agent.co-legal.be · 2026-06-28 02:16:20 UTC · 874ac32143b90dac6d3afaf47eaec05a7be164fd07fd688c789f7ff6975fcf8f

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 BV in Belgium.",
  "provider": {
    "organization": "Co-Legal BV",
    "url": "https://co-legal.be"
  },
  "version": "1.2.6",
  "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": {
          "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.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
          },
          "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. Anonymous callers are accepted within the per-IP cap. Contact ops@co-legal.be to request a key."
    }
  },
  "security": [
    {},
    {
      "apiKeyAuth": []
    }
  ],
  "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": "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.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": "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": "eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnQuY28tbGVnYWwuYmUvLndlbGwta25vd24vandrcy5qc29uIiwia2lkIjoiY29sZWdhbC1hZ2VudC1lczI1Ni0xIn0",
      "signature": "jcvpBez3h60DCIiGr5lBKd88SXyrNIRHoH4j9RaM0ehM5gGtOQo5YGM1z_EX4yD19q1-jT2p7mWzXO-xQH7M2Q"
    }
  ]
}