Request an on-demand check of an advert
curl --request POST \
--url https://api.fluximmo.io/v2/protected/adverts/{flxId}/check \
--header 'x-api-key: <api-key>'import requests
url = "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.fluximmo.io/v2/protected/adverts/{flxId}/check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fluximmo.io/v2/protected/adverts/{flxId}/check")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluximmo.io/v2/protected/adverts/{flxId}/check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"status": "accepted",
"entity": "property",
"flx_id": "123456789",
"triggered": [
"987654321",
"987654322"
],
"triggered_count": 2,
"skipped_count": 0,
"message": "2 advert(s) queued for an on-demand re-check."
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "Not Found",
"code": 10003
}
}{
"error": {
"message": "<string>",
"code": 123
}
}Signalement & re-check
Demander la revérification d'une advert
Contrôle à la demande de la disponibilité d’une annonce sur son portail, facturé 1 crédit.
Request an on-demand check of an advert
curl --request POST \
--url https://api.fluximmo.io/v2/protected/adverts/{flxId}/check \
--header 'x-api-key: <api-key>'import requests
url = "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.fluximmo.io/v2/protected/adverts/{flxId}/check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluximmo.io/v2/protected/adverts/{flxId}/check"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fluximmo.io/v2/protected/adverts/{flxId}/check")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluximmo.io/v2/protected/adverts/{flxId}/check")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"status": "accepted",
"entity": "property",
"flx_id": "123456789",
"triggered": [
"987654321",
"987654322"
],
"triggered_count": 2,
"skipped_count": 0,
"message": "2 advert(s) queued for an on-demand re-check."
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "Not Found",
"code": 10003
}
}{
"error": {
"message": "<string>",
"code": 123
}
}POST /v2/protected/adverts/{flxId}/check répond à une seule question : cette annonce est-elle toujours en ligne sur son portail ? L’appel n’a aucun corps de requête ni paramètre de requête : seul le flxId du chemin est nécessaire. Il répond 200 immédiatement, le contrôle est lancé en tâche de fond.
Le contrat exact est documenté plus bas par le bloc OpenAPI (POST /v2/protected/adverts/{flxId}/check).
L’appel coûte 1 crédit, facturé sur toute réponse 2xx. Un
404 ne facture rien. Suivez votre solde avec la consommation de crédits.Ce contrôle porte sur la disponibilité, pas sur le contenu. Il met à jour le statut en ligne de l’annonce ; il ne corrige ni le prix, ni la surface, ni la géolocalisation, ni l’agence. Pour faire corriger une donnée fausse, utilisez
/report avec le motif adéquat — c’est gratuit et plus efficace.Le résultat n’est pas dans la réponse. Relisez l’annonce quelques minutes plus tard avec
GET /v2/protected/adverts/{flxId}, ou recevez-la sur votre webhook d’alerte. L’annonce est contrôlée même si Fluximmo la croit hors ligne — c’est justement le cas qui permet de la faire repasser en ligne./check ou /report ?
/check— « est-elle toujours en ligne ? » : vous n’avez pas de diagnostic, vous voulez confirmer la disponibilité. Payant (1 crédit), sans corps de requête./report— nous dire ce qui ne va pas : vous avez un diagnostic (STILL_ONLINE,WRONG_DATA,DUPLICATE…). Gratuit, avec motif obligatoire. Et le motif détermine la profondeur : un problème de disponibilité déclenche le même contrôle léger que/check, tandis qu’un problème de donnée déclenche une réextraction complète de l’annonce.
Cas d’usage
- Avant d’afficher une fiche — confirmer qu’une annonce vue il y a plusieurs jours est toujours publiée avant de la présenter à un utilisateur final.
- Confirmation de disponibilité — vérifier qu’une annonce est toujours publiée avant de déclencher une prise de contact.
- Rattrapage ciblé — revérifier un petit lot d’annonces sensibles sans attendre le cycle de collecte automatique.
Exemples
1 — Demander la revérification
curl -X POST https://api.fluximmo.io/v2/protected/adverts/123456789/check \
-H "x-api-key: $FLUXIMMO_API_KEY"
200 :
{"data":{"status":"accepted","entity":"advert","flx_id":"123456789","triggered":["123456789"],"triggered_count":1,"skipped_count":0,"message":"1 advert(s) queued for an on-demand re-check."}}
status vaut accepted ou nothing_to_check. triggered liste les flx_id confiés au scraper. Sur une annonce, skipped_count ne peut valoir que 0 ou 1 : il passe à 1 lorsque la revérification n’a pas pu être lancée, et status vaut alors nothing_to_check. Une rafale d’appels rapprochés rend ce cas plus probable — espacez-les et réessayez. Le plafond de 10 annonces et le cas « url source absente » ne concernent que les properties. Le crédit est débité dans les deux cas, puisque la réponse est un 2xx.
2 — Revérifier, puis relire la donnée
Le200 ne contient pas l’annonce : il faut la relire quelques minutes plus tard.
# 1. déclencher la revérification (1 crédit)
curl -X POST https://api.fluximmo.io/v2/protected/adverts/123456789/check \
-H "x-api-key: $FLUXIMMO_API_KEY"
# 2. quelques minutes plus tard, relire l'annonce et son statut en ligne
curl https://api.fluximmo.io/v2/protected/adverts/123456789 \
-H "x-api-key: $FLUXIMMO_API_KEY"
Erreurs spécifiques
Les réponses en succès sont enveloppées dans{ "data": … }, les erreurs dans { "error": { "message", "code" } }.
- 404 —
flx_idinconnu :{"error":{"message":"Advert with flx_id 123456789 not found","code":10003}}. Aucun crédit débité. - 422 (code
10003) — l’annonce n’a pas d’url source exploitable :"Advert with flx_id 123456789 has no source url: it cannot be re-checked."Il n’y a pas d’erreur de validation de corps sur cette route, puisqu’elle n’en prend pas.
Liens utiles
- Récupérer une advert par flxId — relire l’annonce et son statut après le contrôle.
- Signaler un problème sur une advert — gratuit, avec un motif, et seul moyen de faire corriger une donnée fausse.
- Consommation de crédits — suivre ce que coûtent vos revérifications.
- Créer une alerte adverts — recevoir les mises à jour sans repoller.
- Limites et rate limits · Bonnes pratiques
- Property vs Advert — l’équivalent existe sur les properties :
POST /v2/protected/properties/{flxId}/check.
Clé test gratuite — 1 semaine
Créez un compte sur my.fluximmo.io pour récupérer une clé API test gratuite (1 semaine, accès limité). Aucun paiement requis.
Was this page helpful?

