CUBE / 03 · YOUR STORE API
Your store.
Your data.
Connect your website, collect session samples, and estimate each visitor’s buying chance.
Loading your account…
GET CONNECTED
One account. Your own API.
Sign in or create a Neurvance account, subscribe with Stripe, and create your API key after payment is verified. Each subscription includes a maximum of 100 API calls per hour per account.
Sign in or create an account ↗01 / SUBSCRIPTION
Cube monthly
Maximum 100 API calls per hour per account. Shared across all sessions and API endpoints in a rolling 60-minute period.
Read before subscribing. Cube 1.0 is governed by the Terms of Use, Privacy Policy, and Data Protection Addendum.
Collect sessions and request buying estimates with an active subscription. Cancel anytime; API access continues until the paid period ends. Predictions require 500 usable completed history rows.
02 / SECRET WEBSITEID
A direct connection.
No API key yet
Your websiteID is your secret API key. Save this one credential as SHOP_WEBSITE_ID on your server. Only one credential can be active. Rotation replaces it immediately and preserves your account data.
04 / PREDICTION READINESS
Collecting enough history.
Collect usable completed history rows. The readiness score updates continuously and reaches 100% at 1,000 rows.
INTEGRATION
Connect from your website server.
Keep your secret key on your server. Start a session at website entry, then send a sample every 10 seconds for buffering in memory. Budget API requests within your account’s 100-call hourly limit, including session, sample, completion, and prediction calls; each retry admitted by the hourly limit also counts. Confirm the purchased product quantity from your order system to label every sample. An exit after a five-second navigation grace period, or six hours after session start, labels samples 0. Cube automatically uploads each labeled sample and saves the merged history only in cubeWebsiteData. Finalized outcomes cannot be changed.
Your secret websiteID is shown once when you create or rotate it above. There is no separate public websiteID to copy.
POST /api/v1/savedata
Authorization: Bearer YOUR_SECRET_WEBSITEID
Content-Type: application/json
{
"websiteID": "YOUR_SECRET_WEBSITEID",
"session_id": "unique-visitor-session",
"sample_seq": 1,
"captured_at": "2026-09-10T14:30:00Z",
"visitor_id": "your-visitor-id",
"data": {
"avgSpeed": 120, "mouseClicksTotal": 12,
"colorsSeen": ["blue"], "productsSeen": ["cup", "vase"],
"productsviews": 4,
"productsSold": 1, "productsClicked": 3,
"mouseSide": "left", "mouseUpsideDown": "up",
"time": 10, "temperature": 20,
"rain": false, "day": "Monday",
"lastBought": null, "lastBoughtItem": ""
}
}Retry the same sample sequence and payload to avoid duplicate rows. Only labeled sessions appear in your CSV.
Finish the session
POST /api/v1/sessions/complete
{"websiteID":"YOUR_SECRET_WEBSITEID","session_id":"unique-visitor-session","last_sample_seq":12,"boughtNumber":3}Send the total number of products, not money spent. Confirm completion only after delivering every sample.
Ask for a prediction or optimization
POST /api/v1/perbuy
POST /api/v1/optimizechance
POST /api/v1/recommendproducts
POST /api/v1/spendmoretime
{"websiteID":"YOUR_SECRET_WEBSITEID","session_id":"unique-visitor-session"}Both calls use your Bearer key and the observation history from this session. Optimization needs at least two samples. Buying estimates use your existing completed history; an insufficient-data response means more history is needed. Optimization returns shop actions such as moreProducts(), lessProducts(), favoritLeft(), favoritRight(), changeColors([...]), and tryProducts([...]). Apply only supported actions; never evaluate the response as code. ChatGPT reports are not included.