{"openapi":"3.0.3","info":{"title":"Sunday Memory — Stream Summaries API","version":"1.0.0","description":"Pay-per-call (x402, USDC on Base) summaries of crypto Twitch streams for autonomous agents: streamer and chat sentiment, coins discussed with first-mention time and price, topics, guests. Derived data only; no transcripts.","contact":{"email":"nicholas.dortch@gmail.com"}},"servers":[{"url":"https://extra.watch"}],"paths":{"/v1/streams":{"get":{"summary":"catalogue — every channel with a summary, its last stream and how many summaries exist","operationId":"v1_streams","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[],"security":[]}},"/v1/streams/{channel}/latest":{"get":{"summary":"the most recent finished stream's summary for one channel","operationId":"v1_streams__channel__latest","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required — x402 v2 challenge in the PAYMENT-REQUIRED header"},"404":{"description":"no summary for that channel/session"}},"parameters":[{"name":"channel","in":"path","required":true,"schema":{"type":"string"},"description":"Twitch login, e.g. threadguy"}],"security":[{"x402":[]}],"x-payment-info":{"price":{"amount":"0.01","currency":"USD"},"asset":"USDC","network":"eip155:8453","payTo":"0x538291871987fbC29E808D91538d930D571e36D4"}}},"/v1/streams/{channel}/history":{"get":{"summary":"the last N summaries for one channel, newest first (N ≤ 30)","operationId":"v1_streams__channel__history","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required — x402 v2 challenge in the PAYMENT-REQUIRED header"},"404":{"description":"no summary for that channel/session"}},"parameters":[{"name":"channel","in":"path","required":true,"schema":{"type":"string"},"description":"Twitch login"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20},"description":"1–30"}],"security":[{"x402":[]}],"x-payment-info":{"price":{"amount":"0.03","currency":"USD"},"asset":"USDC","network":"eip155:8453","payTo":"0x538291871987fbC29E808D91538d930D571e36D4"}}},"/v1/streams/{channel}/{session}":{"get":{"summary":"one specific stream by session id (YYYY-MM-DDTHH-MM-SS)","operationId":"v1_streams__channel___session","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required — x402 v2 challenge in the PAYMENT-REQUIRED header"},"404":{"description":"no summary for that channel/session"}},"parameters":[{"name":"channel","in":"path","required":true,"schema":{"type":"string"},"description":"Twitch login"},{"name":"session","in":"path","required":true,"schema":{"type":"string"},"description":"session id from the catalogue or history"}],"security":[{"x402":[]}],"x-payment-info":{"price":{"amount":"0.01","currency":"USD"},"asset":"USDC","network":"eip155:8453","payTo":"0x538291871987fbC29E808D91538d930D571e36D4"}}},"/v1/meta":{"get":{"summary":"this contract, as JSON","operationId":"v1_meta","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[],"security":[]}},"/openapi.json":{"get":{"summary":"OpenAPI discovery document","operationId":"openapi.json","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[],"security":[]}},"/health":{"get":{"summary":"liveness","operationId":"health","responses":{"200":{"description":"stream_api_v1 envelope","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[],"security":[]}}},"components":{"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"HTTP 402 Payment Required via x402 (USDC on Base)."}}}}