API-Dokumentation

Sprache: Englisch | Deutsch

Einführung

Willkommen bei der MTEX API-Dokumentation. Diese API ermöglicht Ihnen die programmatische Interaktion mit Ihren Changelog-Daten. Alle Anfragen werden mittels API-Tokens authentifiziert.

Authentifizierung

Um Ihre API-Anfragen zu authentifizieren, müssen Sie einen gültigen API-Token im `Authorization`-Header als Bearer Token (z. B. `Authorization: Bearer IHR_API_TOKEN`) oder als benutzerdefinierten Header `X-API-TOKEN: IHR_API_TOKEN` mitsenden.

Sie können Ihre API-Tokens im API-Tokens-Bereich Ihres Dashboards generieren und verwalten.

Jeder Token besitzt spezifische Berechtigungen (Abilities). Wenn einem Token die für einen Endpunkt erforderliche Berechtigung fehlt, wird die Anfrage mit dem Status `403 Forbidden` abgelehnt.

Basis-URL

Alle API-Anfragen sollten an die folgende Basis-URL gerichtet werden:

`https://mtex.dev/api/v1`

Ratenbegrenzung

API-Anfragen unterliegen einer Ratenbegrenzung, um eine faire Nutzung und Systemstabilität zu gewährleisten. Aktuell beträgt das Limit `60` Anfragen pro Minute pro authentifiziertem Token oder IP-Adresse.

Changelogs Endpunkt

Verwalten Sie Ihre Anwendungs-Changelogs und deren einzelne Änderungen.

Alle Changelogs abrufen

GET `https://mtex.dev/api/v1`/changelogs

Erforderliche Berechtigung: `changelog:read`

Parameter: (Optional) `page` - Seitennummer für die Paginierung.

Gibt eine paginierte Liste aller Changelogs mit ihren Änderungen zurück.

Einzelnes Changelog abrufen

GET `https://mtex.dev/api/v1`/changelogs/{id}

Erforderliche Berechtigung: `changelog:read`

Parameter: `{id}` - Die UUID des Changelogs.

Gibt das angegebene Changelog und dessen Änderungen zurück.

Neues Changelog erstellen

POST `https://mtex.dev/api/v1`/changelogs

Erforderliche Berechtigung: `changelog:create`

Anfrage-Body (JSON):

{
    "name": "`name` (string, erforderlich): Titel des Changelogs.",
    "description": "`description` (string, optional): Detaillierte Beschreibung des Changelogs.",
    "changes": [
        {
            "name": "`changes[].name` (string, erforderlich): Beschreibung der einzelnen Änderung.",
            "type": "`changes[].type` (string, erforderlich): Art der Änderung (z. B. `feature`, `fix`, `improvement`, `breaking`).",
            "occurred_at": "`changes[].occurred_at` (datetime, optional): Zeitpunkt der Änderung (z. B. `2025-07-01 10:00:00`)."
        }
    ]
}
            

Gibt das neu erstellte Changelog mit dem Status `201 Created` zurück.

Changelog aktualisieren

PUT/PATCH `https://mtex.dev/api/v1`/changelogs/{id}

Erforderliche Berechtigung: `changelog:update`

Anfrage-Body (JSON):

{
    "name": "`name` (string, optional): Neuer Titel für das Changelog.",
    "description": "`description` (string, optional): Neue detaillierte Beschreibung.",
    "changes": [
        {
            "id": "`changes` (array, optional): Array von Änderungs-Objekten. Bestehende Änderungen können aktualisiert (durch Angabe von `id`) oder gelöscht (durch Weglassen aus dem Array) werden. Neue Änderungen ohne `id` werden erstellt.",
            "name": "`changes[].name` (string, erforderlich): Beschreibung der einzelnen Änderung.",
            "type": "`changes[].type` (string, erforderlich): Art der Änderung (z. B. `feature`, `fix`, `improvement`, `breaking`).",
            "occurred_at": "`changes[].occurred_at` (datetime, optional): Zeitpunkt der Änderung (z. B. `2025-07-01 10:00:00`)."
        }
    ]
}
            

Gibt das aktualisierte Changelog zurück.

Changelog löschen

DELETE `https://mtex.dev/api/v1`/changelogs/{id}

Erforderliche Berechtigung: `changelog:delete`

Parameter: `{id}` - Die UUID des Changelogs.

Gibt eine leere Antwort mit dem Status `204 No Content` zurück.