API documentation
General
The API can be used to offer your community additional ways to interact with events or to display information. Feel free to share your ideas with us - others may be able to benefit from them as well.
The current API version is v1
. Major changes will result in a version number bump. This includes, but is not limited to, changes to the return values of existing fields or removing any part of the API. Additional return fields or new request parameters do not result in a version change. Changes to the endpoints can be found in the changelogs.
Most endpoints require authentication via API keys. These cannot currently be configured, you will need to contact Alf.
Please include the user-agent
header in all requests. This information will only be used to maintain the service, which may include contacting you in the event of a problem. It will not be shared with third parties.
Documentation
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-01T12:20:36.874Z",
"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-01T12:20:36.874Z",
"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-01T12:20:36.874Z",
"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-01T12:20:36.874Z",
"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-01T12:20:36.874Z",
"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-01T12:20:36.874Z",
"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
Last updated