Documentation API

API REST pour accéder à vos données Renkar programmatiquement.

🔐 Authentification

Toutes les requêtes API nécessitent un header Authorization avec votre clé API.

curl -H "Authorization: Bearer sk_live_votre_cle_api" \
  https://renkar.co/api/v1/me

Générez votre clé API dans vos paramètres après inscription.

GET /api/v1/me

Profil utilisateur

Retourne les informations de votre compte.

Réponse :

{ "data": { "id": 1, "email": "marie@example.com", "full_name": "Marie Dupont", "slug": "marie-dupont", "plan": "standard", "booking_url": "https://renkar.co/marie-dupont" } }
GET /api/v1/event_types

Liste des types de RDV

Retourne tous vos types de rendez-vous actifs.

Réponse :

{ "data": [{ "id": 1, "name": "Consultation", "slug": "consultation", "duration_minutes": 30, "location_type": "video", "is_paid": false, "booking_url": "https://renkar.co/marie-dupont/consultation" }] }
GET /api/v1/bookings

Liste des réservations

Retourne vos réservations avec pagination. Filtres : status, from, to.

Paramètres :

?status=confirmed&from=2026-01-01&to=2026-12-31&page=1&per_page=25

Réponse :

{ "data": [{ "id": "uuid", "status": "confirmed", "start_at": "2026-03-22T10:00:00Z", "guest_name": "Jean Martin", "guest_email": "jean@example.com", "event_type": { "name": "Consultation", "duration_minutes": 30 } }], "meta": { "page": 1, "per_page": 25, "total": 42 } }
GET /api/v1/bookings/:uuid

Détail d'une réservation

Retourne le détail complet d'une réservation par son UUID.

Réponse :

{ "data": { "id": "uuid", "status": "confirmed", "start_at": "...", "end_at": "...", "guest_name": "...", "guest_email": "...", "guest_phone": "...", "guest_notes": "...", "meeting_url": "...", "event_type": { ... } } }

⚡ Webhooks

Configurez des webhooks dans vos paramètres pour recevoir des notifications en temps réel.

Événements disponibles

booking.created
booking.confirmed
booking.cancelled
booking.rescheduled
booking.completed
booking.no_show

Vérification de signature

// Headers envoyés :
X-Kalend-Event: booking.created
X-Kalend-Signature: sha256=HMAC_HEX
X-Kalend-Timestamp: 1711108800

// Vérification :
signed_content = timestamp + "." + json_body
expected = HMAC-SHA256(webhook_secret, signed_content)
verify(expected == signature)

⚠️ Limites

  • • 100 requêtes par minute par clé API
  • • Pagination : max 100 résultats par page
  • • Les webhooks retentent 5 fois en cas d'échec