API Documentation
Access powerful Roblox group management features through our RESTful API. All endpoints require an API key to be included in the X-API-Key
header.
Table of Contents
Authentication
To use the readyRanking API, you first need to generate an API key using the readyRanking Discord bot.
/apikey generate
Run this command in your Discord server with the readyRanking bot. The bot will provide you with a unique API key that you can use to authenticate your API requests.
Make sure to keep your API key secure and do not share it publicly.
All API requests must include the API key in the X-API-Key
header.
Endpoints
Get Groups
GET /groups
Get a list of all groups associated with your API key.
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroups() local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups", Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroups() print(result.data)
Response Example
{ "success": true, "data": [ { "id": 1234567, "name": "My Group", "description": "Group description", "created_at": "2024-01-01T00:00:00Z" } ] }
Get Group
GET /groups/:groupId
Get detailed information about a specific group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroup(groupId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId, Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroup(1234567) print(result.data)
Response Example
{ "success": true, "data": { "id": 1234567, "name": "My Group", "description": "Group description", "created_at": "2024-01-01T00:00:00Z" } }
Get Group Members
GET /groups/:groupId/members
Get a list of all members in a group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroupMembers(groupId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/members", Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroupMembers(1234567) print(result.data)
Get Group Roles
GET /groups/:groupId/roles
Get a list of all roles in a group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroupRoles(groupId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/roles", Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroupRoles(1234567) print(result.data)
Get Group Wall
GET /groups/:groupId/wall
Get the wall posts of a group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroupWall(groupId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/wall", Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroupWall(1234567) print(result.data)
Get Group Audit Logs
GET /groups/:groupId/audit
Get the audit logs of a group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function getGroupAudit(groupId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/audit", Method = "GET", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = getGroupAudit(1234567) print(result.data)
Set Rank
POST /groups/:groupId/setrank
Set a user's rank in the group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
userId | number | Yes | The ID of the user to set rank for |
rankId | number | Yes | The ID of the rank to set |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function setRank(groupId, userId, rankId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/setrank", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key", ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode({ userId = userId, rankId = rankId }) }) return HttpService:JSONDecode(response.Body) end -- Usage local result = setRank(1234567, 7654321, 2) print(result.message)
Response Example
{ "success": true, "message": "Successfully set rank for user 7654321 to rank 2", "data": { "userId": 7654321, "rankId": 2, "rankName": "Member" } }
Promote User
POST /groups/:groupId/promote
Promote a user to the next rank in the group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
userId | number | Yes | The ID of the user to promote |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function promoteUser(groupId, userId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/promote", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key", ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode({ userId = userId }) }) return HttpService:JSONDecode(response.Body) end -- Usage local result = promoteUser(1234567, 7654321) print(result.message)
Response Example
{ "success": true, "message": "Successfully promoted user 7654321", "data": { "userId": 7654321, "oldRankId": 2, "newRankId": 3, "oldRankName": "Member", "newRankName": "Senior Member" } }
Demote User
POST /groups/:groupId/demote
Demote a user to the previous rank in the group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
userId | number | Yes | The ID of the user to demote |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function demoteUser(groupId, userId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/demote", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key", ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode({ userId = userId }) }) return HttpService:JSONDecode(response.Body) end -- Usage local result = demoteUser(1234567, 7654321) print(result.message)
Response Example
{ "success": true, "message": "Successfully demoted user 7654321", "data": { "userId": 7654321, "oldRankId": 3, "newRankId": 2, "oldRankName": "Senior Member", "newRankName": "Member" } }
Exile User
POST /groups/:groupId/exile
Remove a user from the group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
userId | number | Yes | The ID of the user to exile |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function exileUser(groupId, userId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/exile", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key", ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode({ userId = userId }) }) return HttpService:JSONDecode(response.Body) end -- Usage local result = exileUser(1234567, 7654321) print(result.message)
Response Example
{ "success": true, "message": "Successfully exiled user 7654321 from the group", "data": { "userId": 7654321, "previousRankId": 2, "previousRankName": "Member" } }
Accept Join Request
POST /groups/:groupId/joinrequests/:requestId/accept
Accept a pending join request.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
requestId | string | Yes | The ID of the join request to accept |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function acceptJoinRequest(groupId, requestId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/joinrequests/" .. requestId .. "/accept", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = acceptJoinRequest(1234567, "request-123") print(result.message)
Response Example
{ "success": true, "message": "Successfully accepted join request", "data": { "requestId": "request-123", "userId": 7654321, "username": "RobloxUser123" } }
Deny Join Request
POST /groups/:groupId/joinrequests/:requestId/deny
Deny a pending join request.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
requestId | string | Yes | The ID of the join request to deny |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function denyJoinRequest(groupId, requestId) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/joinrequests/" .. requestId .. "/deny", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key" } }) return HttpService:JSONDecode(response.Body) end -- Usage local result = denyJoinRequest(1234567, "request-123") print(result.message)
Response Example
{ "success": true, "message": "Join request denied successfully" }
Group Shout
POST /groups/:groupId/shout
Post a shout message to the group.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
groupId | number | Yes | The ID of the Roblox group |
message | string | Yes | The shout message to post |
-- Roblox Lua Example local HttpService = game:GetService("HttpService") local function postGroupShout(groupId, message) local response = HttpService:RequestAsync({ Url = "https://readyranking.xyz/api/groups/" .. groupId .. "/shout", Method = "POST", Headers = { ["X-API-Key"] = "your-api-key", ["Content-Type"] = "application/json" }, Body = HttpService:JSONEncode({ message = message }) }) return HttpService:JSONDecode(response.Body) end -- Usage local result = postGroupShout(1234567, "Hello, group!") print(result.message)
Response Example
{ "success": true, "message": "Group shout posted successfully", "data": { "message": "Hello, group!", "posted_at": "2024-01-01T00:00:00Z" } }