Maak een Gedetailleerde Endpoint Referentie voor Mijn REST API
description
Door een gedetailleerde endpoint referentie te maken, kunnen ontwikkelaars snel de informatie vinden die ze nodig hebben, wat hun ervaring verbetert en frustratie vermindert bij het integreren met je API.
prompt
try_prompt
Help me een gedetailleerde endpoint referentie maken voor mijn REST API. API Naam: {{api_naam}}. Belangrijkste Endpoints: {{belangrijke_endpoints}}. Voor elk endpoint, inclusief beschrijvingen ... more
generate_helper
...
tags
ai_answers
provider: openai
model: gpt-4.1-nano
# Weer API - Endpoint Referentie
Deze documentatie biedt een overzicht van de belangrijkste endpoints van de Weer API, inclusief beschrijvingen, vereiste parameters, gebruikte HTTP-methoden en responseformaten. Gebruik deze gids om snel en effectief te integreren met de API.
---
## 1. /auth
Authenticatie endpoint voor het verkrijgen van een access token.
### Beschrijving
Dit endpoint wordt gebruikt om in te loggen en een geldige authenticatie token te verkrijgen, die vervolgens gebruikt moet worden in de headers van andere requests.
### Verzoekmethoden
- **POST**
### Vereiste Parameters
- **In de body (JSON):**
- `username` (string): Gebruikersnaam van de gebruiker.
- `password` (string): Wachtwoord van de gebruiker.
### Voorbeeld verzoek
```json
POST /auth
{
"username": "johndoe",
"password": "veiligWachtwoord123"
}
```
### Antwoordformat
- **Status 200 OK**
```json
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
```
- **Status 401 Unauthorized**
```json
{
"error": "Ongeldige gebruikersnaam of wachtwoord."
}
```
### Opmerkingen
- Het `token` moet worden toegevoegd aan de `Authorization` header in latere requests:
```
Authorization: Bearer {token}
```
---
## 2. /items
Endpoint voor het ophalen van weer-gerelateerde gegevens.
### Beschrijving
Dit endpoint geeft een lijst van weersinformatie of details over specifieke items.
### Verzoekmethoden
- **GET**
### Vereiste Parameters
- Optioneel queryparameters:
- `city` (string): Naam van de stad waarvan je het weer wilt opvragen.
- `date` (string): Datum in formaat `YYYY-MM-DD` voor welke je het weer wilt zien.
### Voorbeeld verzoek
```
GET /items?city=Amsterdam&date=2023-10-25
```
### Antwoordformat
- **Status 200 OK**
```json
{
"city": "Amsterdam",
"date": "2023-10-25",
"temperature": {
"morning": 10,
"afternoon": 15,
"evening": 8
},
"conditions": "Licht bewolkt",
"humidity": 75,
"wind_speed": 12
}
```
- **Status 400 Bad Request**
```json
{
"error": "Ongeldige parameters."
}
```
- **Status 401 Unauthorized**
```json
{
"error": "Geen geldige authenticatie token."
}
```
### Opmerkingen
- Zorg dat je de `Authorization` header meestuurt met het Bearer token verkregen via `/auth`.
- Als `city` en `date` niet worden meegegeven, geeft het endpoint standaard de huidige weersinformatie voor de locatie weer.
---
## Samenvatting
| Endpoint | Methode | Beschrijving | Vereiste Parameters | Response Format |
|---|---|---|---|---|
| `/auth` | POST | Verkrijg toegangstoken | `username`, `password` (JSON body) | JSON met `token` |
| `/items` | GET | Haal weergegevens op | `city`, `date` (query, optioneel) | JSON met weersinformatie |
---
## Opmerking
Voor verdere ondersteuning of vragen, raadpleeg de volledige documentatie of neem contact op met de API-beheerder.
---
**Einde van de API referentie**
provider: deepseek
model: deepseek-chat
Zeker, hier is een gedetailleerde endpoint referentie voor je Weer API die als snelle ontwikkelaarsgids kan dienen:
# Weer API - Endpoint Referentie
## Basis URL
`https://api.jouwdomein.nl/v1`
---
## Authenticatie
Deze API gebruikt Bearer Token authenticatie. Verkrijg een token via het `/auth` endpoint en neem deze op in de request header:
`Authorization: Bearer <jouw_token>`
---
## Endpoints
### 1. Authenticatie Endpoint
#### **POST /auth**
Verifieert gebruikers en retourneert een JWT token voor toegang tot beveiligde endpoints.
**Request Body:**
```json
{
"gebruikersnaam": "string (verplicht)",
"wachtwoord": "string (verplicht)"
}
```
**Response (Succes - 200):**
```json
{
"status": "success",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"verloopt_in": 3600
}
```
**Response (Fout - 401):**
```json
{
"status": "error",
"code": 401,
"bericht": "Ongeldige inloggegevens"
}
```
---
### 2. Weer Items Endpoints
#### **GET /items**
Haalt een lijst met weeritems op met optionele filtering.
**Query Parameters:**
- `stad` (optioneel): Filter op stad naam
- `land` (optioneel): Filter op land code (bijv. NL, BE)
- `limiet` (optioneel): Aantal items (standaard: 10, max: 50)
- `pagina` (optioneel): Paginanummer (standaard: 1)
**Response (200):**
```json
{
"status": "success",
"data": [
{
"id": "weer-123",
"stad": "Amsterdam",
"land": "NL",
"temperatuur": 15.5,
"eenheid": "celsius",
"beschrijving": "licht bewolkt",
"vochtigheid": 65,
"windsnelheid": 12.3,
"tijdstip": "2024-01-15T14:30:00Z"
}
],
"paginering": {
"huidige_pagina": 1,
"totaal_items": 150,
"totaal_paginas": 15,
"items_per_pagina": 10
}
}
```
#### **GET /items/{id}**
Haalt een specifiek weeritem op basis van ID.
**URL Parameters:**
- `id` (verplicht): Unieke identifier van het weeritem
**Response (200):**
```json
{
"status": "success",
"data": {
"id": "weer-123",
"stad": "Amsterdam",
"land": "NL",
"temperatuur": 15.5,
"eenheid": "celsius",
"beschrijving": "licht bewolkt",
"vochtigheid": 65,
"windsnelheid": 12.3,
"luchtdruk": 1013,
"zichtbaarheid": 10,
"tijdstip": "2024-01-15T14:30:00Z"
}
}
```
**Response (404):**
```json
{
"status": "error",
"code": 404,
"bericht": "Weeritem niet gevonden"
}
```
#### **POST /items**
Maakt een nieuw weeritem aan (vereist admin rechten).
**Request Body:**
```json
{
"stad": "string (verplicht)",
"land": "string (verplicht, 2 karakters)",
"temperatuur": "number (verplicht)",
"beschrijving": "string (verplicht)",
"vochtigheid": "number (optioneel, 0-100)",
"windsnelheid": "number (optioneel)",
"luchtdruk": "number (optioneel)"
}
```
**Response (201):**
```json
{
"status": "success",
"bericht": "Weeritem succesvol aangemaakt",
"data": {
"id": "weer-456",
"stad": "Utrecht",
"land": "NL",
"temperatuur": 16.2,
"eenheid": "celsius",
"beschrijving": "zonnig",
"vochtigheid": 60,
"windsnelheid": 8.5,
"tijdstip": "2024-01-15T15:00:00Z"
}
}
```
#### **PUT /items/{id}**
Werkt een bestaand weeritem bij (vereist admin rechten).
**URL Parameters:**
- `id` (verplicht): Unieke identifier van het weeritem
**Request Body:**
```json
{
"temperatuur": "number (optioneel)",
"beschrijving": "string (optioneel)",
"vochtigheid": "number (optioneel)",
"windsnelheid": "number (optioneel)",
"luchtdruk": "number (optioneel)"
}
```
**Response (200):**
```json
{
"status": "success",
"bericht": "Weeritem succesvol bijgewerkt",
"data": {
"id": "weer-123",
"stad": "Amsterdam",
"land": "NL",
"temperatuur": 16.0,
"eenheid": "celsius",
"beschrijving": "half bewolkt",
"vochtigheid": 62,
"tijdstip": "2024-01-15T15:30:00Z"
}
}
```
#### **DELETE /items/{id}**
Verwijdert een weeritem (vereist admin rechten).
**URL Parameters:**
- `id` (verplicht): Unieke identifier van het weeritem
**Response (200):**
```json
{
"status": "success",
"bericht": "Weeritem succesvol verwijderd"
}
```
---
## Foutafhandeling
**Standaard Error Response:**
```json
{
"status": "error",
"code": 400,
"bericht": "Beschrijving van de fout",
"details": "Optionele aanvullende details"
}
```
**Veelvoorkomende statuscodes:**
- `200` - Succes
- `201` - Aangemaakt
- `400` - Ongeldig request
- `401` - Niet geautoriseerd
- `403` - Verboden (onvoldoende rechten)
- `404` - Niet gevonden
- `429` - Te veel requests
- `500` - Interne serverfout
---
## Rate Limiting
- Maximaal 100 requests per uur per gebruiker
- Headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`
Deze referentie biedt ontwikkelaars een complete gids voor interactie met je Weer API!

