Endpoints

Everything a key can use, grouped by area, with the permission it needs. Paths are relative to https://api.technified.xyz/v1. For every field, see the OpenAPI description.

Your server

EndpointNeedsWhat it is for
GET/guilds/:guildIdsettings.readThe server and its settings.
PATCH/guilds/:guildId/settingssettings.writeChange settings. Needs If-Match.
GET/guilds/:guildId/permissionsanyWhat this key may do here.
GET/guilds/:guildId/summarysettings.readName and member count.
GET/guilds/:guildId/plananyLimits and how much is used.
GET/guilds/:guildId/auditaudit.readWho changed what, and when.
GET/guilds/:guildId/inboxtickets.read or forms.readWhat is waiting: open tickets, applications, appeals.

Members and linked accounts

EndpointNeedsWhat it is for
GET/guilds/:guildId/verification/membersmembers.readMembers with a linked Roblox account. Search with q.
GET/guilds/:guildId/verification/members/:discordUserIdmembers.readOne member and the Roblox account they linked.
GET/guilds/:guildId/verification/members/searchmembers.readFind members by name, Discord id, or Roblox username.
DELETE/guilds/:guildId/verification/members/:discordUserIdverification.writeStop using somebody’s link here and take their roles back.
POST/guilds/:guildId/verification/startverification.writeMake a verification link for somebody.

Good to know

Only members who agreed to share their link with your server are shown. Somebody who linked on another server stays hidden until they verify on yours.

Role sync and Roblox groups

EndpointNeedsWhat it is for
GET/guilds/:guildId/bindingsbindings.readYour role sync rules.
POST/guilds/:guildId/bindingsbindings.writeAdd a rule.
GET/guilds/:guildId/bindings/preview/:discordUserIdbindings.readWhat one member would get or lose. Changes nothing.
POST/guilds/:guildId/bindings/sync/:discordUserIdbindings.writeGive one member their roles now.
GET/guilds/:guildId/groups/:groupId/membersgroups.readWho is in your Roblox group.
POST/guilds/:guildId/groups/:groupId/membersgroups.writeChange somebody’s rank.
GET/guilds/:guildId/groups/:groupId/join-requestsgroups.readPeople waiting to join.
POST/guilds/:guildId/groups/:groupId/join-requestsgroups.writeAccept or decline one.

Moderation

EndpointNeedsWhat it is for
GET/guilds/:guildId/moderation/statusmoderation.readIs this account banned or muted right now? Fast, for joins.
GET/guilds/:guildId/moderation/historymoderation.readEverything one person was ever punished for.
GET/guilds/:guildId/moderation/punishmentsmoderation.readThe list, with filters for platform, type, state, target and date.
POST/guilds/:guildId/moderation/punishmentsmoderation.writeIssue a punishment. Send an Idempotency-Key.
POST/guilds/:guildId/moderation/punishments/bulkmoderation.writeThe same punishment for many accounts.
GET/guilds/:guildId/moderation/punishments/:idmoderation.readOne punishment and how it was carried out.
POST/guilds/:guildId/moderation/punishments/:id/revokemoderation.writeLift it. A reason is required.
GET/guilds/:guildId/moderation/templatesmoderation.readSaved reasons and lengths.

Good to know

Punishments are never edited or deleted, only lifted. That keeps the record honest, so there is no endpoint for it.

Tickets

EndpointNeedsWhat it is for
GET/guilds/:guildId/ticketstickets.readTickets, filterable by state, panel, opener and who handles it.
GET/guilds/:guildId/tickets/:ticketIdtickets.readOne ticket.
POST/guilds/:guildId/tickets/:ticketId/claimtickets.writeTake it on.
POST/guilds/:guildId/tickets/:ticketId/closetickets.writeClose it, saving a transcript.
GET/guilds/:guildId/tickets/transcriptstickets.readSaved transcripts.
GET/guilds/:guildId/tickets/transcripts/:transcriptIdtickets.readOne transcript, as a web page.

Applications and appeals

EndpointNeedsWhat it is for
GET/guilds/:guildId/formsforms.readYour forms.
GET/guilds/:guildId/submissionsforms.readSubmissions, filterable by form and state.
GET/guilds/:guildId/submissions/:submissionIdforms.readOne submission, with its questions as they were.
POST/guilds/:guildId/submissions/:submissionId/decideforms.writeApprove or decline. The person is told.

Staff

EndpointNeedsWhat it is for
GET/guilds/:guildId/staffstaff.readYour staff team.
GET/guilds/:guildId/staff/rolesstaff.readStaff roles and what each may do.
GET/guilds/:guildId/staff/members/:discordUserId/summarystaff.readIs this person staff, and with which rank? Quick.
GET/guilds/:guildId/staff/activitystaff.readHours worked, per person.
GET/guilds/:guildId/staff/leavestaff.readLeave requests.
GET/guilds/:guildId/staff/recordsstaff.readNotes and strikes.

Game servers

EndpointNeedsWhat it is for
GET/guilds/:guildId/serversservers.readEvery live server of your games, with player counts.
GET/guilds/:guildId/servers/:serverIdservers.readOne server and everybody in it.
GET/guilds/:guildId/servers/playersservers.readWhere somebody is playing right now. Search with q.
POST/guilds/:guildId/servers/:serverId/commandsservers.commandSend one server a message, an announcement or a shutdown.
POST/guilds/:guildId/servers/broadcastservers.broadcastThe same, to every live server at once.

A command is sent as {"command": { "type": ..., ... }}. A broadcast can add universeId to reach only one of your games.

typeWhat the game does
announceShows message to every player. Needs message.
messageShows message to one player. Needs robloxUserId and message.
kickRemoves one player. Needs robloxUserId and reason.
banBans one player in that server. Needs robloxUserId and reason; expiresAt is optional. For a ban everywhere, issue a punishment instead.
muteMutes one player in chat. Same fields as ban. unban and unmute take only robloxUserId.
teleportSends a player to another place. Needs robloxUserId and placeId; jobId is optional.
shutdownCloses the server. reason is optional.
customYour own action name and data, handled by your own game code.

Messages and more

EndpointNeedsWhat it is for
GET/guilds/:guildId/messagessettings.readSaved messages.
POST/guilds/:guildId/messages/:messageId/postsettings.writePost one into a channel.
POST/guilds/:guildId/messages/:messageId/updatesettings.writeUpdate the one already posted.
GET/guilds/:guildId/filtersfilters.readChat filters.
GET/guilds/:guildId/configuration/exportsettings.writeYour whole setup as one document, for a backup.
GET/guilds/:guildId/eventsanyLive updates. See Live updates.

Endpoints you do not need

A few endpoints exist only for the Technified game module (heartbeats, the join check, shift reports) or for people in the dashboard (creating keys, submitting forms, asking for leave). They are in the OpenAPI description, but you do not need to call them yourself.

Still stuck? Get help from the Technified team.