Documentation de l'API

Une API REST publique, sans authentification, qui expose six ressources au format JSON.

URL de base

TEXT
https://api-placeholder.frederickagathe.fr/api

Toutes les origines sont autorisées (CORS *) et les réponses sont en JSON.

Tester

Choisissez un exemple ou écrivez votre requête : la réponse vient directement de l'API.

Méthode
Réponse
…

Ressources

Opérations

Chaque ressource accepte les mêmes opérations.

Méthode URI Description Codes
GET /api/{resource} Liste les entrées, avec filtres et pagination 200, 422
GET /api/{resource}/{id} Retourne une entrée 200, 404
POST /api/{resource} Crée une entrée, réellement enregistrée 201, 400, 422
PUT /api/{resource}/{id} Remplace une entrée 200, 400, 404, 422
PATCH /api/{resource}/{id} Modifie les champs envoyés 200, 400, 404, 422
DELETE /api/{resource}/{id} Simule une suppression : rien n'est supprimé 204

Mode sandbox

  • Données initiales : PUT, PATCH et DELETE répondent normalement, mais la base n'est pas modifiée.
  • Vos données : ce que vous créez avec POST est réellement enregistré, modifiable et supprimable.
  • Purge : vos données sont supprimées chaque nuit à 03h00.

Filtres et pagination

Paramètre Rôle Exemple
_startOffset de départ/api/posts?_start=10
_limitNombre maximal de résultats/api/photos?_limit=20
Champ filtrableÉgalité exacte, listée sur la page de chaque ressource/api/todos?userId=1&completed=true

Erreurs

Code Signification
200 Requête GET, PUT ou PATCH réussie
201 Ressource créée avec POST
204 Requête DELETE : aucun contenu, et rien n'est supprimé
400 JSON malformé, ou clé étrangère inexistante
404 Ressource introuvable : le corps de la réponse est {}
413 Body de la requête supérieur à 64 Ko
422 Erreur de validation, détaillée dans violations
429 Limite d'appels par IP dépassée, voir l'en-tête Retry-After
503 La base de données ne répond plus (health check)

Hors 404, une erreur décrit le problème dans title et detail. Une erreur 422 liste aussi les champs refusés :

JSON Réponse 422
{
  "title": "Validation Failed",
  "status": 422,
  "detail": "title: This value should not be blank.",
  "violations": [
    {
      "propertyPath": "title",
      "title": "This value should not be blank."
    }
  ]
}

Limites

  • 100 requêtes par minute et par IP sur les six ressources.
  • Body HTTP de 64 Ko au maximum.

Health check

GET /api/health-check répond 200 si la base de données est disponible, 503 sinon.

JSON Réponse 200
{
  "status": "ok",
  "timestamp": "2026-11-01T02:00:00+01:00",
  "checks": {
    "database": "up"
  }
}