The same pair exists for agents:
/floware/v2/agents/<id>/inference and /floware/v3/agents/<id>/inference. The request body is the same in both: inputs, variables, output_json_enabled (see Workflows), and both accept ?version=<n>.
Synchronous runs
result, the execution_time and the variables used. Your HTTP client, and any proxy or load balancer in between, must allow the request to stay open for the whole run.
Background runs
1. Start the run
inputs (images, documents) are saved with the execution before it is queued; an unsupported file is refused with a 400 before anything is queued.
2. Poll the execution
Poll every few seconds. Each poll returns fresh links, so fetch the output right after you see
completed.
3. Read the result
Listing executions
entity_id (an agent or workflow id), entity_type (agent or workflow), status, offset, limit (up to 200), and the run’s variables as ?variable.<name>=<value> (several are combined with AND). For example, ?variable.order_id=O-1001 finds every run for that order.
Known issue
Choosing between them
- A user clicked a button and waits for an answer of a few seconds → synchronous.
- A run reads several images or videos, calls several agents, or takes more than a minute → background, with your application polling (or showing “in progress” and refreshing).
- A batch of records → background, one execution per record, started by your application or a scheduled job.

