---
title: "Canada Merch Group developer docs"
canonical: https://www.canadamerchgroup.com/developers
last_updated: 2026-11-14
---

# Canada Merch Group developer docs

Public, read-only interfaces for agents and developers. **No authentication, no API keys.**
Canada Merch Group is a Montreal custom merchandise company; these interfaces expose its published facts
(services, minimum orders, FAQ, quote instructions) so assistants can answer accurately and help users request a quote.

## Quickstart

```bash
curl https://www.canadamerchgroup.com/api/v1/company
curl -X POST https://www.canadamerchgroup.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -H 'Accept: text/markdown' https://www.canadamerchgroup.com/
```

## MCP server

- Endpoint: `https://www.canadamerchgroup.com/mcp` (Streamable HTTP, JSON-RPC over POST, stateless)
- Server card: https://www.canadamerchgroup.com/.well-known/mcp/server-card.json
- Tools (all read-only): `get_company_page`, `list_service_pages` (optional `service`, includes quote steps), `search_faq_articles` (optional `query`)
- In-page tools (WebMCP, every page loads /webmcp.js): `list_service_pages`, `search_faq_articles`, `open_quote_form_page`
- A2A agent card: https://www.canadamerchgroup.com/.well-known/agent-card.json

## REST API

- `GET /api/v1/company`: company profile, services, quote instructions and FAQ as JSON
- `GET /api/v1/faq` and `GET /api/v1/services`: paged lists (`?limit=` up to 50, `?cursor=` from the previous page's `next_cursor`)
- `POST /ask` (NLWeb 0.55): `{"query":{"text":"..."}}` returns matching FAQ answers and services; add `"prefer":{"streaming":true}` for server-sent events
- OpenAPI 3.1: https://www.canadamerchgroup.com/openapi.json · API catalog (RFC 9727): https://www.canadamerchgroup.com/.well-known/api-catalog

## Errors

All API errors are `application/problem+json` (RFC 9457) with `type`, `title`, `status`, a machine-readable `code`
(`not_found`, `method_not_allowed`) and a `hint` that says how to fix the request.

## Versioning and deprecation

The REST API is versioned in the path (`/api/v1`). Breaking changes ship as a new version. A replaced version keeps
working for at least 6 months and its responses carry `Deprecation` and `Sunset` headers until it is removed.
Changes are announced in this page and in https://www.canadamerchgroup.com/llms.txt.

## Limits

Fair use: responses are cached at the edge; please keep automated traffic under 60 requests per minute. API responses carry `RateLimit-Policy` and `RateLimit` headers stating this limit.

## Other machine-readable resources

- https://www.canadamerchgroup.com/llms.txt and https://www.canadamerchgroup.com/llms-full.txt
- Markdown version of any page: send `Accept: text/markdown`
- Agent skill: https://www.canadamerchgroup.com/.well-known/agent-skills/index.json
- Sitemap: https://www.canadamerchgroup.com/sitemap.xml

Contact: info@canadamerchgroup.com
