Quick Start

Get Rankify running in under 5 minutes.

Step 1Add Rankify to your Discord server

Step 2 — Create a Roblox Open Cloud API key at create.roblox.com/credentials with group:read and group:write permissions for your group

Step 3 — Run /setup group_id:YOUR_GROUP_ID cloud_key:YOUR_KEY

Step 4 — Run /setlog type:rank_changes channel:#rank-logs

Step 5 — Run /settings to assign HR, Moderator, and Admin roles

You can now use /promote, /demote, and all other commands.

Permission Levels

Rankify has four levels. Assign roles to each with /settings.

Level Can use
Admin/setup /settings /apikey /automation /ranklimit and everything below
Moderator/setrank /exile /shout /auditlog /bulkrank and everything below
HR/promote /demote /rankhistory /groupinfo
Member/verify /help /stats

If your server has Bloxlink installed, Rankify will automatically use it to verify members — no bio code needed.

When a member runs /verify, Rankify checks Bloxlink first. If their account is already linked there, they're verified instantly. If not, they fall back to the bio code method.

To enable Bloxlink lookups:

1. Go to blox.link/dashboard/api and generate an API key

2. In your Discord server run: /bloxlink setup api_key:YOUR_KEY

Note: The Bloxlink bot must also be in your Discord server for lookups to work. Each server sets their own key.

After verification, Rankify also calls Bloxlink's update-user endpoint to keep roles and nicknames in sync across both bots.

Rank Commands

All rank commands take a Roblox username as input. The rank field on /setrank and /bulkrank shows an autocomplete dropdown of all ranks in your group.

CMD /promote [username] [reason?] HR+

Promotes a user by one rank. Subject to rank lock rules if enabled.

CMD /demote [username] [reason?] HR+

Demotes a user by one rank.

CMD /setrank [username] [rank ▼] [reason?] Mod+

Set a user to any rank. The rank field shows an autocomplete dropdown of all ranks in your group. Start typing to filter.

CMD /exile [username] [reason?] Mod+

Removes a user from the group. Logged with their previous rank.

CMD /bulkrank [users] [rank ▼] [reason?] Premium

Set up to 20 users to a rank at once. Pass comma-separated Roblox usernames. Rank field has autocomplete.

CMD /rankhistory [username] [limit?] HR+

Shows the full rank change history for a user. Free: 30 days. Premium: forever.

Verification

CMD /verify

Links a member's Discord to their Roblox account. If Bloxlink is set up, this happens automatically — no steps needed. Otherwise, the member pastes a code into their Roblox bio and clicks confirm.

Rank Lock

Rank lock restricts who can rank who, based on their Roblox rank in the group.

CMD /ranklimit executor [enabled] Admin

When enabled, staff can only rank members who are below their own Roblox rank in the group. Prevents abuse — a rank 50 HR can't promote someone to rank 60.

CMD /ranklimit minimum [rank] Admin

Sets a minimum Roblox rank required to use any ranking command. Set to 0 to disable. Example: /ranklimit minimum 50 — only group members ranked 50 or above can promote/demote.

CMD /ranklimit status Admin

Shows current rank lock settings.

Configuration

CMD/setup [group_id] [cloud_key] [primary?]Admin

Links a Roblox group to your Discord server using an Open Cloud API key. The key is validated immediately — you'll get a clear error if it doesn't have the right permissions. Free tier supports 1 group, Premium is unlimited.

CMD/setlog [type] [channel] [remove?]Admin

Route events to specific channels. Available types:

rank_changes verifications group_joins group_leaves shouts api_events moderation inactivity all

CMD/automation create|list|toggle|deleteAdmin

Create automations that trigger actions on events. Free tier: 5 automations. Premium: unlimited. See the Automations guide for examples.

Info & Stats

CMD/stats

Server-wide stats — rank changes, top HR members, API usage, automation runs.

CMD/auditlog [limit?] [action?] [executor?]Mod+

Filterable log of all rank actions. Filter by action type or executor.

CMD/groupinfo [group_id?]

Shows group info and the full rank list.

API Overview

The Rankify REST API lets your Roblox games and external tools interact with your Discord server and Roblox group.

Base URL: https://rankifystudiosapi.velloracloud.ovh/v1

Auth header: X-Api-Key: rkfy_your_key

Rate limit: Free: 100 calls/day · Premium: Unlimited

Authentication

Generate a key with /apikey create name:MyKey in Discord. Pass it in every request:

# curl example curl https://rankifystudiosapi.velloracloud.ovh/v1/group/info \ -H "X-Api-Key: rkfy_your_key_here"

Rank Endpoints

POST/v1/rank/promote
{ "roblox_id": 123456789, "reason": "Won the tournament" } // Response { "success": true, "previous_rank": { "name": "Trainee" }, "new_rank": { "name": "Member" } }
POST/v1/rank/demote
{ "roblox_id": 123456789, "reason": "Optional reason" }
POST/v1/rank/setrank
{ "roblox_id": 123456789, "rank": "Senior Member" } // rank can be rank name (string) or rank number (e.g. 50)
POST/v1/rank/exile
{ "roblox_id": 123456789, "reason": "Rule violation" }
GET/v1/rank/:roblox_id
// Response { "roblox_id": 123456789, "rank": { "id": 50, "name": "Member" }, "in_group": true }

Group Endpoints

GET/v1/group/info

Returns group name, description, member count, and full role list.

GET/v1/group/roles

Returns all roles in the group with their rank numbers and IDs.

POST/v1/group/shout
{ "message": "Server restarting in 5 minutes!" }

Webhook / Custom Events

Send anything from your Roblox game to your Discord server. The most flexible endpoint in the API.

POST /v1/webhook/send

Three ways to use it:

// 1. Auto-formatted embed from key-value data { "event_type": "player_kill", "data": { "killer": "PlayerA", "victim": "PlayerB" } } // 2. Custom Discord embed { "channel_id": "1234567890", "embed": { "title": "Server Alert", "description": "Raid detected in server xyz", "color": 16711680 } } // 3. Plain message { "message": "Server restarting in 5 minutes" }

User Endpoints

GET/v1/verify/:roblox_id
// Check if a Roblox user has verified in your server { "verified": true, "roblox_id": 123456789, "discord_id": "9876543210" }
GET/v1/verify/discord/:discord_id

Reverse lookup — get the Roblox account linked to a Discord user ID.

RankifyClient.lua

Download RankifyClient.lua and place it in ServerScriptService. Enable HTTP in Game Settings → Security → Allow HTTP Requests.

ServerScript.lua
local Rankify = require(game.ServerScriptService.RankifyClient) Rankify.init("rkfy_your_api_key") -- Promote when player hits 100 kills if kills >= 100 then Rankify.promote(player.UserId, "100 kill milestone") end -- Send custom event to Discord Rankify.sendEvent("raid_alert", { server = game.JobId, players = #game.Players:GetPlayers() }) -- Auto-track activity every 5 minutes Rankify.startActivityTracking(5)

All SDK Methods

MethodDescription
Rankify.promote(userId, reason)Promote by one rank
Rankify.demote(userId, reason)Demote by one rank
Rankify.setRank(userId, rank, reason)Set to specific rank by name or number
Rankify.exile(userId, reason)Remove from group
Rankify.getRank(userId)Get current rank
Rankify.shout(message)Post a group shout
Rankify.isVerified(userId)Check if player has verified Discord
Rankify.sendEvent(type, data, opts)Send custom event to Discord
Rankify.startActivityTracking(mins)Auto-log player activity on interval

Setup Guide

Creating your Open Cloud Key

Rankify uses Roblox's official Open Cloud API — no alt accounts needed.

1. Go to create.roblox.com/credentials

2. Click Create API Key

3. Under Access Permissions → add Group → enable group:read and group:write → select your group

4. Under Accepted IP Addresses → add 0.0.0.0/0

5. Copy the key and run /setup group_id:YOUR_ID cloud_key:YOUR_KEY

Automations Guide

Automations run automatically when events happen. Example — assign a role when someone verifies:

/automation create name: "Give Verified Role" trigger: User Verified action: Assign Discord Role action_value: 1234567890123456789

Every time someone completes /verify, they automatically get that role. No manual work needed.

Rank Sync (Premium)

Rank sync keeps Discord roles and Roblox ranks in sync automatically every 30 minutes. Set it up with /ranksync add roblox_rank:50 discord_role:@Member.

Inactivity Reports (Premium)

Rankify posts a daily report of members who haven't been active in X days. Configure with /settings inactivity_days:14 channel:#inactivity. Activity is tracked automatically when you use Rankify.startActivityTracking() in your Roblox game.