Developers · REST reference
Developer API
REST JSON over HTTPS. Reads the same live artifacts as the Discord scanner. Traders using Cursor / Claude / VS Code want Confluence Pro MCP ($79/mo) — not this REST doc.
Endpoints
GET /health
No auth. Service + market status.
GET /v1/levels/spy · GET /v1/rails/spy
Gamma Rails — live SPY 0DTE dealer map from the Tradier chain.
{
"product": "Gamma Rails",
"symbol": "SPY",
"underlying_price": 621.45,
"regime": "negative_gamma",
"gamma_flip": 622.0,
"call_wall": 625.0,
"put_wall": 618.0,
"max_pain": 620.0,
"magnet": 620.0,
"net_gex": -1.2e9,
"net_dex": -450000000
}
GET /v1/tape/spy
Confluence Tape — live classified options flow (5-minute slope + session cumulative).
{
"product": "Confluence Tape",
"tape_product": "Confluence Tape",
"confluence_tape": -1250000,
"tape_5m": -340000,
"quadrant": "bearish (call- / put+)",
"ofi": -0.18,
"ofi_5m": -0.31,
"stale": false,
"updated_at": "2026-07-13 10:15:02 ET"
}
We do not expose third-party proprietary flow names in the public API.
POST /v1/webhooks/rails · DELETE /v1/webhooks/rails
Gamma Rails ($19) or Developer ($99) keys only. Register your HTTPS endpoint to receive push JSON (no polling).
curl -s -X POST https://api.0dteconfluence.com/v1/webhooks/rails \
-H "X-API-Key: cfl_your_rails_key" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-server.com/rails","secret":"optional_hmac","events":["morning","refresh"]}'
Outbound events
| Event | When | Header |
|---|---|---|
morning | ~9:00 ET after morning desk refresh | X-Confluence-Event: morning |
refresh | Wall/flip/magnet changes, or every 15m in RTH | X-Confluence-Event: refresh |
Body matches GET /v1/rails/spy plus "event" and "ts". If you set secret, verify X-Confluence-Signature: sha256=<hmac> (HMAC-SHA256 of raw JSON body).
Remove: DELETE /v1/webhooks/rails with the same API key.
GET /v1/enrich/spy?direction=PUT&strike=625&setup=fade_call_wall
Positioning context at a rail — DEX lean, pin score, OI build, GEX shift since open.
| Param | Required | Values |
|---|---|---|
direction | yes | CALL or PUT |
strike | yes | Wall strike (e.g. 625) |
setup | no | Setup tag from grader |
level_name | no | e.g. call_wall |
GET /v1/alerts/latest
Last graded A+/B candidate written by scan_loop.py (same payload shape as Discord, minus embed formatting). Developer + Pro.
GET /v1/alerts/history?limit=20&min_score=6
Session alert log from scan_candidates.jsonl — A+/B only, newest first.
| Param | Default | Notes |
|---|---|---|
limit | 20 | Max 100 |
min_score | 6 | Confluence score floor (0–8) |
{
"count": 2,
"min_score": 6,
"alerts": [ { "grade": "A+", "direction": "PUT", "score": 7, "spot": 621.2 } ]
}
GET /v1/market/clock
Session state — open/half-day, force-flat, lane ends, event-day flag. Developer + Pro.
{
"status": "open",
"date": "2026-07-18",
"force_flat": "15:30",
"last_entry": "15:15",
"lane1_aplus_end": "11:10",
"lane2_auto_end": "14:00",
"event_day": false,
"half_day": false
}
GET /v1/morning/desk
Today’s morning-desk card (same content as Discord #morning-desk) after the ~9:00 ET refresh. Returns morning_desk_unavailable if nothing posted yet. Developer + Pro.
{
"date": "2026-07-18",
"posted_at": "2026-07-18T09:00:12-04:00",
"card": "…markdown card…",
"one_line": "neg-gamma · fade 625 / support 618 · …",
"rails": { "gamma_flip": 622, "call_wall": 625, "put_wall": 618 },
"iv_rank": 34,
"regime": "negative_gamma"
}
Key tiers (Stripe products)
These are not the same as Discord alert membership ($49). See developers.html.
| Stripe product | Price | API key tier | Access |
|---|---|---|---|
| Gamma Rails | $19/mo | rails | /v1/rails/spy, /v1/levels/spy + morning/refresh webhooks |
| Confluence Tape | $29/mo | tape | /v1/tape/spy only (+ Discord #tape — not via REST) |
| Developer API | $99/mo | developer | All /v1/* including enrich, alerts history, market clock, morning desk |
| Robinhood Pro MCP | $79/mo | pro | Alerts + rails + tape + enrich + clock + morning desk — via MCP server |
Buying Developer ($99) includes rails + tape + enrich — you do not need the $19 and $29 plans.
Robinhood Pro ($79) uses the same API backend with tier pro but is sold as an MCP install for traders — see home.
Configure on the VPS:
CONFLUENCE_API_KEYS=cfl_abc123:developer,cfl_tape456:tape
Or .secrets/api_keys.json:
{
"keys": {
"cfl_abc123": { "tier": "developer", "email": "[email protected]" }
}
}
Run on the VPS
docker compose -f deploy/docker-compose.yml --profile api up -d
Smoke test:
curl -s http://127.0.0.1:8080/health | jq .
curl -s -H "X-API-Key: YOUR_KEY" http://127.0.0.1:8080/v1/tape/spy | jq .
Subscribe
Get an API key on the Developers page.
Checkout metadata tier=api maps to the Developer API plan ($99/mo).