API Dokumentation
Allgemeines
Die API kann verwendet werden, um der eigenen Community zusätzliche Möglichkeiten zu bieten, mit Events zu interagieren oder Informationen anzuzeigen. Teile gerne deine Ideen, vielleicht können auch andere davon profitieren.
Die aktuelle API Version ist v1
. Breaking changes führen zu einer Anhebung der Versionsnummer. Dies enthält unter anderem Änderungen der Rückgabewerte existierender Felder oder entfernen eines beliebigen Teils der API. Zusätzliche Rückgabefelder oder neue Anfrage-Parameter führen nicht zu einem Versionswechsel. Änderungen an den Endpunkten sind den Changelogs zu entnehmen.
Die meisten Endpunkte benötigen eine Authentifizierung über API-Schlüssel. Diese können derzeit nicht selbst konfiguriert werden, Kontaktaufnahme mit Alf ist erforderlich.
In allen Anfragen bitte den Header user-agent
mitschicken. Diese Daten werden nur zur Aufrechterhaltung des Betriebes verwendet, wozu auch die Kontaktaufnahme bei Problemen gehören kann. Eine Weitergabe an Dritte erfolgt nicht.
Dokumentation
Swagger UI Dokumentation
Events
Everything related to events
Search for events in a specific time frame of up to 30 days.
Starting with the date in UTC including the date
Ending with the date in UTC including the date
GET /backend/slotbot/api/v1/events HTTP/1.1
Host: slotbot.de
slotbot-auth-token: YOUR_API_KEY
Accept: */*
[
{
"id": 1,
"hidden": true,
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"details": [
{
"id": 1,
"title": "text",
"text": "text"
}
],
"reserveParticipating": true,
"squadList": [
{
"id": 1,
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"id": 1,
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
]
https://example.net/example.png
Pattern: |\s*(https?|attachment)://\S+\s*
Allows everyone interested to see the event in the calendar.
false
Allows other groups to add this event ot their calendar and add participants through it.
false
POST /backend/slotbot/api/v1/events HTTP/1.1
Host: slotbot.de
slotbot-auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 496
{
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"reserveParticipating": true,
"hidden": false,
"shareable": false,
"details": [
{
"title": "text",
"text": "text"
}
],
"squadList": [
{
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
{
"id": 1,
"hidden": true,
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"details": [
{
"id": 1,
"title": "text",
"text": "text"
}
],
"reserveParticipating": true,
"squadList": [
{
"id": 1,
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"id": 1,
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
GET /backend/slotbot/api/v1/events/{id} HTTP/1.1
Host: slotbot.de
slotbot-auth-token: YOUR_API_KEY
Accept: */*
{
"id": 1,
"hidden": true,
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"details": [
{
"id": 1,
"title": "text",
"text": "text"
}
],
"reserveParticipating": true,
"squadList": [
{
"id": 1,
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"id": 1,
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
Slots
Everything related to slots in events
Slot this user or, if empty, unslot this slot.
POST /backend/slotbot/api/v1/events/{id}/slot/{slotNumber} HTTP/1.1
Host: slotbot.de
slotbot-auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 6
"text"
{
"id": 1,
"hidden": true,
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"details": [
{
"id": 1,
"title": "text",
"text": "text"
}
],
"reserveParticipating": true,
"squadList": [
{
"id": 1,
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"id": 1,
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
Blocks a slot from being slotted. If a block already exists, it can be used to overwrite the displayed text. If none is specified, the default is "Gesperrt".
POST /backend/slotbot/api/v1/events/{id}/slot/{slotNumber}/block HTTP/1.1
Host: slotbot.de
slotbot-auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 6
"text"
{
"id": 1,
"hidden": true,
"name": "text",
"dateTime": "2025-07-12T01:04:48.526Z",
"creator": "text",
"eventType": {
"name": "text",
"color": "text"
},
"description": "text",
"missionType": "text",
"missionLength": "text",
"pictureUrl": "https://example.net/example.png",
"details": [
{
"id": 1,
"title": "text",
"text": "text"
}
],
"reserveParticipating": true,
"squadList": [
{
"id": 1,
"name": "text",
"reservedForGuildId": "text",
"slotList": [
{
"id": 1,
"name": "text",
"number": 1,
"reservedForGuildId": "text",
"userId": "text",
"replacementText": "text"
}
]
}
]
}
Status
Server Status
Zuletzt aktualisiert