{"openapi":"3.1.0","info":{"title":"Dicks as a Service","version":"0.2.0","description":"ASCII generation with Dicks Language on Cloudflare Workers and D1."},"servers":[{"url":"https://api.dicks.pink"},{"url":"https://dicks.pink","description":"Compatibility endpoint"}],"paths":{"/dicks":{"get":{"operationId":"generateDicks","summary":"Generate ASCII art","parameters":[{"name":"category","in":"query","required":true,"schema":{"type":"string","enum":["black","asian","white","random"]}},{"name":"count","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Generated art; statistics write acknowledged","content":{"application/json":{"schema":{"type":"object","required":["category","dicks"],"properties":{"category":{"type":"string"},"dicks":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Unsupported category"},"422":{"description":"Missing or invalid parameters"},"503":{"description":"Generation or storage unavailable; retry can duplicate a count"}}}},"/stats":{"get":{"operationId":"getStats","summary":"Get cumulative counts","responses":{"200":{"description":"Counts read from the D1 primary","content":{"application/json":{"schema":{"type":"object","required":["stats"],"properties":{"stats":{"type":"object","required":["black","asian","white","random"],"additionalProperties":{"type":"integer","minimum":0}}}}}}},"503":{"description":"Storage unavailable"}}}}}}