One published policy's sanitised HTML
- Credentials
- Store key
- Scopes
catalog:read
The body is re-sanitised on the way out, so it is safe to inject. An unpublished (or empty) policy is 404, not 403.
Old path, deprecated, sunset 1 Feb 2027: GET /v1/policies/{slug}.
storeKey catalog:readAuthorizationBearer <sez_pub_... (publishable) or sez_sk_... (secret)>A per-store key from the console. Publishable keys are browser-safe; secret keys are server-only.
Scope: catalog:read
slug*stringThe public slug. Note refunds is plural (its type is refund).
"terms""privacy""refunds""shipping"The policy.
application/json- response
data*curl -X GET 'https://api.shopeazy.co/v1/store/policies/<slug>' \ -H 'Authorization: Bearer sez_pub_...'{ "data": { "type": "terms", "slug": "terms", "title": "Terms & Conditions", "html": "<p>These terms and conditions govern every purchase you make from Jabu's Plant Shop. By placing an order you agree to them, so please read them carefully. They don't take away any rights you have under the Consumer Protection Act (CPA) or the Electronic Communications and Transactions Act (ECTA).</p>\n<h2>1. Who we are</h2>\n<p><strong>Jabu's Plant Shop</strong> (\"we\", \"us\", \"our\") runs the online store at <a href=\"https://jabus-plant-shop.shopeazy.co\" target=\"_blank\" rel=\"noopener nofollow ugc\">https://jabus-plant-shop.shopeazy.co</a>.</p><ul><li>Address: 12 Example Street, Johannesburg, Gauteng, 2193</li><li>Email: <a href=\"mailto:jabu.nkosi@example.com\" rel=\"noopener nofollow ugc\" target=\"_blank\">jabu.nkosi@example.com</a></li><li>Phone: +27 82 000 0000</li><li>Website: <a href=\"https://jabus-plant-shop.shopeazy.co\" target=\"_blank\" rel=\"noopener nofollow ugc\">https://jabus-plant-shop.shopeazy.co</a></li></ul>\n<h2>2. These terms</h2>\n<p>By placing an order you confirm that you are at least 18 years old (or have permission from a parent or guardian), that the details you give us are accurate, and that you agree to these terms and to our Privacy Policy. If you don't agree, please don't place an order.</p>\n<h2>3. Products and pricing</h2>\n<ul><li>We describe our products as accurately as we can, but small differences in colour, size or packaging can happen.</li><li>All prices are in South African Rand (ZAR) and include VAT at 15% where it applies.</li><li>We may change prices at any time, but a change never affects an order we've already accepted.</li><li>If a product is listed at an obviously wrong price by mistake, we may cancel the order and refund you in full.</li></ul>\n<h2>4. Your order</h2>\n<p>When you place an order you're making an offer to buy the items in your cart. A sale is only confirmed once we accept your order and your payment has cleared. We'll send you confirmation of the details. We may decline or cancel an order — for example if an item is out of stock, we can't deliver to your area, or we suspect fraud — and we'll refund you in full if we do.</p>\n<h2>5. Payment</h2>\n<p>Payment is taken securely through our payment provider at checkout. We never see or store your full card details. Your order is only processed once payment is authorised.</p>\n<h2>6. Delivery and collection</h2>\n<p>How, where and when we deliver, and what it costs, is set out in our Shipping & Delivery Policy. Risk in the goods passes to you when they're delivered to you or collected. Please check your order on arrival and tell us quickly about anything wrong.</p>\n<h2>7. Returns, refunds and cancellations</h2>\n<p>Your rights to cancel an order, return items and get a refund — including the ECTA 7-day cooling-off period and your CPA rights on faulty goods — are set out in our Refund & Returns Policy.</p>\n<h2>8. Your responsibilities</h2>\n<p>When you use our store you agree to:</p>\n<ul><li>Give us accurate contact, delivery and payment details</li><li>Not use our store for anything unlawful or fraudulent</li><li>Keep any account login details secure and let us know if they're compromised</li><li>Not copy, resell or misuse our content without permission</li></ul>\n<h2>9. Our content</h2>\n<p>The content on this store — product photos, text, logos and branding — belongs to us or our suppliers and is protected by law. You may not copy, reproduce or reuse it without our written permission.</p>\n<h2>10. Our responsibility to you</h2>\n<p>We take reasonable care to describe our products accurately and to run our store reliably. As far as the law allows, we're not liable for indirect or unforeseeable loss. Nothing in these terms limits your rights under the Consumer Protection Act, or our liability for anything that can't be excluded by law.</p>\n<h2>11. Governing law</h2>\n<p>These terms are governed by the laws of the Republic of South Africa, and the South African courts have jurisdiction over any dispute.</p>\n<h2>12. Changes to these terms</h2>\n<p>We may update these terms from time to time. The version shown on this page when you place your order is the one that applies to that order.</p>\n<h2>13. Contact us</h2>\n<p>Questions about these terms? Email <a href=\"mailto:jabu.nkosi@example.com\" rel=\"noopener nofollow ugc\" target=\"_blank\">jabu.nkosi@example.com</a> or call +27 82 000 0000.</p>", "updatedAt": 1792924379483 }}The store's published policies (titles and links) GET
Titles and slugs only, for a footer or sitemap. Fetch a body with `GET /v1/store/policies/{slug}`. Drafts and empty policies are left out. Paged: `{ items, nextCursor }`, `limit` (default 20, at most 50) and an opaque `cursor`. Old path, deprecated, sunset 1 Feb 2027: `GET /v1/policies`.
Server-derived totals for a cart POST
Re-derives every line from the live catalogue and computes shipping and totals. Creates nothing. Lines for unknown or inactive items are dropped silently; if none are left the call is `422`. A service that takes online bookings needs `booking.at`. `customer` and `note` are accepted and ignored here. Fulfilment resolves to `delivery` only when the cart has a shippable line, the store offers delivery and the caller did not ask for `collect`. **Delivery** is priced by the same rule as the hosted checkout: the store's flat fee (free over its threshold), or live courier rates and the merchant's own delivery zones. With a `shippingAddress`, the quote's `delivery` lists the options; send the one the shopper picks back as `deliveryChoice` on the quote and on `POST /v1/store/orders`. A delivered cart needs a deliverable address (street, suburb, city and postal code): `422 validation_error` otherwise. A changed or dearer service is `422 delivery_changed`. Old path, deprecated, sunset 1 Feb 2027: `POST /v1/checkout/quote`.