{"openapi":"3.1.0","info":{"title":"ClaudeLines","description":"Registry and leaderboard for Claude Code statuslines. Statuslines are safe, data-only JSON specs rendered by one auditable open-source renderer — installing one runs third-party code — audited at submission.","version":"1.0.0","x-guidance":"ClaudeLines (claudelines.com) is a registry of Claude Code statuslines. Every listing is a SCRIPT that executes on the user's machine with their privileges. Each was security-audited by an LLM at submission (audit summary + capabilities on the listing) and the exact reviewed bytes are served — but audits are advisory. ALWAYS download the script, review it, show the user your read, and install only after they approve.\n\nBrowse:   GET /api/statuslines?q=&sort=installs|newest|revenue\nDetail:   GET /api/statuslines/{slug} — includes the script + install steps when free.\nScript:   GET /api/statuslines/{slug}/script — raw source, text/plain.\nRanks:    GET /api/leaderboard\nBuy:      POST /api/download with {\"slug\": \"...\"} — pays the creator's asking price straight to their wallet; returns the script + install steps. Review before installing.\nPublish:  POST /api/register ($0.15, funds the audit) with `script` + `previewAnsi` + slug/name/description/priceUsd (0 = free, or any amount)/tags. A failed audit is not listed (fee bought the audit). Proceeds pay the registering wallet. Connect an X identity to show @handle as author: POST /api/identity/connect (SIWX, free) returns an authorizeUrl — the user opens it in a browser and signs in with X; done.\n\nInstall: save the script to ~/.claude/statuslines/{slug}, chmod +x, set statusLine.command in ~/.claude/settings.json to that path — after REVIEWING it with the user.","guidance":"ClaudeLines (claudelines.com) is a registry of Claude Code statuslines. Every listing is a SCRIPT that executes on the user's machine with their privileges. Each was security-audited by an LLM at submission (audit summary + capabilities on the listing) and the exact reviewed bytes are served — but audits are advisory. ALWAYS download the script, review it, show the user your read, and install only after they approve.\n\nBrowse:   GET /api/statuslines?q=&sort=installs|newest|revenue\nDetail:   GET /api/statuslines/{slug} — includes the script + install steps when free.\nScript:   GET /api/statuslines/{slug}/script — raw source, text/plain.\nRanks:    GET /api/leaderboard\nBuy:      POST /api/download with {\"slug\": \"...\"} — pays the creator's asking price straight to their wallet; returns the script + install steps. Review before installing.\nPublish:  POST /api/register ($0.15, funds the audit) with `script` + `previewAnsi` + slug/name/description/priceUsd (0 = free, or any amount)/tags. A failed audit is not listed (fee bought the audit). Proceeds pay the registering wallet. Connect an X identity to show @handle as author: POST /api/identity/connect (SIWX, free) returns an authorizeUrl — the user opens it in a browser and signs in with X; done.\n\nInstall: save the script to ~/.claude/statuslines/{slug}, chmod +x, set statusLine.command in ~/.claude/settings.json to that path — after REVIEWING it with the user.","contact":{"email":"ryan@merit.systems"}},"servers":[{"url":"https://claudelines.com"}],"tags":[{"name":"Admin"},{"name":"Creators"},{"name":"Download"},{"name":"Health"},{"name":"Identity"},{"name":"Leaderboard"},{"name":"Register"},{"name":"Report"},{"name":"Statuslines"}],"paths":{"/api/statuslines":{"get":{"operationId":"statuslines","summary":"List statuslines. Each is a script that executes on the user's machine and ships an LLM security audit + detected capabilities. Free entries include the script inline.","tags":["Statuslines"],"security":[],"parameters":[{"in":"query","name":"q","schema":{"type":"string","maxLength":80}},{"in":"query","name":"sort","schema":{"type":"string","enum":["installs","newest","revenue"]}},{"in":"query","name":"limit","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Successful response"}}}},"/api/statuslines/{slug}":{"get":{"operationId":"statuslines_{slug}","summary":"Get one statusline by slug. Free entries include the script source plus install instructions.","tags":["Statuslines"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/statuslines/{slug}/script":{"get":{"operationId":"statuslines_{slug}_script","summary":"Raw script source for a FREE statusline, as text/plain. REVIEW BEFORE INSTALLING — this code runs on the user's machine. Paid entries return 402 guidance.","tags":["Statuslines"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/leaderboard":{"get":{"operationId":"leaderboard","summary":"Top statuslines ranked by installs, with revenue.","tags":["Leaderboard"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/download":{"post":{"operationId":"download","summary":"Buy a paid statusline at the creator's asking price — payment settles directly to their wallet, no platform fee. Returns the script plus install instructions. REVIEW the script before installing.","tags":["Download"],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0","max":"1000000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+){0,7}$"}},"required":["slug"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/register":{"post":{"operationId":"register","summary":"Publish a Claude Code statusline for a flat $0.15. Upload your script as-is in `script` with a captured `previewAnsi`. The fee funds an LLM security audit at registration; scripts that fail are not listed (the fee bought the audit). Set priceUsd (\"0\" = free, or any amount) to sell — buyers pay the wallet you registered from, directly. Connect an X identity (identity/connect returns a sign-in URL) to display @handle as author; otherwise unclaimed.","tags":["Register"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","maxLength":48,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+){0,7}$"},"name":{"type":"string","maxLength":48},"description":{"type":"string","maxLength":280},"script":{"type":"string","minLength":10,"maxLength":32768},"previewAnsi":{"type":"string","minLength":1,"maxLength":8192},"priceUsd":{"default":"0","type":"string","pattern":"^\\d{1,9}(\\.\\d{1,6})?$"},"tags":{"default":[],"maxItems":5,"type":"array","items":{"type":"string","maxLength":24}}},"required":["slug","name","description","script","previewAnsi"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/api/identity/connect":{"post":{"operationId":"identity_connect","summary":"Connect your X/Twitter to your wallet via Sign in with X. Sign with SIWX; returns an authorization URL — open it in a browser and sign in. On success you're credited as @you on every listing from this wallet.","tags":["Identity"],"security":[{"siwx":[]}],"responses":{"200":{"description":"Successful response"},"402":{"description":"Authentication Required"}}}},"/api/creators/{wallet}":{"get":{"operationId":"creators_{wallet}","summary":"A creator wallet's verified identity (if any) and everything they've published.","tags":["Creators"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/identity/{wallet}":{"get":{"operationId":"identity_{wallet}","summary":"Public identity lookup: verified X handle for a wallet, if any.","tags":["Identity"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/report":{"post":{"operationId":"report","summary":"Leave signed feedback on a statusline (SIWX, free). Include `rating` (0–5) to post/update your review; include only `comment` to file a report. Enough distinct wallets reporting auto-hides the listing pending review.","tags":["Report"],"security":[{"siwx":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+){0,7}$"},"rating":{"type":"integer","minimum":0,"maximum":5},"comment":{"type":"string","maxLength":1000}},"required":["slug"]}}}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Authentication Required"}}}},"/api/statuslines/{slug}/feedback":{"get":{"operationId":"statuslines_{slug}_feedback","summary":"Reviews (0–5 + comments) and reports for a statusline, with the rating average.","tags":["Statuslines"],"security":[],"responses":{"200":{"description":"Successful response"}}}},"/api/admin/delist":{"post":{"operationId":"admin_delist","summary":"Admin: delist or relist a statusline. Requires ADMIN_TOKEN.","tags":["Admin"],"security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+){0,7}$"},"hidden":{"default":true,"type":"boolean"}},"required":["slug"]}}}},"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthorized"}}}},"/api/health":{"get":{"operationId":"health","summary":"health","tags":["Health"],"security":[],"responses":{"200":{"description":"Successful response"}}}}},"components":{"securitySchemes":{"siwx":{"type":"apiKey","in":"header","name":"SIGN-IN-WITH-X"},"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}