Documentation API

Référence des endpoints REST Klik. Base URL : http://localhost:8000

Générée depuis config/routes.php — toute nouvelle route avec ->docs(...) apparaît ici automatiquement.

Authentification

POST /api/auth/register Non

Inscription studio (envoie OTP email)

{ name, email, password } → requires_verification
POST /api/auth/verify-email Non

Confirmer le compte avec OTP

{ email, code } → token + user
POST /api/auth/resend-otp Non

Renvoyer le code OTP d'inscription

{ email }
POST /api/auth/forgot-password Non

Demander un OTP de reset password

{ email }
POST /api/auth/verify-reset-otp Non

Valider l'OTP de reset (sans changer le MDP)

{ email, code } → valid
POST /api/auth/reset-password Non

Réinitialiser le mot de passe avec OTP

{ email, code, password } → token
POST /api/auth/login Non

Connexion (email vérifié requis)

{ email, password } → token
GET /api/auth/me JWT

Profil du photographe connecté

PATCH /api/me JWT

Mettre à jour profil / branding

{ name?, logo_url?, brand_color?, brand_name? }

Dashboard

GET /api/dashboard/stats JWT

KPIs, activité, notifications dérivées

?range=7|30|365

Événements

GET /api/events JWT

Liste des événements du photographe

POST /api/events JWT

Créer un événement

{ name, type, date, client_email?, watermark_text?, gallery_expires_at?, guest_upload_enabled? }
GET /api/events/{id} JWT

Détail d'un événement

PATCH /api/events/{id} JWT

Modifier / livrer / mot de passe galerie / client_email

{ status?, client_email?, gallery_password?, guest_upload_enabled?, ... }
DELETE /api/events/{id} JWT

Supprimer un événement

Photos

POST /api/events/{id}/photos JWT ou invité

Upload photos (multipart: photos[], guest_name?)

Photographe → approved · Invité → pending
GET /api/events/{id}/photos JWT

Liste des photos (tous statuts)

PATCH /api/events/{id}/photos/{pid} JWT

Modérer / annoter une photo

{ status: approved|rejected|featured, annotation? }
DELETE /api/events/{id}/photos/{pid} JWT

Supprimer une photo

Galeries client

GET /api/galleries/{token}/meta Non

Métadonnées publiques (password_required)

POST /api/galleries/{token}/unlock Non

Déverrouiller avec mot de passe

{ password } → access_token
GET /api/galleries/{token} Token + access si MDP

Vue client (photos approved)

Authorization: Bearer access_token si MDP
POST /api/galleries/{token}/download Token + access

Téléchargement HD

{ photo_ids: [] }
POST /api/galleries/{token}/favorite Token + access

Marquer / retirer favori

{ photo_ids: [], favorite }
Auth JWT : header Authorization: Bearer <token> après login / verify-email / reset-password. Erreurs : { "error": "message", "code?": "..." }.
← Retour à l'accueil