Listar ejecuciones de automatización
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"
}
Automatizaciones
Listar ejecuciones de automatización
Lista las ejecuciones recientes de una automatización de Famulor, o el detalle paso a paso de una ejecución concreta.
GET
/
api
/
user
/
automate
/
flows
/
{id}
/
runs
Listar ejecuciones de automatización
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 de Famulor 1.0 (legado). Esta página se aplica únicamente a Famulor 1.0 (
app.famulor.de) y se conserva por compatibilidad. Para la plataforma actual, usa la referencia de la API de Famulor 2.0.run_id para obtener el detalle paso a paso de una ejecución concreta con una clasificación por paso — este es tu depurador cuando una automatización está fallando.
Una vez que hayas corregido lo que provocó el fallo de una ejecución, reinténtala desde su paso fallido con Reintentar ejecución de automatización — toma el id de la ejecución de esta lista.
Parámetros de ruta
string
requerido
El ID de la automatización (de Listar automatizaciones)
Parámetros de consulta
string
Un ID de ejecución de la lista — devuelve el detalle paso a paso de esa ejecución en lugar de la lista
integer
Cuántas ejecuciones recientes listar (1–20, por defecto 10)
Respuesta — lista (sin run_id)
array
Las ejecuciones recientes de la automatización, las más nuevas primero
Mostrar Propiedades de la ejecución
Mostrar Propiedades de la ejecución
string
El ID de la ejecución — pásalo de vuelta como
run_id para el detalle paso a paso, o a Reintentar ejecución de automatización para una ejecución fallidastring
SUCCEEDED, FAILED, PAUSED (detenida en un paso de Retraso esperando su hora objetivo — no es un fallo) o RUNNINGstring
Cuándo comenzó la ejecución
integer
La duración de la ejecución en milisegundos
Respuesta — detalle (con run_id)
object
El detalle de la ejecución
Mostrar Propiedades de la ejecución
Mostrar Propiedades de la ejecución
string
El ID de la ejecución
string
SUCCEEDED, FAILED, PAUSED o RUNNINGstring
Cuándo comenzó la ejecución
integer
La duración de la ejecución en milisegundos
array
Resultado por paso — la misma forma que
test.steps de Crear automatización: {name, status, classification, error}, donde classification es ok, paused_at_delay, wiring_error, missing_connection o missing_record404 con {"message": "Automation not found"}. Un run_id que no pertenece a esta automatización devuelve un 404 con {"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"
}
Páginas relacionadas: Reintentar ejecución de automatización, Actualizar automatización, y Autenticación.