Skip to content
Kitenzo Headless is currently invite-only. To enable it on your store, email support@kitenzo.com.

Errors

StatusMeaningBody
200SuccessEndpoint-specific JSON
204No content (CORS preflight; also returned for some no-op cases)
400Validation error / invalid JSON / missing fields{ "error": "<message>" }
403Missing/invalid key, feature not enabled, inactive key, or shop missing its Shopify token(no body)
404Bundle not found, unpublished, or not owned by this shop{ "detail": "Not found." } or { "error": "<message>" }
429Rate limit exceeded(no body; Retry-After header)

400 — validation

{ "error": "products is required and must be a non-empty list." }

404 — not found

{ "detail": "Not found." }

Some endpoints (e.g. configure) use { "error": "Bundle does not exist" } instead.

403 / 429 return no JSON body — rely on the status code (and Retry-After for 429).

SymptomLikely cause
403 on every requestWrong/revoked key, Headless feature not enabled for the shop, or (browser) origin not allowed.
404 for a bundle you can see in adminThe bundle is not published, or belongs to a different shop than the key.
400 from /configure or /priceproducts missing/empty, more than 200 products, or a product missing variant/product/section.
429Over 100 req/min on that key — back off for Retry-After seconds and cache aggressively.