Saltar al contenido principal
POST
/
workflows
Crear un nuevo flujo de trabajo
curl --request POST \
  --url https://api.altostrat.io/workflows \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Incorporación de Nuevo Cliente",
  "description": "Envía un correo de bienvenida cuando se crea un nuevo sitio.",
  "is_active": true,
  "authorization_id": "auth_01H...",
  "schedule_type": "manual",
  "nodes": [
    {
      "id": "n1",
      "type": "manual_trigger",
      "position": {
        "x": 100,
        "y": 100
      },
      "data": {
        "componentId": "manual_trigger",
        "description": "Disparar manualmente este flujo de incorporación."
      }
    },
    {
      "id": "n2",
      "type": "webhook",
      "position": {
        "x": 400,
        "y": 100
      },
      "data": {
        "componentId": "webhook",
        "method": "POST",
        "url": "https://example.com/api/welcome",
        "body": "{\"message\": \"¡Bienvenido!\", \"run_id\": \"{{ n1.run_id }}\"}"
      }
    }
  ],
  "edges": [
    {
      "id": "e1-2",
      "source": "n1",
      "target": "n2"
    }
  ]
}'
{
  "id": "fl_01h3j4k5l6m7n8p9q0r1s2t3u4",
  "name": "Incorporación de Cliente",
  "description": "Envía un correo de bienvenida y configura una cuenta.",
  "nodes": [
    {
      "id": "n1",
      "type": "manual_trigger",
      "position": {
        "x": 150,
        "y": 250
      },
      "data": {
        "componentId": "manual_trigger"
      }
    }
  ],
  "edges": [
    {
      "id": "e1-2",
      "source": "n1",
      "target": "n2",
      "sourceHandle": "true"
    }
  ],
  "schedule_type": "manual",
  "schedule_value": "0 9 * * *",
  "next_run_at": "2025-11-01T09:00:00.000000Z",
  "is_active": true,
  "webhook_url": "https://api.altostrat.io/workflows/webhooks/whsec_abc123...",
  "created_at": "2025-10-31T12:00:00.000000Z",
  "updated_at": "2025-10-31T12:30:00.000000Z"
}

Authorizations

Authorization
string
header
required

JWT estándar para sesiones de usuario obtenido a través de la autenticación de Altostrat.

Body

application/json
name
string
required

El nombre para el nuevo flujo de trabajo.

Example:

"Chequeo Diario de Salud de la Red"

authorization_id
string
required

El ID con prefijo de la Autorización (auth_...) a utilizar para las ejecuciones de este flujo de trabajo.

Example:

"auth_01H..."

nodes
object[]
required

El array de nodos que define la lógica del flujo de trabajo.

Minimum length: 1
edges
object[]
required

El array de aristas que conecta los nodos del flujo de trabajo.

description
string | null

Una descripción opcional para el flujo de trabajo.

is_active
boolean
default:true

Establecer en false para crear el flujo de trabajo en un estado inactivo.

schedule_type
enum<string>
default:manual
Opciones disponibles:
manual,
interval,
cron,
daily,
weekly,
monthly
schedule_value
string | null

Requerido si schedule_type es interval o cron.

Example:

"0 4 * * *"

Response

El flujo de trabajo fue creado exitosamente.

id
string

El identificador único con prefijo para el flujo de trabajo.

Example:

"fl_01h3j4k5l6m7n8p9q0r1s2t3u4"

name
string

El nombre legible por humanos del flujo de trabajo.

Example:

"Incorporación de Cliente"

description
string | null

Una descripción detallada de lo que hace el flujo de trabajo.

Example:

"Envía un correo de bienvenida y configura una cuenta."

nodes
object[]

Un array de objetos de nodo que componen el grafo del flujo de trabajo. Solo se devuelve al obtener un único flujo de trabajo.

edges
object[]

Un array de objetos de arista que conectan los nodos en el grafo del flujo de trabajo. Solo se devuelve al obtener un único flujo de trabajo.

schedule_type
enum<string> | null

El tipo de programación que dispara el flujo de trabajo.

Opciones disponibles:
manual,
interval,
cron,
daily,
weekly,
monthly
Example:

"manual"

schedule_value
string | null

El valor para la programación (ej., una expresión cron o una cadena de intervalo como '5 minutes').

Example:

"0 9 * * *"

next_run_at
string<date-time> | null

La próxima hora programada para la ejecución del flujo de trabajo.

Example:

"2025-11-01T09:00:00.000000Z"

is_active
boolean

Indica si el flujo de trabajo está activo y puede ser disparado.

Example:

true

webhook_url
string<uri> | null

La URL única y segura para disparar este flujo de trabajo si utiliza un disparador de webhook.

Example:

"https://api.altostrat.io/workflows/webhooks/whsec_abc123..."

created_at
string<date-time>

La marca de tiempo de cuándo se creó el flujo de trabajo.

Example:

"2025-10-31T12:00:00.000000Z"

updated_at
string<date-time>

La marca de tiempo de la última actualización del flujo de trabajo.

Example:

"2025-10-31T12:30:00.000000Z"