Quick Start

Get from zero to a working API call in under five minutes. You will need access to the admin console to create an API key.

  1. Create an API key

    Sign in to the admin console, open the API keys panel on your profile, give the key a name so you can identify it later, and choose Create key.

    The full key is shown once, in the dialog that opens after creation, and cannot be recovered. Copy and store it securely before closing it.

    Your key starts with mx_p_. Include it in every request as an x-api-key header. The key can only reach /api/v1/* — it is ignored on all other routes.

  2. Verify your key

    Call GET /api/v1/me (the whoami tool) to confirm the key is active and see which user and permissions it carries:

    bash
    curl https://maison-labs.com/api/v1/me \
      -H "x-api-key: mx_p_YOUR_KEY"

    A 200 OK response includes your user id, email and name, whether you are Maison staff, and the feature grants the key holds (global level and per client).

  3. List your tools

    GET /api/v1/tools returns the catalogue filtered to what your key can execute. Use this to discover available operations and their required parameters:

    bash
    curl https://maison-labs.com/api/v1/tools \
      -H "x-api-key: mx_p_YOUR_KEY"
  4. Run a tool — three ways

    Every tool is available via REST, MCP, and A2A under the same name. REST paths name the resource in the singular when the call acts on one item (POST /client) and in the plural for a collection (GET /clients). Here is create_client shown all three ways:

    REST

    bash
    curl -X POST https://maison-labs.com/api/v1/client \
      -H "x-api-key: mx_p_YOUR_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name": "Grand Hotel", "website": "https://grand-hotel.com"}'

    MCP (Claude Desktop / Claude Code config)

    json
    {
      "mcpServers": {
        "maison": {
          "type": "http",
          "url": "https://maison-labs.com/api/v1/mcp",
          "headers": { "x-api-key": "mx_p_YOUR_KEY" }
        }
      }
    }

    A2A (tasks/send body)

    json
    {
      "jsonrpc": "2.0",
      "id": "req-1",
      "method": "tasks/send",
      "params": {
        "message": {
          "role": "user",
          "parts": [
            {
              "type": "data",
              "data": {
                "tool": "create_client",
                "input": { "name": "Grand Hotel", "website": "https://grand-hotel.com" }
              }
            }
          ]
        }
      }
    }
  5. Explore further

    • Authentication — API key format, prefix per environment, error semantics, and key management
    • API Reference — interactive playground for every tool, with live requests and response inspection
    • MCP Integration — client config snippets for Claude Desktop, Claude Code, VS Code, Cursor, and more
    • A2A Protocol — agent-to-agent JSON-RPC 2.0 interface and agent card discovery
    • Installation Guides — embed the chat widget in HTML, React, Next.js, WordPress, Shopify, and more