{
  "schema": "ecorce.surface.catalogue/0.1",
  "name": "Écorce — surface (démo)",
  "method": "GET-only",
  "status": "demo",
  "rule": "Lists only capabilities that actually work. If a capability is not here, it does not exist.",
  "test_data": true,
  "test_label": "données d'exemple / example data",
  "endpoints": {
    "mcp": "https://llm.ecorce.app/mcp",
    "openapi": "https://llm.ecorce.app/openapi.json",
    "docs": "https://llm.ecorce.app/docs",
    "llms": "https://llm.ecorce.app/llms.txt"
  },
  "mandate": {
    "id": "mandate-demo-draft-only",
    "type": "mandate",
    "scope": [
      "read:catalogue",
      "create:order_draft",
      "read:order_draft"
    ],
    "denied": [
      "place:order",
      "pay",
      "confirm:order_draft"
    ],
    "principal": "demo visitor (anonymous)",
    "agent": "any LLM client",
    "expires": "never (demo)",
    "summary_fr": "Mandat de démonstration : l'agent peut lire et rédiger des brouillons. Il ne peut ni confirmer, ni passer, ni payer une commande.",
    "summary_en": "Demo mandate: the agent may read and draft. It may not confirm, place or pay for an order."
  },
  "capabilities": [
    {
      "id": "partners.list",
      "kind": "discoverable",
      "works": true,
      "mcp_tool": "list_partners",
      "rest": "GET /api/partners"
    },
    {
      "id": "catalogue.search",
      "kind": "discoverable",
      "works": true,
      "mcp_tool": "search_catalogue",
      "rest": "GET /api/catalogue"
    },
    {
      "id": "offer.get",
      "kind": "discoverable",
      "works": true,
      "mcp_tool": "get_offer",
      "rest": "GET /api/offers/{id}"
    },
    {
      "id": "order_draft.create",
      "kind": "transactional",
      "works": true,
      "mcp_tool": "create_order_draft",
      "rest": "POST /api/drafts",
      "requires": "mandate scope create:order_draft"
    },
    {
      "id": "order_draft.get",
      "kind": "transactional",
      "works": true,
      "mcp_tool": "get_draft",
      "rest": "GET /api/drafts/{id}"
    },
    {
      "id": "order_draft.confirm",
      "kind": "transactional",
      "works": true,
      "actor": "human only",
      "ui": "https://llm.ecorce.app/essayer"
    }
  ],
  "not_available": [
    "order.place (stubbed: never transmitted)",
    "payment",
    "user-built tools (buildable: planned)"
  ]
}