Get a random cat factGet one random cat fact, ready to post. Cap its length when it has to fit somewhere, such as a Slack status or a subject line, and the service picks a fact that fits.
Get random cat factsGet several different cat facts at once, up to 25. No fact is drawn twice in the same batch. The catalogue is read once and the batch sampled from it, so twenty facts cost one request rather than twenty; asking for more than the catalogue holds returns what there is rather than failing.
List cat factsWalk the cat fact catalogue a page at a time, in the service's own order, with the total and the page counts beside the facts. Use this to work through every fact; use Get random cat facts for a handful to post.
Search cat factsFind the cat facts that mention something, a word, a breed or a place, best match first. The service has no search of its own, so the whole catalogue is read and matched here, and ranked with a whole-word hit worth far more than one buried inside a longer word. The total number of matches is always reported, however many are returned.
Get the cat fact of the dayPick one cat fact for a day and keep picking that same fact all day. A random draw gives a different one on every call, so a daily workflow that retries, or that two people run an hour apart, posts two different facts for the one day. This one is fixed by the date: the same date always gives the same fact, and tomorrow gives a different one. Add a seed of your own to have two workspaces post different facts on the same day.
List cat breedsList the cat breeds the service records, with the country, coat, pattern and origin it holds for each. Narrow by any of those fields: the service itself offers no filter at all, so the table is read once and narrowed here on whole words, which is what lets one spelling find another. The number of breeds matching is always reported, however many are returned.
Get a cat breedLook up one cat breed by name and get the country, coat, pattern and origin recorded for it. The service has no route that takes a name, so the table is read and matched here: an exact name always wins, and failing that a partial one resolves when it lands on a single breed, so 'bobtail' and 'Bengal cat' both work. A name matching two breeds is reported with both rather than guessed between.
Check service statusCheck whether catfact.ninja is answering, how quickly, and how much of the rate limit is left. This is the one action that reports a problem as a value instead of failing the step, so a workflow can decide what to do about it. Being throttled is reported separately from being down.