Docs · Guides
Test your integration without spending
Validation, input tests and CI: everything you can check before a fit spends a token.
You can build and test a complete integration before it spends anything. Three layers, each catching what the one before cannot.
1 · Validate — no key
POST /validate checks structure, columns, the menu-0 / T = 0 rules and volume floors, and returns counts and an estimate. It needs no key or account, and nothing is queued or charged.
# the sample request: 300 generated offers from a made-up reseller
curl -sO https://hyperc.com/lp/sample/p34-sample-request-v1.json
# validate it: free, no key, nothing queued or charged
curl -s -X POST https://api.hyperc.com/v1/validate \
-H "Content-Type: application/json" \
--data @p34-sample-request-v1.json
import requests
API = "https://api.hyperc.com/v1"
req = requests.get("https://hyperc.com/lp/sample/p34-sample-request-v1.json").json()
# validate: free, no key, nothing queued or charged
v = requests.post(f"{API}/validate", json=req).json()
print(v["ok"], v["errors"], v["counts"])
// Node 18+, saved as validate.mjs
const API = "https://api.hyperc.com/v1";
const req = await (await fetch("https://hyperc.com/lp/sample/p34-sample-request-v1.json")).json();
// validate: free, no key, nothing queued or charged
const v = await (await fetch(`${API}/validate`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(req),
})).json();
console.log(v.ok, v.errors, v.counts);
2 · Input test — any key
Add "mock": true to a /fit request. Every input check a real fit runs is run; then /result plays the real lifecycle on a short timer and returns a result in the real shape. The numbers are deterministic placeholders derived from your task menu, marked "mock": true. Free on every key, even with an empty wallet. "mock_result_seconds": 30 shortens the wait.
{"menus": [...], "sales": [...], "market_type": {}, "mock": true, "mock_result_seconds": 30}
3 · Keep it tested in CI
examples/pytest is a minimal pytest workflow: it checks the service, validates your payloads and runs an input test, so a change in your data pipeline fails in CI instead of in a real fit.
What free tests cannot prove
Neither layer runs grounding or the model. A request can pass both and still stop in grounding — for example when the sales tape and the profits disagree. The diagnosis then says exactly what to change, and a failure on our side is not charged.