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

Events

Everything related to events

All events between two dates

get

Search for events in a specific time frame of up to 30 days.

Autorisierungen
Abfrageparameter
startstring · yyyy-MM-ddErforderlich

Starting with the date in UTC including the date

endstring · yyyy-MM-ddErforderlich

Ending with the date in UTC including the date

Antworten
200
OK
*/*
get
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"
          }
        ]
      }
    ]
  }
]

Create an event

post
Autorisierungen
Rumpf
namestring · max: 80Erforderlich
dateTimestring · date-timeErforderlich
creatorstring · max: 80Erforderlich
descriptionstring · max: 4096Optional
missionTypestring · max: 80Optional
missionLengthstring · max: 80Optional
pictureUrlstring · max: 1666OptionalExample: https://example.net/example.pngPattern: |\s*(https?|attachment)://\S+\s*
reserveParticipatingbooleanOptional
hiddenbooleanOptional

Allows everyone interested to see the event in the calendar.

Default: false
shareablebooleanOptional

Allows other groups to add this event ot their calendar and add participants through it.

Default: false
Antworten
200
OK
*/*
post
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
Autorisierungen
Pfadparameter
idinteger · int64Erforderlich
Antworten
200
OK
*/*
get
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 or unslot a user in an event

post
Autorisierungen
Pfadparameter
idinteger · int64Erforderlich
slotNumberinteger · int32Erforderlich
Rumpf
string · discord-snowflakeOptional

Slot this user or, if empty, unslot this slot.

Antworten
200
OK
*/*
post
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"
        }
      ]
    }
  ]
}

Block a slot in an event

post

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".

Autorisierungen
Pfadparameter
idinteger · int64Erforderlich
slotNumberinteger · int32Erforderlich
Rumpf
string · max: 80Optional
Antworten
200
OK
*/*
post
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

Ping

get

Check if the server is responsive.

Antworten
200
OK
get
GET /backend/slotbot/api/v1/status HTTP/1.1
Host: slotbot.de
Accept: */*
200

OK

Kein Inhalt

Zuletzt aktualisiert