:::::::::: :::       :::    ::: :::::::::: :::::::::: :::::::::: :::::::::: ::::::::::: ::::::::  :::    ::: :::::::::: ::::::::: 
     :+:        :+:       :+:    :+: :+:        :+:        :+:        :+:            :+:    :+:    :+: :+:    :+: :+:        :+:    :+: 
    +:+        +:+       +:+    +:+ +:+        +:+        +:+        +:+            +:+    +:+    +:+ +:+    +:+ +:+        +:+    +:+  
   :#::+::#   +#+       +#+    +:+ :#::+::#   :#::+::#   :#::+::#   +#++:++#       +#+    +#+        +#++:++#++ +#++:++#   +#++:++#:    
  +#+        +#+       +#+    +#+ +#+        +#+        +#+        +#+            +#+    +#+        +#+    +#+ +#+        +#+    +#+    
 #+#        #+#       #+#    #+# #+#        #+#        #+#        #+#            #+#    #+#    #+# #+#    #+# #+#        #+#    #+#     
###        ########## ########  ###        ###        ###        ##########     ###     ########  ###    ### ########## ###    ###      

Fluff-Fetcher API Documentation

Comprehensive guide to integrating with our multi-function API for images, GIFs, and text content

Overview

Welcome to the Fluff-Fetcher API documentation. This API provides easy access to images, GIFs, and text content for your applications.

Base URL
https://api.cat-space.net/api

All API responses are returned in JSON format unless otherwise specified.

Rate Limits

To ensure service stability and availability for all users, the API implements the following rate limits:

Scope Limit
Per Minute 100 requests per IP address
Per Hour 1,000 requests per IP address

If you exceed these limits, you'll receive a 429 Too Many Requests response.

GIFs Endpoint

SFW
GET /api/sfw/gifs/{category}

Returns a random SFW GIF from the specified category.

Parameters
Name Type Required Description
category string No Filter GIFs by category (e.g., 'hug', 'pat', 'cry', ...)
Example
Request
fetch('https://api.cat-space.net/api/sfw/gifs/hug') .then(response => response.json()) .then(data => console.log(data));
Response
{ "handler": "/handlers/sfw/gifs", "title": "GIF URL", "url": "https://api.cat-space.net/cdn/storage/sfw/gifs/hug/039.gif", "filename": "039.gif", "status": "success" }

Jokes Endpoint

Text
GET /api/text/jokes

Returns a random joke from the specified category.

Parameters
Name Type Required Description
category string No Filter jokes by category (e.g., 'general', 'programming', 'dad')
Example
Request
fetch('https://api.cat-space.net/api/text/jokes?category=programming') .then(response => response.json()) .then(data => console.log(data));
Response
{ "handler": "/handlers/text/jokes", "category": "programmer", "joke": "Real programmers count from 0.", "status": "success" }

Truth or Dare Endpoint

Text
GET /api/text/truthordare/{type}

Returns a random truth or dare prompt based on the type parameter.

Parameters
Name Type Required Description
type string No Specify 'truth' or 'dare' (returns random if not specified)
Example
Request
fetch('https://api.cat-space.net/api/text/truthordare/truth') .then(response => response.json()) .then(data => console.log(data));
Response
{ "handler": "/handlers/text/truthordare", "type": "truth", "question": "What's the most embarrassing typo you've ever made?", "status": "success" }

Would You Rather Endpoint

Text
GET /api/text/wouldyourather

Returns a random "Would You Rather" question.

Example
Request
fetch('https://api.cat-space.net/api/text/wouldyourather') .then(response => response.json()) .then(data => console.log(data));
Response
{ "handler": "/handlers/text/wouldyourather", "question": "Would you rather have to use light mode on all apps or have every app randomly switch between light and dark mode?", "status": "success" }

Error Handling

When an error occurs, the API will return an appropriate HTTP status code along with a JSON response containing error details.

Error Response Format
{ "error": true, "status": 404, "message": "Resource not found" }
Common Error Codes
400
Bad Request - Your request is invalid.
404
Not Found - The requested resource could not be found.
429
Too Many Requests - You've exceeded the rate limit.
500
Internal Server Error - Something went wrong on our end.