{"openapi":"3.0.3","apiPrefix":"","info":{"version":"1.0.0","title":"Cat as a service (CATAAS)","description":"Cat as a service (CATAAS) is a REST API to spread peace and love (or not) thanks to cats."},"tags":[{"name":"Cats","description":"Cataas API"},{"name":"API","description":"Public API"}],"paths":{"/api/cats":{"get":{"operationId":"api:cats","tags":["API"],"description":"Will return all cats","parameters":[{"in":"query","name":"limit","schema":{"type":"number","default":10}},{"in":"query","name":"skip","schema":{"type":"number","default":0}},{"in":"query","name":"tags","schema":{"type":"string"}}],"responses":{"200":{"description":"List of cats","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Cat"}}}}}}}},"/api/count":{"get":{"operationId":"api:count","tags":["API"],"description":"Count how many cat","responses":{"200":{"description":"List of tags","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"number"}}}}}}}}},"/api/tags":{"get":{"operationId":"api:tags","tags":["API"],"description":"Will return all tags","responses":{"200":{"description":"List of tags","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/cat":{"get":{"operationId":"cat:random","tags":["Cats"],"description":"Get a random cat","parameters":[{"in":"query","name":"type","schema":{"type":"string","enum":["square","medium","small","xsmall"]}},{"in":"query","name":"filter","schema":{"type":"string","enum":["mono","negate","custom"]}},{"in":"query","name":"fit","schema":{"type":"string","enum":["cover","contain","fill","inside","outside"]}},{"in":"query","name":"position","schema":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"],"default":"center"}},{"in":"query","name":"width","schema":{"type":"number"}},{"in":"query","name":"height","schema":{"type":"number"}},{"in":"query","name":"blur","schema":{"type":"number"}},{"in":"query","name":"r","description":"With custom filter, define red value between 0 and 255","schema":{"type":"number","description":"With custom filter, define red value between 0 and 255"}},{"in":"query","name":"g","description":"With custom filter, define green value between 0 and 255","schema":{"type":"number","description":"With custom filter, define green value between 0 and 255"}},{"in":"query","name":"b","description":"With custom filter, define blue value between 0 and 255","schema":{"type":"number","description":"With custom filter, define blue value between 0 and 255"}},{"in":"query","name":"brightness","description":"With custom filter, define brightness","schema":{"type":"number","description":"With custom filter, define brightness"}},{"in":"query","name":"saturation","description":"With custom filter, define saturation","schema":{"type":"number","description":"With custom filter, define saturation"}},{"in":"query","name":"hue","description":"With custom filter, define hue","schema":{"type":"number","description":"With custom filter, define hue"}},{"in":"query","name":"lightness","description":"With custom filter, define lightness","schema":{"type":"number","description":"With custom filter, define lightness"}},{"in":"query","name":"html","schema":{"type":"boolean"}},{"in":"query","name":"json","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}}}}},"/cat/says/{text}":{"get":{"operationId":"cat:random:text","tags":["Cats"],"description":"Get random cat saying text","parameters":[{"in":"path","name":"text","schema":{"type":"string"},"required":true},{"in":"query","name":"type","schema":{"type":"string","enum":["square","medium","small","xsmall"]}},{"in":"query","name":"filter","schema":{"type":"string","enum":["mono","negate","custom"]}},{"in":"query","name":"fit","schema":{"type":"string","enum":["cover","contain","fill","inside","outside"]}},{"in":"query","name":"position","schema":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"],"default":"center"}},{"in":"query","name":"width","schema":{"type":"number"}},{"in":"query","name":"height","schema":{"type":"number"}},{"in":"query","name":"blur","schema":{"type":"number"}},{"in":"query","name":"r","description":"With custom filter, define red value between 0 and 255","schema":{"type":"number","description":"With custom filter, define red value between 0 and 255"}},{"in":"query","name":"g","description":"With custom filter, define green value between 0 and 255","schema":{"type":"number","description":"With custom filter, define green value between 0 and 255"}},{"in":"query","name":"b","description":"With custom filter, define blue value between 0 and 255","schema":{"type":"number","description":"With custom filter, define blue value between 0 and 255"}},{"in":"query","name":"brightness","description":"With custom filter, define brightness","schema":{"type":"number","description":"With custom filter, define brightness"}},{"in":"query","name":"saturation","description":"With custom filter, define saturation","schema":{"type":"number","description":"With custom filter, define saturation"}},{"in":"query","name":"hue","description":"With custom filter, define hue","schema":{"type":"number","description":"With custom filter, define hue"}},{"in":"query","name":"lightness","description":"With custom filter, define lightness","schema":{"type":"number","description":"With custom filter, define lightness"}},{"in":"query","name":"html","schema":{"type":"boolean"}},{"in":"query","name":"json","schema":{"type":"boolean"}},{"in":"query","name":"font","schema":{"type":"string","enum":["Andale Mono","Impact","Arial","Arial Black","Comic Sans MS","Courier New","Georgia","Times New Roman","Verdana","Webdings"],"default":"Impact"}},{"in":"query","name":"fontSize","schema":{"type":"number","default":50}},{"in":"query","name":"fontColor","schema":{"type":"string","default":"#fff"}},{"in":"query","name":"fontBackground","schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}}}}},"/cat/{id}":{"get":{"operationId":"cat:get","tags":["Cats"],"description":"Get cat by id","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}},"404":{"description":"Cat not found"}}}},"/cat/{id}/says/{text}":{"get":{"operationId":"cat:get:text","tags":["Cats"],"description":"Get cat by id saying text","parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true},{"in":"path","name":"text","schema":{"type":"string"},"required":true},{"in":"query","name":"type","schema":{"type":"string","enum":["square","medium","small","xsmall"]}},{"in":"query","name":"filter","schema":{"type":"string","enum":["mono","negate","custom"]}},{"in":"query","name":"fit","schema":{"type":"string","enum":["cover","contain","fill","inside","outside"]}},{"in":"query","name":"position","schema":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"],"default":"center"}},{"in":"query","name":"width","schema":{"type":"number"}},{"in":"query","name":"height","schema":{"type":"number"}},{"in":"query","name":"blur","schema":{"type":"number"}},{"in":"query","name":"r","description":"With custom filter, define red value between 0 and 255","schema":{"type":"number","description":"With custom filter, define red value between 0 and 255"}},{"in":"query","name":"g","description":"With custom filter, define green value between 0 and 255","schema":{"type":"number","description":"With custom filter, define green value between 0 and 255"}},{"in":"query","name":"b","description":"With custom filter, define blue value between 0 and 255","schema":{"type":"number","description":"With custom filter, define blue value between 0 and 255"}},{"in":"query","name":"brightness","description":"With custom filter, define brightness","schema":{"type":"number","description":"With custom filter, define brightness"}},{"in":"query","name":"saturation","description":"With custom filter, define saturation","schema":{"type":"number","description":"With custom filter, define saturation"}},{"in":"query","name":"hue","description":"With custom filter, define hue","schema":{"type":"number","description":"With custom filter, define hue"}},{"in":"query","name":"lightness","description":"With custom filter, define lightness","schema":{"type":"number","description":"With custom filter, define lightness"}},{"in":"query","name":"html","schema":{"type":"boolean"}},{"in":"query","name":"json","schema":{"type":"boolean"}},{"in":"query","name":"font","schema":{"type":"string","enum":["Andale Mono","Impact","Arial","Arial Black","Comic Sans MS","Courier New","Georgia","Times New Roman","Verdana","Webdings"],"default":"Impact"}},{"in":"query","name":"fontSize","schema":{"type":"number","default":50}},{"in":"query","name":"fontColor","schema":{"type":"string","default":"#fff"}},{"in":"query","name":"fontBackground","schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}},"404":{"description":"Cat not found"}}}},"/cat/{tag}":{"get":{"operationId":"cat:random:tag","tags":["Cats"],"description":"Get random cat by tag","parameters":[{"in":"path","name":"tag","schema":{"type":"string"},"required":true},{"in":"query","name":"type","schema":{"type":"string","enum":["square","medium","small","xsmall"]}},{"in":"query","name":"filter","schema":{"type":"string","enum":["mono","negate","custom"]}},{"in":"query","name":"fit","schema":{"type":"string","enum":["cover","contain","fill","inside","outside"]}},{"in":"query","name":"position","schema":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"],"default":"center"}},{"in":"query","name":"width","schema":{"type":"number"}},{"in":"query","name":"height","schema":{"type":"number"}},{"in":"query","name":"blur","schema":{"type":"number"}},{"in":"query","name":"r","description":"With custom filter, define red value between 0 and 255","schema":{"type":"number","description":"With custom filter, define red value between 0 and 255"}},{"in":"query","name":"g","description":"With custom filter, define green value between 0 and 255","schema":{"type":"number","description":"With custom filter, define green value between 0 and 255"}},{"in":"query","name":"b","description":"With custom filter, define blue value between 0 and 255","schema":{"type":"number","description":"With custom filter, define blue value between 0 and 255"}},{"in":"query","name":"brightness","description":"With custom filter, define brightness","schema":{"type":"number","description":"With custom filter, define brightness"}},{"in":"query","name":"saturation","description":"With custom filter, define saturation","schema":{"type":"number","description":"With custom filter, define saturation"}},{"in":"query","name":"hue","description":"With custom filter, define hue","schema":{"type":"number","description":"With custom filter, define hue"}},{"in":"query","name":"lightness","description":"With custom filter, define lightness","schema":{"type":"number","description":"With custom filter, define lightness"}},{"in":"query","name":"html","schema":{"type":"boolean"}},{"in":"query","name":"json","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}}}}},"/cat/{tag}/says/{text}":{"get":{"operationId":"cat:random:tag:text","tags":["Cats"],"description":"Get random cat by tag saying text","parameters":[{"in":"path","name":"tag","schema":{"type":"string"},"required":true},{"in":"path","name":"text","schema":{"type":"string"},"required":true},{"in":"query","name":"type","schema":{"type":"string","enum":["square","medium","small","xsmall"]}},{"in":"query","name":"filter","schema":{"type":"string","enum":["mono","negate","custom"]}},{"in":"query","name":"fit","schema":{"type":"string","enum":["cover","contain","fill","inside","outside"]}},{"in":"query","name":"position","schema":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"],"default":"center"}},{"in":"query","name":"width","schema":{"type":"number"}},{"in":"query","name":"height","schema":{"type":"number"}},{"in":"query","name":"blur","schema":{"type":"number"}},{"in":"query","name":"r","description":"With custom filter, define red value between 0 and 255","schema":{"type":"number","description":"With custom filter, define red value between 0 and 255"}},{"in":"query","name":"g","description":"With custom filter, define green value between 0 and 255","schema":{"type":"number","description":"With custom filter, define green value between 0 and 255"}},{"in":"query","name":"b","description":"With custom filter, define blue value between 0 and 255","schema":{"type":"number","description":"With custom filter, define blue value between 0 and 255"}},{"in":"query","name":"brightness","description":"With custom filter, define brightness","schema":{"type":"number","description":"With custom filter, define brightness"}},{"in":"query","name":"saturation","description":"With custom filter, define saturation","schema":{"type":"number","description":"With custom filter, define saturation"}},{"in":"query","name":"hue","description":"With custom filter, define hue","schema":{"type":"number","description":"With custom filter, define hue"}},{"in":"query","name":"lightness","description":"With custom filter, define lightness","schema":{"type":"number","description":"With custom filter, define lightness"}},{"in":"query","name":"html","schema":{"type":"boolean"}},{"in":"query","name":"json","schema":{"type":"boolean"}},{"in":"query","name":"font","schema":{"type":"string","enum":["Andale Mono","Impact","Arial","Arial Black","Comic Sans MS","Courier New","Georgia","Times New Roman","Verdana","Webdings"],"default":"Impact"}},{"in":"query","name":"fontSize","schema":{"type":"number","default":50}},{"in":"query","name":"fontColor","schema":{"type":"string","default":"#fff"}},{"in":"query","name":"fontBackground","schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"Cat returned","content":{"image/*":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Cat"}}}}}}}},"components":{"securitySchemes":{},"schemas":{"Cat":{"type":"object","properties":{"id":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"mimetype":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","tags","mimetype","createdAt"]}}}}