Mosaic 1 API

Two tiers. The Research API is free: we run the table, you play against Mosaic. The Full API is the model itself: you bring the table — a simulator, an analysis pipeline, your own game — and stream decisions out of Mosaic at any state you like.

Base

Base URL https://api.icosalab.com. Authenticate every request with an X-Api-Key header (get a key — free). All bodies are JSON. Games: "hu" (heads-up, 200bb) and "6max" (six-handed, 100bb); blinds 50/100 chips; stacks reset each hand.

Protocol

MethodPathBodyPurpose
POST/v1/tables{"game":"hu"|"6max"}Create a table, deal the first hand
GET/v1/tables/{id}Current view
POST/v1/tables/{id}/handsDeal the next hand
POST/v1/tables/{id}/act{"slot": int} or {"raise_to": chips}Take your action; bots respond
DELETE/v1/tables/{id}Close the table

The view

Every response returns the state you're entitled to see:

Sessions and fairness

Rate limits

Token buckets per key and per source IP, sized so an actively playing bot never notices them. HTTP 429 means slow down; sustained abuse leads to key revocation.

Data use

We log complete hands server-side — including cards that were never shown to you — and use them for research and model training. Aggregate per-key results appear in your dashboard.