Reseller-API-Referenz

Authentifizierung

Alle API-Anfragen müssen Ihren Reseller-API-Schlüssel im Authorization-Header im Bearer-Format enthalten:

Authorization: Bearer ihr-api-schluessel

Anfragen ohne gültigen API-Schlüssel erhalten eine 401 Unauthorized-Antwort. Ihr API-Schlüssel ist auf Ihr Reseller-Konto beschränkt - Sie können nur Mandanten verwalten, die Ihnen gehören.

Basis-URL

Alle Endpunkte sind erreichbar unter:

https://api.easymailarchive.com/api/reseller/tenants

Wenn Sie eine eigene Basisdomain verwenden, erfolgt der API-Zugriff weiterhin über den zentralen Easy Mail Archive API-Endpunkt, nicht über Ihre eigene Domain.

Mandanten auflisten

Alle Mandanten unter Ihrem Reseller-Konto abrufen.

curl -X GET https://api.easymailarchive.com/api/reseller/tenants \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Accept: application/json"

Antwort (200):

{
  "data": [
    {
      "slug": "acme-corp",
      "name": "Acme Corporation",
      "status": "active",
      "users_count": 25,
      "storage_bytes": 5368709120,
      "created_at": "2025-06-15T10:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "total": 1
  }
}

Mandanten erstellen

Einen neuen Mandanten mit einem eindeutigen Slug provisionieren.

curl -X POST https://api.easymailarchive.com/api/reseller/tenants \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "slug": "acme-corp",
    "name": "Acme Corporation"
  }'

Pflichtfelder:

FeldTypBeschreibung
slugstringEindeutiger Bezeichner, 3-48 Zeichen, Kleinbuchstaben + Zahlen + Bindestriche
namestringAnzeigename des Mandanten

Antwort (201):

{
  "data": {
    "slug": "acme-corp",
    "name": "Acme Corporation",
    "status": "active",
    "created_at": "2025-06-15T10:30:00Z"
  }
}

Mandanten anzeigen

Details eines bestimmten Mandanten abrufen.

curl -X GET https://api.easymailarchive.com/api/reseller/tenants/acme-corp \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Accept: application/json"

Antwort (200):

{
  "data": {
    "slug": "acme-corp",
    "name": "Acme Corporation",
    "status": "active",
    "users_count": 25,
    "storage_bytes": 5368709120,
    "messages_count": 142857,
    "created_at": "2025-06-15T10:30:00Z"
  }
}

Mandanten aktualisieren

Den Anzeigenamen eines bestehenden Mandanten aktualisieren.

curl -X PUT https://api.easymailarchive.com/api/reseller/tenants/acme-corp \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "name": "Acme Corp International"
  }'

Antwort (200):

{
  "data": {
    "slug": "acme-corp",
    "name": "Acme Corp International",
    "status": "active"
  }
}

Mandanten sperren

Einen Mandanten sperren, um den Benutzerzugang zu blockieren und gleichzeitig alle Daten beizubehalten.

curl -X POST https://api.easymailarchive.com/api/reseller/tenants/acme-corp/suspend \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Accept: application/json"

Antwort (200):

{
  "data": {
    "slug": "acme-corp",
    "status": "suspended"
  }
}

Mandanten entsperren

Den Zugang zu einem zuvor gesperrten Mandanten wiederherstellen.

curl -X POST https://api.easymailarchive.com/api/reseller/tenants/acme-corp/unsuspend \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Accept: application/json"

Antwort (200):

{
  "data": {
    "slug": "acme-corp",
    "status": "active"
  }
}

Nutzungsstatistiken

Nutzungsstatistiken für einen bestimmten Mandanten abrufen.

curl -X GET https://api.easymailarchive.com/api/reseller/tenants/acme-corp/usage \
  -H "Authorization: Bearer ihr-api-schluessel" \
  -H "Accept: application/json"

Antwort (200):

{
  "data": {
    "slug": "acme-corp",
    "users_count": 25,
    "storage_bytes": 5368709120,
    "messages_count": 142857
  }
}

Fehlerantworten

Die API gibt Standard-HTTP-Statuscodes zurück:

CodeBedeutung
400Ungültige Anfrage - fehlerhafte Eingabe oder Validierungsfehler
401Nicht autorisiert - fehlender oder ungültiger API-Schlüssel
403Zugriff verweigert - Mandant gehört nicht zu Ihrem Reseller-Konto
404Nicht gefunden - Mandant mit dem angegebenen Slug existiert nicht
409Konflikt - Slug ist bereits vergeben
422Nicht verarbeitbar - Validierungsfehler (Details im Antwort-Body)
429Zu viele Anfragen - Rate-Limit überschritten

Validierungsfehler geben einen JSON-Body mit feldspezifischen Fehlermeldungen zurück:

{
  "message": "The slug has already been taken.",
  "errors": {
    "slug": ["The slug has already been taken."]
  }
}

Rate-Limits

API-Anfragen sind auf 60 Anfragen pro Minute pro API-Schlüssel begrenzt. Wenn Sie dieses Limit überschreiten, erhalten Sie eine 429-Antwort. Der Retry-After-Header gibt an, wie viele Sekunden Sie warten müssen, bevor Sie eine weitere Anfrage senden können.

Wir verwenden Cookies, um den Website-Traffic zu analysieren und Ihr Erlebnis zu optimieren. Ohne Ihre Einwilligung findet kein Tracking statt. Datenschutz