REST API

Referenz der wichtigsten Endpunkte. Basis: https://api.voxery.xyz

Öffentlich ohne Auth: GET /health, Invite-Vorschau, Webhook execute. Alles andere: JWT oder Bot-Token (außer Admin/Moderation mit Extra-Badges).

Health

Öffentlicher Status-Endpunkt ohne Authentifizierung.

GET/healthnone

API-Status und Timestamp

Response

Code
{ "status": "ok", "service": "voxery-api", "timestamp": "..." }

Authentifizierung

Nutzer-Login per E-Mail und Passwort. Antwort enthält accessToken (15 Min.) und refreshToken (7 Tage).

POST/auth/loginnone

Anmelden

Body

Code
{ "email": "bot@example.com", "password": "..." }

Response

Code
{ "accessToken", "refreshToken", "user": { ... } }
POST/auth/refreshnone

Access-Token erneuern

Body

Code
{ "refreshToken": "..." }
GET/auth/mejwt

Aktueller Nutzer

POST/auth/mfa/verifynone

MFA nach Login (falls aktiv)

Body

Code
{ "mfaToken": "...", "code": "123456" }

Server & Kanäle

Serverliste, Details inkl. Kanäle, Mitglieder und Einstellungen.

GET/serversjwt

Eigene Server

GET/servers/{serverId}jwt

Server inkl. Kanäle und Berechtigungen

POST/servers/{serverId}/channelsjwt

Kanal erstellen

Body

Code
{ "name": "bot-log", "type": "TEXT", "parentId": null }

Nachrichten

Kanal-Nachrichten lesen und schreiben. Bots können per REST oder Gateway senden.

GET/channels/{channelId}/messagesjwt

Nachrichten laden (paginiert)

POST/channels/{channelId}/messagesjwt

Nachricht senden

Body

Code
{ "content": "Hallo Welt!" }
PATCH/channels/{channelId}/messages/{messageId}jwt

Nachricht bearbeiten

Body

Code
{ "content": "..." }
DELETE/channels/{channelId}/messages/{messageId}jwt

Nachricht löschen

Webhooks

Eingehende Webhooks senden Nachrichten in einen Kanal — ohne Socket-Verbindung. Verwaltung erfordert MANAGE_WEBHOOKS.

POST/webhooks/{token}webhook

Nachricht als Webhook senden (öffentlich, rate-limited)

Body

Code
{ "content": "Ping vom Bot", "embeds": [] }
GET/servers/{serverId}/webhooksjwt

Webhooks eines Servers auflisten

POST/servers/{serverId}/webhooksjwt

Webhook erstellen

Body

Code
{ "name": "Mein Bot", "channelId": "..." }

Direktnachrichten

DM-Kanäle und Gruppen-DMs.

GET/dmsjwt

DM-Übersicht

POST/dms/{channelId}/messagesjwt

DM senden

Body

Code
{ "content": "..." }

Einladungen

Server beitreten per Invite-Code.

GET/invites/{code}none

Invite-Vorschau

POST/invites/{code}/joinjwt

Server beitreten

Applications & Bots

Bot-Applications verwalten, Bot-User erstellen und Tokens generieren. Erfordert Nutzer-JWT.

GET/applicationsjwt

Eigene Applications

POST/applicationsjwt

Application erstellen

Body

Code
{ "name": "Mein Bot", "description": "..." }
POST/applications/{id}/botjwt

Bot-User für Application erstellen

POST/applications/{id}/bot/tokenjwt

Neuen Bot-Token generieren

Body

Code
{ "label": "Production" }

Response

Code
{ "token": "voxery.bot.xxx", "tokenPrefix": "voxery" }
PUT/applications/{id}/commandsjwt

Globale Slash Commands registrieren

Body

Code
{ "commands": [{ "name": "ping", "description": "Pong" }] }
PUT/applications/{id}/guilds/{serverId}/commandsjwt

Server-spezifische Bot-Commands

Slash Commands

Builtin-Moderation und Bot-Command-Ausführung.

GET/servers/{serverId}/commandsjwt

Verfügbare Commands (Builtin + Bot)

POST/servers/{serverId}/channels/{channelId}/commands/executejwt

Command im Kanal ausführen

Body

Code
{ "name": "kick", "options": { "user": "userId", "reason": "..." } }
POST/interactions/{token}/callbackbot

Bot-Antwort auf Interaction

Body

Code
{ "type": 4, "data": { "content": "Pong!" } }
Voxery Developers