curl --request POST \
--url https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"method": "POST",
"path": "/score-transaction"
},
"mappedTargets": [
"accountId"
]
}
'import requests
url = "https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate"
payload = {
"config": {
"method": "POST",
"path": "/score-transaction"
},
"mappedTargets": ["accountId"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {method: 'POST', path: '/score-transaction'},
mappedTargets: ['accountId']
})
};
fetch('https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate', 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/catalog/executors/{id}/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'method' => 'POST',
'path' => '/score-transaction'
],
'mappedTargets' => [
'accountId'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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/catalog/executors/{id}/validate"
payload := strings.NewReader("{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"error": "",
"valid": true
}{
"code": "FLK-0001",
"detail": "name is a required field",
"errors": [
{
"location": "body.nodes",
"message": "expected array length >= 1",
"value": "<unknown>"
}
],
"instance": "/v1/workflows",
"status": 400,
"title": "Bad Request",
"type": "https://errors.lerian.studio/v1/FLK-0001"
}{
"code": "FLK-0001",
"detail": "name is a required field",
"errors": [
{
"location": "body.nodes",
"message": "expected array length >= 1",
"value": "<unknown>"
}
],
"instance": "/v1/workflows",
"status": 400,
"title": "Bad Request",
"type": "https://errors.lerian.studio/v1/FLK-0001"
}Validar una configuración de node
Utiliza este endpoint para comprobar la configuración de un node contra el JSON Schema del executor del catálogo que invoca. La comprobación es estructural — nunca llama al servicio externo.
curl --request POST \
--url https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"method": "POST",
"path": "/score-transaction"
},
"mappedTargets": [
"accountId"
]
}
'import requests
url = "https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate"
payload = {
"config": {
"method": "POST",
"path": "/score-transaction"
},
"mappedTargets": ["accountId"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {method: 'POST', path: '/score-transaction'},
mappedTargets: ['accountId']
})
};
fetch('https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate', 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/catalog/executors/{id}/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'method' => 'POST',
'path' => '/score-transaction'
],
'mappedTargets' => [
'accountId'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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/catalog/executors/{id}/validate"
payload := strings.NewReader("{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flowker.sandbox.lerian.net/v1/catalog/executors/{id}/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"method\": \"POST\",\n \"path\": \"/score-transaction\"\n },\n \"mappedTargets\": [\n \"accountId\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"error": "",
"valid": true
}{
"code": "FLK-0001",
"detail": "name is a required field",
"errors": [
{
"location": "body.nodes",
"message": "expected array length >= 1",
"value": "<unknown>"
}
],
"instance": "/v1/workflows",
"status": 400,
"title": "Bad Request",
"type": "https://errors.lerian.studio/v1/FLK-0001"
}{
"code": "FLK-0001",
"detail": "name is a required field",
"errors": [
{
"location": "body.nodes",
"message": "expected array length >= 1",
"value": "<unknown>"
}
],
"instance": "/v1/workflows",
"status": 400,
"title": "Bad Request",
"type": "https://errors.lerian.studio/v1/FLK-0001"
}Autorizaciones
Token bearer JWT emitido por el provider de identidad. Envíalo en la cabecera Authorization como Bearer <token>.
Parámetros de ruta
Identificador único del executor del catálogo.
Cuerpo
Cuerpo de la solicitud que contiene la configuración a validar.
La configuración del node que se comprueba contra el JSON Schema del executor del catálogo.
Show child attributes
Show child attributes
{
"method": "POST",
"path": "/score-transaction"
}
Rutas de campo que el node aporta mediante un inputMapping en lugar de un valor fijo en config. Flowker las cuenta como satisfechas, así que un node que mapea un campo requerido desde el trigger o desde un paso anterior pasa la comprobación. Omite el campo para comprobar config por sí solo.
["accountId"]
¿Esta página le ayudó?

