Menu

API reference

Ingestion endpoints are under https://app.flowpulse.xyz/api/v1/ingest/…, on the same origin as the FlowPulse dashboard.

Relative base path: /api/v1/ingest/

EventMethodPath
Run succeededPOST/api/v1/ingest/run-success
Run failedPOST/api/v1/ingest/run-failure

Successful acceptance returns 202 with a JSON body including event_id and status: "accepted". The event is processed asynchronously.

Choosing workflow_id vs workflow_slug

You must identify the FlowPulse workflow with one of workflow_id, workflow_slug, or workflow_name (exact name).

ApproachWhen to use
workflow_idStable CUID from the dashboard or GET /api/v1/workflows. Preferred for integrations that should survive renames.
workflow_slugURL-friendly slug from the workflow page (for example lead-enrichment). Handy for scripts and quick tests.
workflow_nameExact display name match. Not recommended for automation; names can change.

Run success

POST /api/v1/ingest/run-success

Body parameters

FieldTypeRequiredDescription
workflow_slugstringOne of slug/id/nameWorkflow slug from the workflow page.
workflow_idstringOne of slug/id/nameFlowPulse workflow ID.
workflow_namestringOne of slug/id/nameExact workflow name (legacy).
ended_atstring (ISO 8601)YesWhen the run completed.
started_atstring (ISO 8601)NoWhen the run started.
duration_msnumberNoDuration in ms. If omitted, may be derived from started_at and ended_at when both are set.
external_execution_idstringNoID from the source platform (n8n execution id, etc.).
source_platformstringNoe.g. n8n, make, zapier
source_workflow_idstringNoWorkflow ID in the source platform.
correlation_idstringNoFor linking related runs.
metadataobjectNoArbitrary JSON object for extra context.

Run failure

POST /api/v1/ingest/run-failure

Same workflow identification and timing fields as run success, plus:

FieldTypeRequiredDescription
error_messagestringYesHuman-readable failure description.
error_typestringNoe.g. RateLimitError, ValidationError

Errors

HTTPMeaning
401Invalid or missing API key.
400Validation failed (missing required fields, bad JSON).
404Workflow not found. Create the workflow in FlowPulse first.
500Server error. Retry after a delay.

Troubleshooting

SymptomFix
401 UnauthorizedCheck X-API-Key or Bearer header and that the key was not revoked.
404 Workflow not foundCreate the workflow under Workflows in the app, then use its workflow_id or workflow_slug.
400 Validation failedEnsure ended_at is present and workflow identification is included; for failures, include error_message.