Skip to content

No-as-a-Service (NaaS) is a simple API that returns a random rejection reason. Use it when you need a realistic excuse, a fun “no,” or want to simulate being turned down in style.

Notifications You must be signed in to change notification settings

hotheadhacker/no-as-a-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❌ No-as-a-Service

No-as-a-Service Banner

Ever needed a graceful way to say “no”?
This tiny API returns random, generic, creative, and sometimes hilarious rejection reasons — perfectly suited for any scenario: personal, professional, student life, dev life, or just because.

Built for humans, excuses, and humor.

Sponsored by GitAds

This project is sponsored by GitAds.
You can get your GitHub repository sponsored too — create your account now.


🚀 API Usage

Base URL

https://naas.isalman.dev/no

Method: GET
Rate Limit: 120 requests per minute per IP

🔄 Example Request

GET /no

✅ Example Response

{
  "reason": "This feels like something Future Me would yell at Present Me for agreeing to."
}

Use it in apps, bots, landing pages, Slack integrations, rejection letters, or wherever you need a polite (or witty) no.


🛠️ Self-Hosting

Want to run it yourself? It’s lightweight and simple.

1. Clone this repository

git clone https://github.com/hotheadhacker/no-as-a-service.git
cd no-as-a-service

2. Install dependencies

npm install

3. Start the server

npm start

The API will be live at:

http://localhost:3000/no

You can also change the port using an environment variable:

PORT=5000 npm start

📁 Project Structure

no-as-service/
├── index.js            # Express API
├── reasons.json        # 1000+ universal rejection reasons
├── package.json
├── .devcontainer.json  # VS Code / Github devcontainer setup
└── README.md

📦 package.json

For reference, here’s the package config:

{
  "name": "no-as-service",
  "version": "1.0.0",
  "description": "A lightweight API that returns random rejection or no reasons.",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "hotheadhacker",
  "license": "MIT",
  "dependencies": {
    "express": "^4.18.2",
    "express-rate-limit": "^7.0.0"
  }
}

⚓ Devcontainer

If you open this repo in Github Codespaces, it will automatically use .devcontainer.json to set up your environment. If you open it in VSCode, it will ask you if you want to reopen it in a container.


Projects Using No-as-a-Service

Here are some projects and websites that creatively integrate no-as-a-service to deliver humorous or programmatic "no" responses:

  1. no-as-a-service-rust
    Rust implementation of this project.

  2. CSG Admins
    A system administration and gaming service hub using no-as-a-service to provide playful negative responses across some admin panels and commands.

  3. FunnyAnswers - /no endpoint
    A humor-focused API playground that includes a mirror or wrapper for no-as-a-service, perfect for developers exploring fun HTTP-based responses.

  4. Your Project Here?
    If you're using no-as-a-service in your project, open a pull request to be featured here!


Want to use no-as-a-service in your own project? Check out the usage section in this README and start returning "no" like a pro.


👤 Author

Created with creative stubbornness by hotheadhacker


📄 License

MIT — do whatever, just don’t say yes when you should say no.

About

No-as-a-Service (NaaS) is a simple API that returns a random rejection reason. Use it when you need a realistic excuse, a fun “no,” or want to simulate being turned down in style.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •