---
title: "Ejecuta el flow manualmente. Body: { trigger_payload?, use_draft? }"
method: POST
path: "/workspaces/{workspaceId}/flows/{id}/run"
tags: ["Flows"]
---

# Ejecuta el flow manualmente. Body: { trigger_payload?, use_draft? }

`POST /workspaces/{workspaceId}/flows/{id}/run`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/workspaces/{workspaceId}/flows/{id}/run`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Arranca la ejecución y responde de inmediato con el run: **no espera a que termine**. El resultado se lee después con `GET /flow-runs/{runId}`. Con `use_draft: true` corre el borrador en vez de lo publicado, que es la forma de probar un cambio sin publicarlo. Los nodos que generan imagen o video consumen Energía aunque canceles el run después.

Para correrlo sobre un contacto, `trigger_payload` acepta dos formas: la anidada `{ kind: "contact", payload: { contact_id } }` o la plana `{ contact_id }`, que se convierte en la anidada (los demás campos planos van dentro de `payload`). Con la plana, si el contacto no existe en tu workspace la respuesta es 404 `contact_not_found`, y un `contact_id` que no es un entero positivo da 400 `invalid_contact_id`; no se crea el run.

## Path parameters

- `workspaceId` number, required
- `id` string, required

## Response `201`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` FlowRunStartedResponseDto, required
    - `run_id` string, required

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `409`: La operación entra en conflicto con el estado actual o con un Idempotency-Key en uso. No reintentes con el mismo key y un body distinto.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
