STD-0002: API-versiebeheer en compatibiliteit¶
Documentgegevens¶
| Versie | Datum | Evaluatiedatum | Scope |
|---|---|---|---|
| 0.1 | 2026-08-25 | 2027-08-25 | Organisatiebreed |
Doel en reikwijdte¶
Deze standaard maakt wijzigingen aan API-contracten voorspelbaar voor producenten en consumenten. Zij geldt voor extern gebruikte API's en API's tussen teams. Interne, uitsluitend binnen één deploymenteenheid gebruikte interfaces kunnen gemotiveerd buiten scope vallen.
Normatieve bepalingen¶
- Iedere API in scope MOET een expliciet, machineleesbaar contract en een herkenbare major contractversie hebben.
- Een API MOET binnen één CIZ-profiel consequent hetzelfde versioneringsmechanisme gebruiken; pad, header en mediatype MOGEN NIET willekeurig worden gemengd.
- Een incompatibele contractwijziging MOET een nieuwe major krijgen. Backward-compatible toevoegingen MOGEN binnen dezelfde major worden gepubliceerd.
- Bestaande geldige requests en gedocumenteerde responsevelden MOETEN binnen een ondersteunde major compatibel blijven.
- Consumenten BEHOREN onbekende optionele responsevelden te tolereren.
- Foutresponses MOETEN een stabiele niet-gevoelige foutcode, menselijke samenvatting en correlation ID bevatten. RFC 9457 is de voorkeursbasis totdat een CIZ-API-profiel anders bepaalt.
- Breaking changes MOETEN vooraf worden gepubliceerd met impact, migratiepad, tijdlijn en beëindigingsdatum.
- Producenten MOETEN contract, compatibiliteitstests, changelog en deprecationcommunicatie onderhouden.
- Consumenten MOETEN bewust een major kiezen, contracttests uitvoeren en binnen de afgesproken termijn migreren.
- Tijd- en tekstvelden MOETEN voldoen aan STD-0001.
Rationale¶
Expliciete majorversies begrenzen incompatibele wijzigingen en geven ketenpartners een beheersbaar migratiepad. Een versie per productrelease veroorzaakt onnodige varianten; volledig onversiede contracten maken breaking changes onvoldoende zichtbaar.
Uitzonderingen en risicoacceptatie¶
Een uitzondering MOET API, consumenten, reden, compatibiliteitsrisico, migratieactie, eigenaar en einddatum bevatten. Een spoedwijziging vanwege een actief beveiligingsrisico KAN een verkorte termijn krijgen, mits impact en communicatie aantoonbaar zijn beoordeeld.
Naleving en vereiste bewijslast¶
- gepubliceerd machineleesbaar contract en versiebeleid;
- contractlinting en consumer/provider-contracttests;
- compatibiliteitsdiff in CI;
- changelog, deprecationmelding en gebruikstelemetrie;
- controle op gestandaardiseerde, niet-gevoelige foutresponses.
Implementatieprofielen¶
Een CIZ-API-profiel MOET nog vastleggen waar de majorversie wordt geplaatst, welke RFC 9457-extensies gelden en welke standaardtermijnen worden gebruikt. Tot die vaststelling MOET een oplossing de gekozen conventie expliciet documenteren en consistent toepassen.
Externe mappings en bronnen¶
| Kader | Versie | Control(s) | Relatie | Status |
|---|---|---|---|---|
| ISO/IEC 27002 | 2022 | 8.26, 8.27, 8.32 | Beveiligingseisen, veilige architectuur en wijzigingsbeheer | Ondersteunend |
| BIO2 | 1.3 | 8.26, 8.27, 8.32 | Overheidsbaseline | Ondersteunend |
| NEN 7510-2 | 2024+A1:2026 | 8.26, 8.27, 8.32 | Zorgspecifieke aansluiting | Te valideren |
| RFC 9457 | 2023 | n.v.t. | Problem Details voor HTTP API's | Voorkeursreferentie |
Wijzigingshistorie¶
| Versie | Datum | Wijziging |
|---|---|---|
| 0.1 | 2026-08-25 | Eerste concept, omgezet van voorgestelde ADR naar standaard. |