Documentation API
Générez des fichiers .ics programmatiquement via l'API REST.
Endpoint
POST https://icsmulti-web.vercel.app/api/generate
Authentification
Ajoutez votre clé API dans le header X-API-Key :
X-API-Key: votre-cle-apiObtenir une clé API →
Corps de la requête
{
"evenement": { // obligatoire
"occurrences": [ // obligatoire — au moins un événement
{
"id": string, // obligatoire — identifiant unique
"titre": string, // obligatoire — titre de l'événement
"notes": string, // optionnel — description / notes
"dateDebut": string, // obligatoire — ISO 8601 (ex : "2026-05-12T10:00:00Z")
"dateFin": string, // obligatoire — ISO 8601
"lieu": string, // optionnel — adresse ou lieu
"touteLaJournee": boolean, // optionnel — défaut : false
"rappelMinutes": number // optionnel — ex : 15, 30, 60, 1440
}
]
},
"options": { // optionnel
"fuseau": string // optionnel — IANA (défaut : "Europe/Paris")
}
}Réponse
Succès — 200
Content-Type: text/calendar; charset=utf-8 Content-Disposition: attachment; filename="titre_premiere_occurrence.ics" BEGIN:VCALENDAR VERSION:2.0 ...
Codes d'erreur
| Code | error |
|---|---|
400 | Corps JSON invalide / champ manquant ou incorrect |
401 | Clé API manquante (header X-API-Key absent) |
403 | Clé API invalide ou révoquée |
503 | Service non configuré (KV indisponible) |
Exemple de requête
curl -X POST https://icsmulti-web.vercel.app/api/generate \
-H "X-API-Key: votre-cle-api" \
-H "Content-Type: application/json" \
-o reunion.ics \
-d '{
"evenement": {
"occurrences": [
{
"id": "evt-1",
"titre": "Réunion hebdomadaire",
"notes": "Ordre du jour à confirmer",
"dateDebut": "2026-05-12T10:00:00Z",
"dateFin": "2026-05-12T11:00:00Z",
"lieu": "Salle A, Paris",
"touteLaJournee": false,
"rappelMinutes": 15
}
]
},
"options": {
"fuseau": "Europe/Paris"
}
}'