curl --request PUT \
--url https://flowker.sandbox.lerian.net/v1/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Payment Notification Flow v2",
"description": "Updated flow with additional logging step.",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": {
"triggerId": "webhook"
}
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": {
"action": "log"
}
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
]
}
'import requests
url = "https://flowker.sandbox.lerian.net/v1/workflows/{id}"
payload = {
"name": "Payment Notification Flow v2",
"description": "Updated flow with additional logging step.",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": { "triggerId": "webhook" }
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": { "action": "log" }
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Payment Notification Flow v2',
description: 'Updated flow with additional logging step.',
nodes: [
{
id: 'trigger-1',
type: 'trigger',
name: 'Webhook Trigger',
position: {x: 0, y: 0},
data: {triggerId: 'webhook'}
},
{
id: 'log-event',
type: 'action',
name: 'Log Payment Event',
position: {x: 200, y: 0},
data: {action: 'log'}
}
],
edges: [{id: 'e1', source: 'trigger-1', target: 'log-event'}]
})
};
fetch('https://flowker.sandbox.lerian.net/v1/workflows/{id}', 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://flowker.sandbox.lerian.net/v1/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Payment Notification Flow v2',
'description' => 'Updated flow with additional logging step.',
'nodes' => [
[
'id' => 'trigger-1',
'type' => 'trigger',
'name' => 'Webhook Trigger',
'position' => [
'x' => 0,
'y' => 0
],
'data' => [
'triggerId' => 'webhook'
]
],
[
'id' => 'log-event',
'type' => 'action',
'name' => 'Log Payment Event',
'position' => [
'x' => 200,
'y' => 0
],
'data' => [
'action' => 'log'
]
]
],
'edges' => [
[
'id' => 'e1',
'source' => 'trigger-1',
'target' => 'log-event'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flowker.sandbox.lerian.net/v1/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://flowker.sandbox.lerian.net/v1/workflows/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flowker.sandbox.lerian.net/v1/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Payment Notification Flow",
"description": "Receives a webhook trigger and logs the payment event.",
"status": "active",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": {
"triggerId": "webhook"
}
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": {
"action": "log"
}
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
],
"metadata": {
"team": "payments",
"environment": "sandbox"
},
"createdAt": "2026-03-17T14:30:00Z",
"updatedAt": "2026-03-17T14:31:00Z"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}Actualizar un workflow
Utilice este endpoint para actualizar una definición de workflow existente. Solo se pueden actualizar workflows con estado draft.
curl --request PUT \
--url https://flowker.sandbox.lerian.net/v1/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Payment Notification Flow v2",
"description": "Updated flow with additional logging step.",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": {
"triggerId": "webhook"
}
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": {
"action": "log"
}
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
]
}
'import requests
url = "https://flowker.sandbox.lerian.net/v1/workflows/{id}"
payload = {
"name": "Payment Notification Flow v2",
"description": "Updated flow with additional logging step.",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": { "triggerId": "webhook" }
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": { "action": "log" }
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Payment Notification Flow v2',
description: 'Updated flow with additional logging step.',
nodes: [
{
id: 'trigger-1',
type: 'trigger',
name: 'Webhook Trigger',
position: {x: 0, y: 0},
data: {triggerId: 'webhook'}
},
{
id: 'log-event',
type: 'action',
name: 'Log Payment Event',
position: {x: 200, y: 0},
data: {action: 'log'}
}
],
edges: [{id: 'e1', source: 'trigger-1', target: 'log-event'}]
})
};
fetch('https://flowker.sandbox.lerian.net/v1/workflows/{id}', 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://flowker.sandbox.lerian.net/v1/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Payment Notification Flow v2',
'description' => 'Updated flow with additional logging step.',
'nodes' => [
[
'id' => 'trigger-1',
'type' => 'trigger',
'name' => 'Webhook Trigger',
'position' => [
'x' => 0,
'y' => 0
],
'data' => [
'triggerId' => 'webhook'
]
],
[
'id' => 'log-event',
'type' => 'action',
'name' => 'Log Payment Event',
'position' => [
'x' => 200,
'y' => 0
],
'data' => [
'action' => 'log'
]
]
],
'edges' => [
[
'id' => 'e1',
'source' => 'trigger-1',
'target' => 'log-event'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flowker.sandbox.lerian.net/v1/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://flowker.sandbox.lerian.net/v1/workflows/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flowker.sandbox.lerian.net/v1/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Payment Notification Flow v2\",\n \"description\": \"Updated flow with additional logging step.\",\n \"nodes\": [\n {\n \"id\": \"trigger-1\",\n \"type\": \"trigger\",\n \"name\": \"Webhook Trigger\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"data\": {\n \"triggerId\": \"webhook\"\n }\n },\n {\n \"id\": \"log-event\",\n \"type\": \"action\",\n \"name\": \"Log Payment Event\",\n \"position\": {\n \"x\": 200,\n \"y\": 0\n },\n \"data\": {\n \"action\": \"log\"\n }\n }\n ],\n \"edges\": [\n {\n \"id\": \"e1\",\n \"source\": \"trigger-1\",\n \"target\": \"log-event\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Payment Notification Flow",
"description": "Receives a webhook trigger and logs the payment event.",
"status": "active",
"nodes": [
{
"id": "trigger-1",
"type": "trigger",
"name": "Webhook Trigger",
"position": {
"x": 0,
"y": 0
},
"data": {
"triggerId": "webhook"
}
},
{
"id": "log-event",
"type": "action",
"name": "Log Payment Event",
"position": {
"x": 200,
"y": 0
},
"data": {
"action": "log"
}
}
],
"edges": [
{
"id": "e1",
"source": "trigger-1",
"target": "log-event"
}
],
"metadata": {
"team": "payments",
"environment": "sandbox"
},
"createdAt": "2026-03-17T14:30:00Z",
"updatedAt": "2026-03-17T14:31:00Z"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}{
"code": "FLK-0001",
"message": "Invalid input provided",
"title": "Bad Request"
}Autorizaciones
Clave de API para autenticar las solicitudes a la API de Flowker. Se aprovisiona mediante la variable de entorno API_KEY durante el despliegue.
Parámetros de ruta
Identificador único del workflow.
Cuerpo
Cuerpo de la solicitud que contiene la definición actualizada del workflow.
Nombre actualizado del workflow.
1 - 100"Payment Notification Flow v2"
Descripción actualizada del workflow.
500"Updated flow with additional logging step."
Conexiones actualizadas entre nodos.
200Show child attributes
Show child attributes
Metadatos personalizados actualizados.
Show child attributes
Show child attributes
Lista actualizada de nodos del workflow.
100Show child attributes
Show child attributes
Respuesta
Indica que la solicitud fue exitosa y la respuesta contiene los datos solicitados.
Marca de tiempo de cuando se creó el workflow.
"2026-03-17T14:30:00Z"
Descripción legible por humanos del workflow.
"Receives a webhook trigger and logs the payment event."
Conexiones entre nodos que definen el flujo de ejecución.
Show child attributes
Show child attributes
Identificador único del workflow.
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Pares clave-valor personalizados para etiquetar o categorizar.
Show child attributes
Show child attributes
{
"team": "payments",
"environment": "sandbox"
}
Nombre único del workflow.
"Payment Notification Flow"
Los pasos que componen este workflow.
Show child attributes
Show child attributes
Estado actual del ciclo de vida: draft (editable), active (ejecutable) o inactive (archivado).
draft, active, inactive "active"
Marca de tiempo de la última actualización.
"2026-03-17T15:00:00Z"
¿Esta página le ayudó?

