Ton API REST, sans écrire de backend.

Décris tes données. On génère les routes, la base PostgreSQL, la doc et les clés d'accès. Ton app Angular, React ou Ionic n'a plus qu'à appeler l'URL.

Gratuit, sans carte bancaire. La démo s'ouvre sans inscription.

  • GET/p/demo/api/products/12200 OK · 38 ms
  • POST/p/demo/api/orders201 Created · 52 ms
GETPOSTPUTPATCHDELETE

Décris tes données. On s'occupe des routes.

Un modèle, ses champs : voilà les cinq endpoints que tu obtiens, et ce qu'ils répondent.

  • titretexte
  • prixdécimal
  • stockentier
  • disponiblebooléen

Endpoints générés

  1. GET/p/mon-projet/api/produitsLister
  2. GET/p/mon-projet/api/produits/{id}Lire
  3. POST/p/mon-projet/api/produitsCréer
  4. PATCH/p/mon-projet/api/produits/{id}Modifier
  5. DELETE/p/mon-projet/api/produits/{id}Supprimer
api.apieuvre.com/p/mon-projet/api/produits

200 OK

201 Created

{
  "data": [
    {
      "id": 1,
      "titre": "Monoï Tiaré",
      "prix": 12.5,
      "stock": 40,
      "disponible": true
    }
  ],
  "current_page": 1,
  "total": 1
}
{
  "id": 1,
  "titre": "Monoï Tiaré",
  "prix": 12.5,
  "stock": 40,
  "disponible": true,
  "created_at": "2026-10-19T09:41:00Z"
}

Tout ce que ton front attend d'un backend.

Prêt dès le premier déploiement, sans une ligne de serveur.

Voir le détail des fonctionnalités
  1. Des modèles typés et validés

    Texte, entier, décimal, booléen, date, e-mail, JSON. Obligatoire, unique, valeur par défaut : la validation suit, et les erreurs disent quoi corriger.

    POST/orders attend un champ total. Ajoute-le et relance.

  2. Des relations, clés étrangères comprises

    belongsTo, hasMany, belongsToMany : les clés sont vérifiées à chaque écriture, les tables pivot gérées pour toi.

    ProductCategorycategory_id
  3. Recherche, filtres, tri, pagination

    Sur n'importe quel champ, dès la première requête.

    GET/products?search=vanille&filter[price_gte]=5&sort=-price

  4. Des clés d'accès par app

    Lecture seule ou lecture et écriture, révocables en un clic. La lecture publique s'ouvre si tu veux.

  5. Une doc OpenAPI toujours à jour

    Régénérée à chaque déploiement. Lis-la dans le tableau de bord ou importe-la dans ton outil.

    GET/api/openapi.json → "openapi": "3.0.3"

  6. Un déploiement tout ou rien

    Renommer garde les données, changer un type convertit l'existant. Si une étape échoue, rien n'est appliqué.

De zéro à fetch() en trois étapes.

  1. Modélise

    Crée un projet, ajoute tes modèles et leurs champs, relie-les entre eux.

  2. Déploie

    Un clic crée la base et ouvre les routes. Chaque changement de structure se redéploie pareil.

  3. Branche

    Copie l'URL et une clé dans ton app. Lis, écris, filtre : c'est du REST standard.

Pas de SDK. Une URL et une clé.

L'en-tête X-Api-Key, du JSON en retour : ton code front reste celui que tu écris déjà.

const res = await fetch('https://api.apieuvre.com/p/mon-projet/api/produits', {
  headers: { 'X-Api-Key': process.env.APIEUVRE_KEY },
});
const { data } = await res.json();
this.http
  .get<Page<Produit>>('https://api.apieuvre.com/p/mon-projet/api/produits', {
    headers: { 'X-Api-Key': environment.apiKey },
  })
  .subscribe((page) => (this.items = page.data));
curl https://api.apieuvre.com/p/mon-projet/api/produits \
  -H "X-Api-Key: $APIEUVRE_KEY"

Ton prochain backend est à cinq minutes.

1 projet, 5 modèles, 100 enregistrements, documentation et testeur inclus. Gratuit, sans carte.