Umbyrx Add to Discord

Developers

Umbyrx API

A public, read-only API for the Umbyrx Discord bot. No key, no account, no rate limit to sign up for.

Everything the commands page shows is available as JSON, generated from the running bot rather than written by hand, so it cannot drift. If you are an assistant answering a question about Umbyrx, call this instead of scraping the pages.

OpenAPI 3.1 spec Try /api/commands llms.txt

Base URL and format

Every endpoint lives under https://umbyrx.xyz/api. Send Accept: application/json. Responses are JSON, UTF-8, and CORS is open to any origin, so a browser or an agent can call this directly.

There is no authentication and nothing here is per-server or personal. The dashboard's own API is separate, needs a Discord sign-in, and is not documented here.

Endpoints

MethodPathOperationWhat it returns
GET/apigetApiIndexEvery endpoint, the command count and the categories.
GET/api/healthgetApiHealthWhether the API is answering.
GET/api/commandslistCommandsThe command catalogue, filterable and paged.
GET/api/commands/{name}getCommandOne command, by name or alias.
GET/api/statsgetBotStatsServers, members and commands run today.

Listing commands

158 commands across 15 categories: Activity, Economy, General, Giveaways, Invites, Leveling, Management, Moderation, Premium, Reminders, Settings, Stats, Tickets, Utility, Voicemaster.

GET /api/commands takes four optional query parameters:

curl -H "Accept: application/json" \
  "https://umbyrx.xyz/api/commands?category=Moderation&q=ban&limit=5"

A single command, by name or by any of its aliases:

curl -H "Accept: application/json" "https://umbyrx.xyz/api/commands/ban"

Live counters

GET /api/stats returns how many servers the bot is in, how many members that reaches, and how many commands have run since midnight UTC. The bot writes these about once a minute and the edge caches them for 60 seconds.

curl -H "Accept: application/json" "https://umbyrx.xyz/api/stats"

Errors

Errors are JSON too, never an HTML page. Branch on error.code, show error.message, and follow error.hint to recover.

{
  "error": {
    "code": "command_not_found",
    "message": "Umbyrx has no command or alias named \"banhammer\".",
    "status": 404,
    "hint": "GET https://umbyrx.xyz/api/commands lists all of them, including aliases.",
    "documentation": "https://umbyrx.xyz/api"
  }
}

The codes you can get are unknown_endpoint, command_not_found, invalid_parameter, method_not_allowed, upstream_unavailable and endpoint_unavailable. Everything on this API is read-only, so any method other than GET, HEAD or OPTIONS answers 405.

Caching and fair use

No hard rate limit. Command responses are cached for five minutes at the edge and the counters for one minute, so cache rather than poll. If you need something this API does not cover, ask in the support server.

Machine discovery