BloxCord
DevelopersFree

Build BloxCord directly into your game.

Using BloxCord in-game on live Roblox servers is effortless. BloxCord exposes a BindableFunction to game, and you can interface directly with it. Rank members, log moderation actions, award points, integrate sessions, fire webhooks, and more.

01/Authentication

No exposed key. No manual auth.

You never authenticate a request by hand. BloxCord's BindableFunction handles it for you. Every :Invoke() is sent with a short-lived token issued to your game server - so even a leaked API key is useless for third-parties.

Every request is signed with the server's token automaticallyNo API keys to embed, rotate, or leak in your codeA stolen key won't work outside your game when set up right
auth.luau
1-- No API keys or tokens live in your code.2local BloxCord = game:WaitForChild("BloxCord")34-- BloxCord signs every request with your server's5-- token, issued at runtime and scoped to this game.6local ok = BloxCord:Invoke("setRank", player.UserId,7    "Passed tryout", 5, moderator)89-- A leaked key is useless off your own servers.10print(ok) -- true
02/Moderation

Moderate with real consequences

createLogbookEntry isn't just a log line. One call runs the entire dashboard pipeline: rank changes, machine bans, timed expiries, Discord DMs, automated actions, and a permanent audit trail.

Suspensions, bans, warnings, demotions and moreSet epoch expiries for automatic reversalEvery entry is auditable back on the dashboard
moderate.luau
1-- One call runs every side effect the dashboard would:2-- rank change, machine ban, Discord DM, audit log.3local res = BloxCord:Invoke("createLogbookEntry", moderator, target.UserId, {4    type = "tban",5    reason = "Exploiting",6    expiry = os.time() * 1000 + 7 * 24 * 60 * 60 * 1000,7    mban = true,8})910if res and res.success then11    print("Successfully temp banned " .. target.Name)12end
03/Points & economy

Reward players the moment they earn it

Read balances and award points from live gameplay. Every change writes a categorised ledger entry, so your economy stays perfectly consistent between the game and the dashboard.

Pro tip: Hook point changes up to BloxCord Actions to trigger automated rank changes, webhook messages, and more. Perfect for rewarding cafe orders, or military trainings.

Instant, atomic balance updatesCategorise every change for clean reportingReads hit the same source of truth as the site
points.luau
1-- Read and award points with a full ledger entry2local balance = BloxCord:Invoke("getUserPoints", host, userId)34local res = BloxCord:Invoke("updateUserPoints", host, userId,5    50, "Event win", "events")67print(balance, "->", res.balance) -- 125 -> 175
04/Live Tables

Connect Live Tables to your game

Live Tables let your staff manage data on the dashboard that your game reads in real time. Pull rows straight into your experience and reference your own custom columns by key - perfect for dynamic settings, or even granting players perks.

Non-developers edit the data on the dashboardReference your own custom columns by keyPer-row expiries for time-limited entries
livetables.luau
1-- Find every Live Table row for this player2local rows = BloxCord:Invoke("getLiveTableRowsByName", player.UserId)34for _, item in ipairs(rows) do5    if item.listid == "6f1a2b3c" then -- my custom weapons list id6        local weapon = item.custom_keys.weapon7        giveTool(player, weapon)89        print(("Gave %s the tool %s, and it expires %s"):format(10            player.Name, weapon, os.date("%c", item.expiry / 1000)))11    end12end
05/Sessions

Interface BloxCord Sessions in your game

Start sessions, track attendees, and update marks, strikes, and phases without ever leaving Roblox.

Pro tip: Use this API to build your own in-game session tools. Common examples include !strike <player>, or even making a custom UI.

On-demand or scheduled sessionsLive attendee, mark and strike updatesReservations and phases fully supported
session.luau
1-- Host and run sessions from inside your game2local res = BloxCord:Invoke("startSession", host, {3    typeId = "training",4    mode = "on-demand",5})67BloxCord:Invoke("sessionUpdateAttendees", host, {8    sid = res.sid,9    add = { { id = 123, username = "Bob", rank = 5 } },10})
06/Webhooks

Announce anything to Discord

Create webhook templates on the dashboard, and fire them directly from your game. You can fill in variables that are automatically injected into the template via curley-braces.

Design a template once, fire it anywhere{actor}, {server} and {org} auto-injectedPerfect for raids, events, and alerts
webhook.luau
1-- Fire a configured Discord webhook template2BloxCord:Invoke("fireWebhook", actor, "tpl_raid", {3    reason = "Raid started",4    location = "Main Base",5})67-- {actor.username}, {server.jobId} and {org.name}8-- are injected into the template automatically.
07/Performance

Do it all in one trip

Bundle up to 20 operations into a single apiBatch call. They run in order and return individual results - ideal for staying well under Roblox's rate limits during your busiest moments.

Up to 20 sequential ops per requestMix points, logbook, webhooks and morePer-op success results returned
batch.luau
1-- Run up to 20 operations in a single request2local results = BloxCord:Invoke("apiBatch", actor, {3    { op = "points.update", args = { userId = "123", amount = 25 } },4    { op = "logbook.create", args = { userId = "456", type = "warning" } },5    { op = "webhook.fire", args = { templateId = "tpl_1" } },6})78for i, r in ipairs(results) do9    print(i, r.success)10end

What makes In-Game API great

Every dashboard action

Rank, moderate, points, sessions, and webhooks - all through one :Invoke() call.

Runs every side effect

createLogbookEntry fires rank changes, machine bans, Discord DMs, and audit logs.

Batch up to 20 ops

Bundle operations with apiBatch to stay well under Roblox's rate limits.

Secure by design

The actor is re-resolved server-side, gated behind your Remote Access toggle.

Ready to see it for yourself?

Set up your organization in minutes and give your community the platform it deserves. It's free to get started.