Ontwikkel een OpenAPI Specificatie voor API Metadata en Documentatieversies
description
Met deze prompt kun je een OpenAPI specificatie ontwikkelen die niet alleen je API beschrijft, maar ook uitgebreide metadata en versie-informatie bevat. Dit helpt ontwikkelaars en gebruikers om altijd inzicht te hebben in de laatste documentatieversies en wijzigingen, wat onderhoud en integratie vergemakkelijkt. Het is een aanvulling op bestaande specificaties die zich vooral richten op endpoints en beveiliging, en biedt meer grip op documentbeheer.
prompt
Help me een OpenAPI specificatie te maken die uitgebreide metadata en versiebeheer voor documentatie omvat om helderheid te bieden over updates en documentstatussen.
API Naam: <voer de naam van mijn API in>
Documentatie Versie: <voer de huidige documentatieversie in>
Metadata Velden (bijv. contactgegevens, licentie, termen ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
openapi: 3.0.3
info:
title: Klantenbeheer API
version: 1.2.0
description: >
Deze API biedt functionaliteiten voor het beheer van klanten.
De documentatie bevat uitgebreide metadata en versie-informatie om de updates en status van de documentatie helder te maken.
contact:
name: Klantenbeheer Support
email: support@klantenbeheer.nl
url: https://www.klantenbeheer.nl/support
license:
name: MIT Licentie
url: https://opensource.org/licenses/MIT
termsOfUse: https://www.klantenbeheer.nl/terms
# Custom veld voor updategeschiedenis
x-update-history:
- date: 2023-10-01
description: Initiële versie van de API
- date: 2023-11-15
description: Toevoeging van nieuwe endpoint voor klantstatus
- date: 2024-02-10
description: Verbeteringen in authenticatie en beveiliging
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
security:
- ApiKeyAuth: []
paths:
/klanten:
get:
summary: Lijst van klanten
security:
- ApiKeyAuth: []
responses:
'200':
description: Succesvolle lijst van klanten
/klanten/{id}:
get:
summary: Details van een klant
security:
- ApiKeyAuth: []
parameters:
- name: id
in: path
required: true
description: ID van de klant
schema:
type: string
responses:
'200':
description: Details van de klant
'404':
description: Klant niet gevonden
# Opmerking: Deze specificatie bevat de gevraagde metadata, versie-informatie en authenticatiemethode. Pas indien nodig verdere endpoints en details aan.
provider: deepseek
model: deepseek-chat
Zeker, hier is een OpenAPI 3.0.3-specificatie in YAML voor jouw Klantenbeheer API met uitgebreide metadata en versiebeheer:
```yaml
openapi: 3.0.3
info:
title: Klantenbeheer API
description: |
Een uitgebreide API voor het beheren van klantgegevens en gerelateerde operaties.
Deze documentatie bevat gedetailleerde metadata en een volledige wijzigingsgeschiedenis.
version: 1.2.0
contact:
name: API Support Team
email: support@bedrijf.nl
url: https://www.bedrijf.nl/contact
license:
name: Bedrijfslicentie 2.0
url: https://www.bedrijf.nl/licentie
termsOfService: https://www.bedrijf.nl/gebruiksvoorwaarden
servers:
- url: https://api.bedrijf.nl/v1
description: Productieserver
- url: https://api-test.bedrijf.nl/v1
description: Testserver
externalDocs:
description: Aanvullende documentatie en handleidingen
url: https://docs.bedrijf.nl/klantenbeheer
tags:
- name: klanten
description: Operaties voor klantbeheer
- name: documentatie
description: Documentatie en metadata endpoints
paths:
/klanten:
get:
tags:
- klanten
summary: Lijst van alle klanten ophalen
description: Retourneert een gepagineerde lijst van alle klanten in het systeem
security:
- apiKey: []
responses:
'200':
description: Succesvolle operatie
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Klant'
'401':
$ref: '#/components/responses/Ongeautoriseerd'
/documentatie/wijzigingen:
get:
tags:
- documentatie
summary: Wijzigingsgeschiedenis ophalen
description: Retourneert de volledige updategeschiedenis van de API
responses:
'200':
description: Succesvolle operatie
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Wijziging'
components:
securitySchemes:
apiKey:
type: apiKey
name: X-API-Key
in: header
description: Jouw persoonlijke API-sleutel voor authenticatie
schemas:
Klant:
type: object
properties:
id:
type: integer
format: int64
example: 12345
naam:
type: string
example: "Jansen BV"
email:
type: string
format: email
example: "info@jansen.nl"
telefoon:
type: string
example: "+31 20 123 4567"
Wijziging:
type: object
required:
- versie
- datum
- wijzigingsbeschrijving
properties:
versie:
type: string
description: Versienummer van de wijziging
example: "1.2.0"
datum:
type: string
format: date
description: Datum van implementatie
example: "2024-01-15"
wijzigingsbeschrijving:
type: string
description: Gedetailleerde beschrijving van de wijziging
example: "Toegevoegd - Nieuw veld 'bedrijfsgrootte' aan klantobject"
responses:
Ongeautoriseerd:
description: Authenticatie mislukt of gebruiker niet geautoriseerd
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: "Ongeldige API-sleutel"
# Uitgebreide wijzigingsgeschiedenis in de documentatie
x-changelog:
- versie: "1.2.0"
datum: "2024-01-15"
wijzigingen:
- type: "toegevoegd"
beschrijving: "Nieuw endpoint voor wijzigingsgeschiedenis"
- type: "verbeterd"
beschrijving: "Uitgebreide metadata toegevoegd aan documentatie"
- versie: "1.1.0"
datum: "2023-12-10"
wijzigingen:
- type: "toegevoegd"
beschrijving: "Paginering toegevoegd aan klantenlijst"
- type: "aangepast"
beschrijving: "Validatie van e-mailadressen verbeterd"
- versie: "1.0.0"
datum: "2023-11-01"
wijzigingen:
- type: "initieel"
beschrijving: "Eerste release van Klantenbeheer API"
```
Deze OpenAPI-specificatie bevat:
**Metadata:**
- Contactgegevens (naam, e-mail, URL)
- Licentie-informatie
- Servicevoorwaarden
- Meerdere serveromgevingen
**Versiebeheer:**
- Duidelijke versienummering (1.2.0)
- Uitgebreide wijzigingsgeschiedenis via `x-changelog` extensie
- Specifiek endpoint voor wijzigingsgeschiedenis
- Gedetailleerde wijzigingsbeschrijvingen per versie
**Authenticatie:**
- API-sleutel authenticatie via header
- Duidelijke security schema definitie
**Documentatiestructuur:**
- Tags voor betere organisatie
- Externe documentatielinks
- Volledige response schema's
- Voorbeelden en beschrijvingen
De specificatie is modulair opgebouwd en eenvoudig uit te breiden met nieuwe endpoints en functionaliteiten.