Lister les exécutions d'automatisation
curl --request GET \
--url https://app.famulor.de/api/user/automate/flows/{id}/runsimport requests
url = "https://app.famulor.de/api/user/automate/flows/{id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/automate/flows/{id}/runs', 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://app.famulor.de/api/user/automate/flows/{id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://app.famulor.de/api/user/automate/flows/{id}/runs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.famulor.de/api/user/automate/flows/{id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/automate/flows/{id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"runs": [
{
"id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "SUCCEEDED",
"start_time": "2026-07-24T18:23:59.634Z",
"duration_ms": 1
},
{
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410
}
]
}
{
"run": {
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410,
"steps": [
{ "name": "trigger", "status": "SUCCEEDED", "classification": "ok", "error": null },
{
"name": "step_1",
"status": "FAILED",
"classification": "missing_connection",
"error": "Request failed with status code 401"
}
]
}
}
{
"message": "Run not found for this automation"
}
Automatisations
Lister les exécutions d'automatisation
Liste les exécutions récentes d’une automatisation Famulor, ou le détail étape par étape d’une exécution.
GET
/
api
/
user
/
automate
/
flows
/
{id}
/
runs
Lister les exécutions d'automatisation
curl --request GET \
--url https://app.famulor.de/api/user/automate/flows/{id}/runsimport requests
url = "https://app.famulor.de/api/user/automate/flows/{id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/automate/flows/{id}/runs', 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://app.famulor.de/api/user/automate/flows/{id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://app.famulor.de/api/user/automate/flows/{id}/runs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.famulor.de/api/user/automate/flows/{id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/automate/flows/{id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"runs": [
{
"id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "SUCCEEDED",
"start_time": "2026-07-24T18:23:59.634Z",
"duration_ms": 1
},
{
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410
}
]
}
{
"run": {
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410,
"steps": [
{ "name": "trigger", "status": "SUCCEEDED", "classification": "ok", "error": null },
{
"name": "step_1",
"status": "FAILED",
"classification": "missing_connection",
"error": "Request failed with status code 401"
}
]
}
}
{
"message": "Run not found for this automation"
}
API Famulor 1.0 (héritée). Cette page concerne uniquement Famulor 1.0 (
app.famulor.de) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la référence API Famulor 2.0.run_id pour obtenir le détail étape par étape d’une exécution, avec une classification par étape — c’est votre outil de débogage lorsqu’une automatisation échoue.
Une fois la cause de l’échec corrigée, relancez l’exécution depuis son étape en échec avec Réessayer une exécution d’automatisation — récupérez l’id de l’exécution dans cette liste.
Paramètres de chemin
string
requis
L’ID de l’automatisation (voir Lister les automatisations)
Paramètres de requête
string
Un ID d’exécution issu de la liste — renvoie le détail étape par étape de cette exécution au lieu de la liste
integer
Le nombre d’exécutions récentes à lister (1 à 20, 10 par défaut)
Response — Liste (sans run_id)
array
Les exécutions récentes de l’automatisation, la plus récente en premier
Afficher Propriétés de l'exécution
Afficher Propriétés de l'exécution
string
L’ID de l’exécution — à renvoyer comme
run_id pour le détail étape par étape, ou à Réessayer une exécution d’automatisation pour une exécution en échecstring
SUCCEEDED, FAILED, PAUSED (arrêtée à une étape Delay en attente de son heure cible — ce n’est pas un échec) ou RUNNINGstring
Date et heure de démarrage de l’exécution
integer
La durée de l’exécution en millisecondes
Response — Détail (avec run_id)
object
Le détail de l’exécution
Afficher Propriétés de l'exécution
Afficher Propriétés de l'exécution
string
L’ID de l’exécution
string
SUCCEEDED, FAILED, PAUSED ou RUNNINGstring
Date et heure de démarrage de l’exécution
integer
La durée de l’exécution en millisecondes
array
Le résultat par étape — même forme que
test.steps dans Créer une automatisation : {name, status, classification, error}, où classification vaut ok, paused_at_delay, wiring_error, missing_connection ou missing_record404 avec {"message": "Automation not found"}. Un run_id qui n’appartient pas à cette automatisation renvoie un 404 avec {"message": "Run not found for this automation"}.
{
"runs": [
{
"id": "yHhXbqWj3zJZ5ztDNfUry",
"status": "SUCCEEDED",
"start_time": "2026-07-24T18:23:59.634Z",
"duration_ms": 1
},
{
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410
}
]
}
{
"run": {
"id": "x2PqLm90AbCdEfGhIjKlM",
"status": "FAILED",
"start_time": "2026-07-24T17:10:12.000Z",
"duration_ms": 410,
"steps": [
{ "name": "trigger", "status": "SUCCEEDED", "classification": "ok", "error": null },
{
"name": "step_1",
"status": "FAILED",
"classification": "missing_connection",
"error": "Request failed with status code 401"
}
]
}
}
{
"message": "Run not found for this automation"
}
Pages associées : Réessayer une exécution d’automatisation, Mettre à jour une automatisation et Authentification.