Documentation API

L’API de Diet Mate vous permet de récupérer les repas enregistrés dans l'app et de les intégrer dans vos outils (site, app, back-office).Toutes les requêtes se font en HTTPS et les réponses sont en JSON.Pour commencer, créez une clé API dans l’application et envoyez-la dans l’en-tête Authorization de chaque requête.

Obtenir une clé API

Générez une clé API depuis l'app Diet Mate (Ressources > Export (API, csv)), puis copiez-la et conservez-la en lieu sûr.

Authentication

L’API utilise une authentification par clé API.Ajoutez votre clé dans l’en-tête Authorization à chaque requête.

Authorization: Bearer YOUR_API_KEY

Exemple (cURL)

curl -X GET "https://api.dietmate.app/v1/meals" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Remplacez YOUR_API_KEY par votre clé. Ne l’exposez jamais côté front (navigateur).

Erreurs

En cas d’erreur, l’API renvoie un code HTTP standard et un JSON avec un message.

{
  "error": {
    "message": "Invalid API key."
  }
}

Rate limits

Limites par clé API : 1000 requêtes par jour et 1 requête minimum toutes les 3 secondes.En cas de dépassement, l’API renvoie 429.

GET /v1/meals

Retourne les repas modifiés depuis une date donnée (sync incrémental).Le paramètre lastModifiedSince est obligatoire.

Query parameters

  • lastModifiedSince (required) — Date ISO (ex: 2025-01-01T00:00:00Z)
  • limit (optional)Nombre max de repas (max 5000)

Example (cURL)

curl -X GET "https://api.dietmate.app/v1/meals?lastModifiedSince=2025-01-01T00:00:00Z&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Réponse (200)

{
  "ok": true,
  "userId": "USER_ID",
  "lastModifiedSince": "2025-01-01T00:00:00.000Z",
  "count": 1,
  "meals": [
    {
      "id": "meal_123",
      "description": "Déjeuner au resto",
      "title": "Salade + poulet",
      "type": "lunch",
      "date": "2025-01-03T12:30:00.000Z",
      "caloriesTotal": 650.5,
      "proteins_g": 42.1,
      "fats_g": 18.0,
      "carbs_g": 70.2,
      "fibers_g": 9.4,
      "sodium_mg": 820.0,
      "iron_mg": 3.2,
      "calcium_mg": 120.0
    }
  ]
}