SLACKZILLA

API OVERVIEW

Slackzilla's API allows you to interact with the bot programmatically. You can retrieve information, send commands, and manage users through the available endpoints.

To access the API, which will normally need a bearer/authentication-token, but for testing purposes, i wont require it once the pai has been implemented, the API will be rate limited to 20 reqs per ip per minute.

NOTE: THERE IS NO AUTHENTICATION AND THIS IS THE PLAN

The Slackzilla API Bearer Token will use Slack OAuth 2.0 in order to verify your identity and will recieve the token, (this is to stop these hackers from spamming the api and to keep it secure) the token generated will will expire after 2 weeks (you have to referesh the token via api or manually) Each API credential will consist of a Key ID and a Secret API Key. The Key ID identifies the credential, while the Secret API Key is used to authenticate requests. Secret keys are generated using a cryptographically secure random number generator and only a SHA-256 hash of the key is stored on the server. If a secret key is lost, it cannot be recovered and must be regenerated.

API STATUS

StatusOnline
Versionbeta
Base URLhttps://rylvion.hackclub.app/api/
AuthenticationNone (Rate Limited)
Rate Limit20 requests/minutes/ip
API Status#̴̗͉͉͎̻̭̈́͗̀̆̏̎̄̚#̸̡͉͍̲̞̣̰̤̹͙̠͓̪̦̻̘͎̝͔̪̼͇̖̖̮͕̤̑̍͌̒͑̌̀̈͗̅͜#̸̱̳̱̺̰̗̘̥͔̖̥̤͈͍̘͈̜̮̖͈̼̫͓̝̳̲͔̀͛̈́̒̅͒͗̊̐̓͂̏̅̆̀͝ͅ#̸̛̭̟̝̯̘̩̮̦͉̮̜͓̓́͆̇̓̈́̿̒̇̽͑̀͋̓̀͑̑̋̚͝͝#̸̧̢̡̡̢̨̛͚̘̹̦̱̺̱̳̰͚̬̞͔̟̣̙̺͍̟̙̤̙͕̘̬̈́͐̓͊͌͑͑́̏͆̓̄̿́̎̆̑̀̐͠͠

Error Codes

200Request successful
400Invalid request
401Authentication required
404Endpoint not found
429Rate limit exceeded
500Internal server error

ENDPOINTS

once the api has been implemented,

All endpoints are experimental and WILL not work as of rn but you might just stumble across them when i have just implemented it. The proposed endpoints are as follows: any ideas or suggestions for api are welcome.

Base URL: https://rylvion.hackclub.app/api

GET /commands

Returns every command currently registered with Slackzilla.

Commands include their slash command, description, category and usage information.

Query Parameters

?categories

Optional. Filters commands by one or more categories. Separate multiple categories with commas.

Typestring
RequiredNo
Examplecore,utility
?search

Optional. Searches command names and descriptions.

Typestring
RequiredNo
Exampleping

Example Request

                            
curl \
https://rylvion.hackclub.app/api/commands

Filter By Category

curl \
"https://rylvion.hackclub.app/api/commands?categories=core,utility"

Search Commands

curl \
"https://rylvion.hackclub.app/api/commands?search=ping"

Successful Response

{
    "success": true,
    "version": "v0.7.1-beta",
    "generatedAt": "2026-07-29T13:10:42.123Z",
    "count": 22,
    "commands": [
        {
            "name": "ping",
            "cmd": "/sz-ping",
            "description": "idk js pongs ig",
            "category": "core",
            "usage_hint": ""
        },
        {
            "name": "hash",
            "cmd": "/sz-hash",
            "description": "generates a hash of a string, default: sha256",
            "category": "utility",
            "usage_hint": "<algorithm> <text>"
        },
    ]
}

Search Result

{
    "success": true,
    "count": 1,
    "commands": [
        {
            "name": "ping",
            "cmd": "/sz-ping",
            "description": "idk js pongs ig",
            "category": "core"
        }
    ]
}

Single Command

You may also request information about a specific command.

/ping
                                
{
    "success": true,
    "command": {
        "name": "ping",
        "cmd": "/sz-ping",
        "description": "idk js pongs ig",
        "category": "core",
        "usage_hint": ""
    }
}

Unknown Command

/foo
{
    "success": false,
    "error": {
        "code": 404,
        "code_name": "COMMAND_NOT_FOUND",
        "message": "Command 'foo' does not exist."
    }
}
GET /status
POST /hash
POST /roll
POST /calc