Authentication & credits
API keys
Every request authenticates with your organization's product key in the X-Api-Token header:
bash
-H "X-Api-Token: $WORLD_CUP_API_KEY"- Keys are issued per organization (not per project or user) from the Studio APIs tab.
- They carry product-only permissions — a World Cup key can never run arbitrary workflows or touch anything else on the Machina platform.
- Keep keys on your backend. v1 is server-side: if you call from a browser, proxy through your own backend (BFF). A scoped, read-only browser token is on the roadmap.
- Lost or leaked? Revoke and re-issue under the organization's API key settings; the APIs tab always shows the active key.
Credits
Calls are metered in prepaid credits. Credits never expire and are shared across your organization.
Per-call pricing
| Class | Credits | Endpoints |
|---|---|---|
| free | 0 | health |
| data | 1 | get-schedule · resolve · get-event-context · get-standings · get-squads · get-injuries · get-player-performance-context |
| market | 3 | search-markets · get-market-state · market-movers · compare-market-sources |
| social | 8 | fan-sentiment-context |
| intelligence | 12 | get-match-forecast · backtest-forecasts · explain-market-move · generate-market-brief |
| edge | 18 | get-signal · find-market-edges |
| skill | 40 | skills/market-watch · skills/fan-pulse · skills/match-preview · skills/match-recap · skills/player-spotlight |
You are only charged for successful calls — a failed workflow execution (5xx) is never billed.
Tiers
| Tier | Price | Credits | Effective rate |
|---|---|---|---|
| Free | $0 | 100 | no card required |
| Starter | $50 | 5,000 | $0.010 / credit |
| Pro | $200 | 25,000 | $0.008 / credit |
| Scale | $600 | 100,000 | $0.006 / credit |
Every tier unlocks the full product — all endpoints, MCP tools and docs. Tiers differ only in credits. Top up any time from the APIs tab (Stripe checkout); your balance and the live debit per call are visible there too.
Running out
When your balance can't cover a call's cost the API returns 402 with a typed error (insufficient_credits over MCP). The request is not executed and nothing is charged. See Errors.

