{"openapi":"3.1.0","info":{"title":"ScoreStatus","description":"Live sports status lines for coding agents. Pick a league (MLB, NBA, WNBA, NFL, NHL, MLS, EPL, and more) and a team; buy an install once and your terminal status line shows the live box score and play-by-play.","version":"1.0.0","x-guidance":"Flow: GET /api/teams?league=mlb to resolve the user's team → GET /api/preview?league=mlb&team=chc to show what the line looks like → POST /api/install {league, team, target} (paid, $0.05) to receive the client script, config, and step-by-step install instructions to execute on the user's machine. Targets: claude-code, codex, generic. The bundle can be re-downloaded free at GET /api/bundle?token=... — never pay twice for a retry. The installed script polls GET /api/line (free with the install token).","guidance":"Flow: GET /api/teams?league=mlb to resolve the user's team → GET /api/preview?league=mlb&team=chc to show what the line looks like → POST /api/install {league, team, target} (paid, $0.05) to receive the client script, config, and step-by-step install instructions to execute on the user's machine. Targets: claude-code, codex, generic. The bundle can be re-downloaded free at GET /api/bundle?token=... — never pay twice for a retry. The installed script polls GET /api/line (free with the install token).","contact":{"email":"david@merit.systems"}},"servers":[{"url":"https://scorestatus.dev"}],"tags":[{"name":"Install"},{"name":"Preview"},{"name":"Teams"}],"paths":{"/api/install":{"post":{"operationId":"install","summary":"Buy a live status line install for a team. Returns the client script file(s), config snippets, and step-by-step instructions for the installing agent to execute locally. The response token makes the line endpoint work and re-downloading the same bundle via /api/bundle is free — never pay twice for a retry.","tags":["Install"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}},{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"league":{"type":"string","description":"League key: mlb, nba, wnba, nfl, nhl, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, worldcup"},"team":{"type":"string","minLength":1,"description":"Team abbreviation, nickname, or full name (e.g. 'chc', 'Cubs', 'Chicago Cubs')"},"target":{"default":"claude-code","description":"Where the status line will be installed","type":"string","enum":["claude-code","codex","generic"]},"tz":{"description":"IANA timezone for pregame times (e.g. 'America/Chicago'); defaults to US Eastern","type":"string"},"format":{"description":"'plain' strips ANSI colors (tmux/starship)","type":"string","enum":["ansi","plain"]}},"required":["league","team"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"installId":{"type":"string"},"token":{"type":"string","description":"Install token; baked into the client script's line URL"},"league":{"type":"string"},"team":{"type":"string"},"target":{"type":"string"},"lineUrl":{"type":"string","description":"The status-line endpoint the installed client polls"},"bundleUrl":{"type":"string","description":"Free re-download of this exact bundle — never pay twice"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Where to write the file on the user's machine (~ = home)"},"mode":{"type":"string","description":"chmod mode, e.g. 755"},"content":{"type":"string"}},"required":["path","mode","content"],"additionalProperties":false}},"instructions":{"type":"string","description":"Markdown install steps for the installing agent to execute"}},"required":["installId","token","league","team","target","lineUrl","bundleUrl","files","instructions"],"additionalProperties":false}}}},"402":{"description":"Payment Required"}}}},"/api/teams":{"get":{"operationId":"teams","summary":"List teams for a league so you can resolve the user's team to an id/abbreviation. Free (wallet identity only).","tags":["Teams"],"security":[{"siwx":[]}],"parameters":[{"in":"query","name":"league","schema":{"type":"string","description":"League key: mlb, nba, wnba, nfl, nhl, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, worldcup"},"required":true,"description":"League key: mlb, nba, wnba, nfl, nhl, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, worldcup"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"league":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"abbr":{"type":"string"},"name":{"type":"string"},"nickname":{"type":"string"},"location":{"type":"string"}},"required":["id","abbr","name","nickname"],"additionalProperties":false}}},"required":["league","teams"],"additionalProperties":false}}}},"402":{"description":"Authentication Required"}}}},"/api/preview":{"get":{"operationId":"preview","summary":"Render the current status line for a team so the user can see it before buying. Free (wallet identity only).","tags":["Preview"],"security":[{"siwx":[]}],"parameters":[{"in":"query","name":"league","schema":{"type":"string","description":"League key: mlb, nba, wnba, nfl, nhl, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, worldcup"},"required":true,"description":"League key: mlb, nba, wnba, nfl, nhl, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, worldcup"},{"in":"query","name":"team","schema":{"type":"string","minLength":1},"required":true},{"in":"query","name":"tz","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"league":{"type":"string"},"team":{"type":"string"},"state":{"type":"string","enum":["live","final","pre","none"]},"line":{"type":"string","description":"ANSI-colored status line"},"plain":{"type":"string","description":"Same line without ANSI codes"},"note":{"type":"string"}},"required":["league","team","state","line","plain"],"additionalProperties":false}}}},"402":{"description":"Authentication Required"}}}}},"components":{"securitySchemes":{"siwx":{"type":"apiKey","in":"header","name":"SIGN-IN-WITH-X"}}}}