VDMDéveloppeurs

Général

Obtenir les informations de l’API

GET/Clé d'API seule

Permet de vérifier que l’API répond et que votre clé d’API est acceptée. Renvoie version, apikey et userid : l’id du membre authentifié, sinon la valeur de X-VDM-Uniqid, sinon unknown.

Paramètres

Aucun paramètre.

Requête
curl "https://www.viedemerde.fr/api/v2/" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "version": "2.0",
  "apikey": "{{apikey}}",
  "userid": "1139668301",
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Obtenir la configuration de l’application

GET/appconfigClé d'API seule

Renvoie un objet de configuration dans data, pouvant être mis en cache 24 heures. Il contient au plus, pour l’instant, un booléen contest (un concours de VDM est-il en cours ?) et peut être vide.

Paramètres

Aucun paramètre.

Requête
curl "https://www.viedemerde.fr/api/v2/appconfig" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "data": {
    "contest": false
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Envoyer un message au support

POST/supportClé d'API seule

Si vous êtes authentifié, le pseudo et l’e-mail du membre servent d’expéditeur. Sinon, username doit être une adresse e-mail valide. Le sujet est préfixé par la description de votre clé d’API. Renvoie 202 en cas de succès, 400 si l’e-mail, le sujet ou le message manque ou est invalide.

Paramètres

usernamefacultatif
chaîne, POST — adresse e-mail de l’expéditeur (obligatoire sans authentification, ignorée sinon)
subjectfacultatif
chaîne, POST, obligatoire — sujet du message
messagefacultatif
chaîne, POST, obligatoire — corps du message
Requête
curl -X POST "https://www.viedemerde.fr/api/v2/support" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 202
{
  "data": null,
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Découvrir des profils de membres

GET/discover/{service}Clé d'API seule

Renvoie les membres actifs ayant une photo de profil, inscrits depuis moins de created mois, avec pagination (meta). Le membre authentifié est exclu. Sans service (/discover) et avec favorite, birthday et random, un jeton utilisateur est obligatoire (401 sinon) ; lastprofiles, lastpictures, lastbirthdays et followed fonctionnent aussi en anonyme. lat/long ne s’appliquent qu’avec authentification, et ce filtre de localisation renvoie actuellement une erreur serveur. Exemple : /discover/lastprofiles?gender=woman&relation[]=single&agemin=19&agemax=50&page[number]=1&page[bypage]=10.

Paramètres

servicefacultatifdans l'URLformat (favorite|birthday|lastprofiles|lastpictures|lastbirthdays|random|followed)?
chaîne, facultative, dans le chemin — favorite (ordre aléatoire pour l’instant), birthday (membres nés le même jour que vous), lastprofiles (derniers inscrits d’abord), lastpictures (dernières photos de profil d’abord), lastbirthdays (membres dont c’est l’anniversaire aujourd’hui), random (ordre aléatoire) ou followed (les plus suivis d’abord). Sans service : derniers inscrits d’abord
latfacultatif
nombre décimal ou auto, facultatif — latitude du centre de la zone de recherche (environ ±0,66°) ; auto utilise votre ville. À utiliser avec long
longfacultatif
nombre décimal ou auto, facultatif — longitude du centre de la zone de recherche (environ ±0,66°) ; auto utilise votre ville. À utiliser avec lat
genderfacultatif
man ou woman, facultatif — genre des profils, d’après leur civilité
relationfacultatif
tableau de chaînes, facultatif — situations amoureuses à inclure : single, couple, complicated (ex. relation[]=single&relation[]=couple)
ageminfacultatif
entier, facultatif — âge minimum
agemaxfacultatif
entier, facultatif — âge maximum
createdfacultatif
entier, 24 par défaut — uniquement les profils créés depuis moins de ce nombre de mois
randomfacultatif
booléen, false par défaut — renvoie les résultats dans un ordre aléatoire ; toute valeur non vide autre que 0 l’active
pagefacultatif
tableau — pagination : page[number] (numéro de page, 1 par défaut) et page[bypage] (éléments par page, 30 par défaut)
Requête
curl "https://www.viedemerde.fr/api/v2/discover/{service}" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "data": [
    {
      "id": 4294967294,
      "fbid": 0,
      "twid": 0,
      "dateEntry": "2026-09-29T20:29:38+02:00",
      "dateUpdate": "2026-10-30T06:42:16+01:00",
      "status": 1,
      "role": [
        "ROLE_USER"
      ],
      "username": "JohnDoe",
      "email": "",
      "city": "Paris",
      "area": null,
      "country": null,
      "timezone": "Pacific/Fakaofo",
      "birthday": "1990-05-17T00:00:00+02:00",
      "origin": 3,
      "bio": "Bio de test",
      "source": "cowroker",
      "relation": "",
      "title": "mr",
      "site": 1,
      "oldIDVDM": null,
      "oldIDFML": null,
      "avatar": null,
      "metrics": null,
      "signature": null
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 2,
    "page_count": 1,
    "total_count": 1
  },
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Lister les mots-clés de catégorie

GET/keywordClé d'API seule

Renvoie les mots-clés du site courant utilisés comme catégories, triés par nom. Pour chercher parmi tous les mots-clés par préfixe, utilisez /keyword/{expr}.

Paramètres

exprfacultatif
Non utilisé sur cette route : pour filtrer par préfixe, utilisez /keyword/{expr}
Requête
curl "https://www.viedemerde.fr/api/v2/keyword" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "data": [
    {
      "id": "1",
      "uid": 1,
      "name": "Amour",
      "label": "Amour",
      "rub": true
    },
    {
      "id": "5",
      "uid": 5,
      "name": "Animaux",
      "label": "Animaux",
      "rub": true
    }
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Chercher des mots-clés par préfixe

GET/keyword/{expr}Clé d'API seule

Renvoie les mots-clés du site courant dont le nom commence par {expr}, triés par nom. Contrairement à /keyword, les résultats ne se limitent pas aux catégories.

Paramètres

exprfacultatifdans l'URLformat (.+)?
chaîne, dans le chemin ({expr}) — début du nom du mot-clé
Requête
curl "https://www.viedemerde.fr/api/v2/keyword/{expr}" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "data": [
    {
      "id": "1",
      "uid": 1,
      "name": "Amour",
      "label": "Amour",
      "rub": true
    }
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.