API documentation JSON requests
Use these pages as copy/paste references for the supported API request bodies.
API key
Every API request must include your API key in the JSON body as "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.
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.
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"
}