calovo / Integrationen / JSON API

calovo JSON API v2

Die JSON API v2 ist die stabile, accountbezogene Schnittstelle für Vereine und andere Premium-Kunden. Sie liefert die freigegebenen Kalender und Termine eines Kunden für serverseitige Integrationen.

Version 2.0 JSON über HTTPS Bearer-Token

Freischaltung: Die Integration ist für Premium- und individuell vereinbarte Pakete vorgesehen und wird zunächst durch die calovo-Administration aktiviert. Das dabei erzeugte Token wird nur einmal angezeigt.

Schnellstart

Das Token gehört in den HTTP-Header, niemals in URL, Query-Parameter, Browser-Code oder Logs.

curl --request GET \
  --url 'https://calovo.de/api/v2/calendar-feeds?limit=20' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer calovo_v2.ACCOUNT.SECRET'

Endpunkte

MethodePfadFunktion
GET/api/v2/calendar-feedsVeröffentlichte Kalender des Accounts
GET/api/v2/calendar-feeds/{id}Ein Kalender des Accounts
GET/api/v2/calendar-feeds/{id}/eventsFreigegebene Termine eines Kalenders
GET/api/v2/openapi.jsonMaschinenlesbare OpenAPI-3-Beschreibung

Filter und Seitennavigation

  • page: Seite ab 1; Standardwert 1.
  • limit: 1 bis 100 Ergebnisse pro Seite; Standardwert 50.
  • date_from und date_to: inklusive Zeitraumgrenzen im Format YYYY-MM-DD für Termine.
  • Ohne Zeitraum werden Termine ab heute bis 18 Monate in die Zukunft geliefert; maximal sind 731 Tage pro Abfrage erlaubt.
  • Erzeugt ein wiederkehrender Spezialkalender in diesem Fenster mehr als 1.200 Vorkommen, antwortet die API mit 422 result_window_too_large; der Zeitraum ist dann zu verkleinern.
  • Nicht dokumentierte Query-Parameter werden mit 422 invalid_parameter abgelehnt, damit Tippfehler nicht unbemerkt auf Standardwerte zurückfallen.

Listen enthalten meta.pagination sowie navigierbare Links für self, first, last, prev und next.

Antwortformat

{
  "data": [],
  "meta": {
    "api_version": "2.0",
    "generated_at": "2026-07-17T12:00:00+00:00",
    "request_id": "67d7d160-43ca-47ce-ac31-69bce158c62e",
    "pagination": {
      "current_page": 1,
      "per_page": 50,
      "total": 0,
      "last_page": 1
    }
  },
  "links": { "self": "https://calovo.de/api/v2/calendar-feeds?page=1&limit=50" }
}

Fehler werden konsistent als {"errors":[...]} mit HTTP-Status, stabilem Fehlercode und Beschreibung ausgegeben.

Bei Kalendern und Terminen enthält description Klartext. html_description kann redaktionelles HTML enthalten und muss vor einer Ausgabe im Browser nach den Regeln des Zielsystems bereinigt oder über eine Positivliste gefiltert werden.

Abgesagte Termine bleiben mit status: "cancelled" in der Antwort, damit Zielsysteme bestehende Einträge zuverlässig aktualisieren können. Reguläre Termine besitzen status: "confirmed".

Bei Ganztagsterminen markieren starts_at und ends_at den Anfang und das inklusive Ende der lokalen Kalendertage in Europe/Berlin, jeweils als UTC-Zeitstempel ausgegeben.

Betrieb und Synchronisation

  • Das Standardlimit beträgt 120 Requests pro Minute und Token; da ein Account genau ein aktives Token besitzt, entspricht das dem Account-Limit. Zusätzlich schützt ein höheres IP-Abuse-Limit die Authentifizierung.
  • Erfolgreiche GET-Antworten besitzen ein ETag. Mit If-None-Match erhalten Clients bei unveränderten Daten 304 Not Modified.
  • X-Request-ID und meta.request_id enthalten dieselbe Korrelations-ID. Bei Supportfällen bitte diese ID mitsenden.
  • Clients dürfen eine eigene, maximal 100 Zeichen lange X-Request-ID aus Buchstaben, Ziffern sowie ._:- mitsenden; sichere Werte werden unverändert zurückgegeben.
  • Antworten sind als private markiert. Tokens und Antworten dürfen nicht in öffentlichen oder gemeinsam genutzten Caches landen.
  • Eine Synchronisation sollte jede Seite vollständig als Snapshot abgleichen. Fehlt ein zuvor bekannter Termin dauerhaft, ist er im Zielsystem zu entfernen.
  • Bei 429 gilt der Header Retry-After; bei 5xx exponentiell mit Zufallsanteil wiederholen.

Versionierung und Legacy-v1

Bestehende produktive v1-Integrationen unter /json/{id|key} bleiben kompatibel und getrennt freigeschaltet. Neue Kundenintegrationen sollen v2 verwenden. Eine spätere inkompatible Änderung erhält einen neuen Versionspfad; additive Felder können innerhalb von v2 ergänzt werden.

Legacy-Unterlagen: Swagger v1 und PDF-Kurzdokumentation v1.

Vollständiger Vertrag: OpenAPI JSON. Für Freischaltung, Token-Rotation oder höhere Last bitte den calovo-Support kontaktieren.






NAME

Google Agenda

retour

À noter : la mise à jour des événements dans ton Google Agenda peut prendre jusqu'à 72 heures.

Regarde notre vidéo explicative avant de continuer.

Android

Pour ajouter ton calendrier à un appareil Android,
utilise notre application :

Get it on Google Play


Reviens ensuite sur cette page
et clique sur continuer.

retour

Insérer le calendrier manuellement

Si le format de ton calendrier n'est pas disponible, tu peux copier le lien ici pour l'insérer manuellement.

En utilisant ce lien,
tu acceptes nos conditions d'utilisation

Accepter & Afficher le lien retour

Besoin d'aide pour t'abonner ?
Voici comment ça marche

Téléchargement

Tu peux aussi télécharger le calendrier sous forme de fichier ICS statique.
ATTENTION : avec cette option, tu ne reçois pas de mises à jour et tu dois télécharger le fichier régulièrement pour rester à jour.


En cliquant sur "Télécharger"
tu acceptes nos conditions d'utilisation

Télécharger
retour

Besoin d'aide pour t'abonner ?
Voici comment ça marche

Calendrier protégé

L'organisation vérifie qui peut s'abonner à ce calendrier.

Ces informations sont transmises à l'organisation affichée et servent à décider de l'accès. politique de confidentialité

retour

Un instant...

100% gratuit.
Sans inscription. Quelques clics.

En règle générale, nous complétons les événements du calfeed par des services supplémentaires, lorsqu'ils sont disponibles. Il s'agit par exemple d'informations complémentaires, de liens (p. ex. billetterie, paris, score en direct, etc.) et, dans certains cas, de contenus publicitaires concrets. Nous essayons de te proposer des services aussi pertinents que possible. En confirmant ta sélection, tu acceptes la clause de non-responsabilité et acceptes de recevoir, le cas échéant, des contenus publicitaires dans les événements du calendrier auquel tu t'es abonné.

Si tu as besoin d'aide supplémentaire,
n'hésite pas à visiter notre espace d'assistance !

retour

Clause de non-responsabilité

Les données des événements proviennent de fournisseurs de services de données externes, sont du contenu éditorial de calovo ou sont saisies dans le système calovo par les titulaires de comptes respectifs et mises automatiquement à la disposition des abonnés dans leur agenda personnel. Nous déclinons toute responsabilité quant à l'exactitude, l'exhaustivité et l'actualité des informations. En outre, nous ne sommes responsables que des dommages résultant d'une négligence grave ou intentionnelle et des dommages résultant d'une atteinte à la vie, à l'intégrité corporelle ou à la santé résultant d'une négligence légère.

retour

Mentions légales


Texte des mentions légales


retour

Mentions légales


fermer