Skip to main content

Versioning

THE HIVE suit un versioning par préfixe d’URL. La version courante est v1 — tous les endpoints sont préfixés par /v1/api/.

Politique

PhaseDuréeStatut
CurrentJusqu’à la prochaine versionActivement développée
Deprecated6 mois après sortie de la suivanteEncore servie + header Deprecation
End of lifeAprès les 6 moisRetour 410 Gone
Une version reste servie pendant minimum 12 mois après sa sortie.

Qu’est-ce qu’un breaking change ?

ChangeBreaking ?
Ajout d’un endpointNon
Ajout d’un champ optionnel à une réponseNon
Ajout d’un champ optionnel à une requêteNon
Retrait d’un endpointOui
Retrait d’un champ de réponseOui
Renommage d’un champOui
Changement de type d’un champOui
Changement de comportement silencieuxOui
Rendre obligatoire un champ optionnelOui
Ajout d’une règle de validation plus stricteOui
Changement du format de dateOui

Headers de dépréciation

Lorsque v2 est en place, v1 retournera :
HTTP/1.1 200 OK
Deprecation: true
Sunset: Sat, 18 Oct 2026 23:59:59 GMT
Link: <https://docs.wethehivers.com/migration-v2>; rel="deprecation"

Changelog

v1.0 — 2026-04-18

Premier release public.
  • 172 endpoints exposés
  • 9 modules : auth, candidats, recruteurs, offres, candidatures, vivier, fichiers, admin, référence
  • OpenAPI 3.0 spec publique
  • Authentification JWT (access + refresh)
  • Stockage Cloudflare R2
  • Recherche plein-texte PostgreSQL (tsvector)
  • Intégration Cloudflare + DDoS protection

v0.9 — 2026-03-15 (interne)

  • Migration legacy-api/v1/api
  • Ajout blacklist JWT Redis
  • CORS restreint par domaine

v0.8 — 2026-02-01 (interne)

  • Refactor Flyway (baseline migration)
  • Ajout candidature withdraw / delete
  • Upload fichiers batch

Déprécations actives

Aucune déprécation active à ce jour.

Notifications

Les breaking changes majeurs sont annoncés :
  • 3 mois avant sur https://status.wethehivers.com
  • Email aux recruteurs ACTIVE et admins
  • Header Deprecation à partir de la sortie de la version suivante

Tag SemVer

En interne le backend suit SemVer (MAJOR.MINOR.PATCH) mais seul le MAJOR impacte le préfixe d’URL.