API documentation JSON requests
Use these pages as copy/paste references for the supported API request bodies.
Agents and MCP
Catalog, proposals and contacts for AI models and integrations
Products, categories, attributes, tags and images; proposals (templates, lines, sub-lines, Hanna CRM links) and client contacts — as a simple JSON API and as MCP tools. Scoped keys, dry-run previews, live OpenAPI spec, guides for agents.
Connect Claude, ChatGPT, Cursor
claude.ai / ChatGPT connectors with Wantly sign-in (no API key), Claude Code, Cursor and SDK configs with an API key. Share this page with customers.
Older agent spec (v1)
OpenAPI 3 for the original eight agent operations. For new setups use the live API v2 spec (/api/v2/openapi.json).
Older local MCP script
Node 18+ stdio script over the v1 API. New setups should use the remote MCP server at /api/mcp.
API key
Authenticate every tenant API request with one of:
- JSON body
"key": "YOUR_API_KEY" - Header
Authorization: Bearer YOUR_API_KEY - Header
X-Api-Key: YOUR_API_KEY
To generate or view it, log in as an administrator and open the app's API integration settings. In the API tab, click Generate API key if no key exists. After it is generated, the key is shown in the read-only API key field.
The Generate API key button is available only when API access is enabled for the current plan.
AI apps (claude.ai, ChatGPT) do not need this key: add https://YOUR-TENANT.wantly.eu/api/mcp as a connector and sign in with your Wantly account (how).
Agents and MCP (public pages, no repository): Connect an agent, openapi-agent.yaml, wantly-mcp.js.
Available API request docs
POST /api/createproductCreate or update products
Creates single or bulk products, or updates an existing product when id is provided or sku already exists. Includes attributes, variations, included products, and related products.
POST /api/updatepricesUpdate prices by SKU
Bulk-updates prices for simple products and variations matched by SKU (case-insensitive). Accepts a full price object or a single number for a simple tier.
POST /api/getproductsGet products
Lists, filters, or fetches one product by id or sku. Optional expansions include images, attributes, and variations.
POST /api/createcontactCreate or update contacts
Creates single or bulk contacts. When code matches an existing contact, the existing contact is updated instead of duplicated.
POST /api/getcontactsGet contacts
Lists, filters, searches, or fetches one contact. Contact meta is returned both as rows and as a merged meta object.
POST /api/createproposal experimentalCreate proposals
Beta/experimental endpoint for creating proposals with entries, groups, settings, optional contact objects, and optional product references or embedded product payloads.
POST /api/getproposalsGet proposals and templates
Lists, filters, or fetches one proposal. Supports templates_only for proposal templates where type == 4.
GET /api/hanna/proposalsHanna CRM opportunities
Link proposals to a Hanna CRM opportunity (pardavimo galimybė) when creating or editing them, and list or filter proposals by opportunity.
POST /api/createproposalfromcatalogCreate proposals from catalog lines
Agent-oriented create: client plus product id/SKU and quantity. Catalog prices and VAT are resolved on the server. Optional template copies settings and custom fields, not line items.
POST /api/createproposalfromtemplateCreate proposals from templates
Clones an existing proposal template, copies its entries and settings, and replaces the customer-facing proposal details.
POST /api/openaddproposalOpen add proposal with prefill
Authenticated browser/admin flow. Posts client details into session flash and redirects to /addproposal with those fields prefilled.
Basic request shape
{
"key": "YOUR_API_KEY"
}