Skip to main content
Use the public workflow invoke endpoint when you want to run a workflow deployment from your own app or service. Create a workflow deployment in the dashboard, choose a variant, then use the deployment details in your request. If an external product needs to start a workflow by sending a webhook directly to Fetch Hive, use the webhook trigger URL from the deployment helper instead. That flow uses X-Fetch-Hive-Webhook-Secret instead of a workspace API key. See Callback Delivery and Webhook Triggers.

Authentication

See API Keys for how to create and manage keys.

Endpoint

POST https://api.fetchhive.com/v1/workflow/invoke Before you call this endpoint, create a workflow deployment and variant from the workflow editor. See Publishing and Versioning for that UI flow.

Request

Use this request shape: inputs values must match the workflow’s Start input types. Text inputs accept strings. Array inputs must be native JSON arrays, for example "companies": [{"name":"Fetch Hive"}]. Arrays are preserved as arrays in workflow variables and logs. metadata must be flat and scalar-only: strings, numbers, booleans, or null. Nested objects and arrays return a validation error before the run starts. If you include async, use these nested fields: Workflows that contain a Human in the Loop step must use callback delivery. Set async.enabled to true and provide async.callback_url; synchronous invocation returns a validation error because the run pauses until the configured workspace member submits a choice.

Basic example

This matches the cURL snippet shown in the workflow deployment UI. The deployment UI currently shows a cURL example, and the Python and TypeScript tabs still show Coming Soon. Use metadata for audit fields you want to see or filter in logs, such as customer IDs, plan names, regions, or experiment names. Workflow start variables belong in inputs. See Invoke metadata for examples and log filtering details.

Callback delivery example

See Callback Delivery and Webhook Triggers for how immediate responses and signed callback delivery work.

Response

Direct response

When you do not enable callback delivery, the public route waits for the workflow to finish and returns the final output. For example:

Callback delivery response

When async.enabled is true, the route returns immediately. For example:
At high concurrency, the route can also return a queued callback-delivery state:

Errors

The route returns an error object when the request is invalid or the run fails. For example:
See Error Handling for workflow-specific failure cases and Callback Delivery and Webhook Triggers for callback validation errors.

Next steps