What is a direct execution
Run an INFONITE engine from your own backend — no widget, no screen, no person in front of one
A direct execution is one call from your server: run this engine, with these credentials, for this customer, and get me these records. Throughout this section, your customer means the end customer of your product — the person or company whose credentials these are. An engine logs into the bank, the utility or the public administration on your customer’s behalf, extracts what you asked for, and leaves it for you to read back.
There is no hosted screen and no redirect. Your backend talks to ours, and nobody has to be looking at anything for it to happen.
Same engines, same data, different door. Everything a flow can retrieve, a direct execution can retrieve. What changes is who faces the end user — and therefore who holds the credentials, who collects the consent, and who answers the institution when it asks for a second factor.
When this is the right integration
Use a flow instead when the person has to be there: when consent is collected in the moment and has to be evidenced by us, when the credentials must never touch your servers, or when the institution will ask for something only their phone can answer and you would rather not build that conversation.
The shape of it
Find the engine
The catalogue tells you what your application may run right now, what each engine needs to log in, and what it can retrieve. Read it rather than hardcoding a form: institutions change what they ask for. Cache it — it is a directory, not a live signal, and refreshing it once or twice a day is plenty.
Start the execution
One POST with the engine, your customer_id, the credentials and the features you want. It answers 202 in milliseconds with an execution_id — the work happens behind it.
Follow it
Two ways, and they are the platform’s two. Asynchronous: subscribe to the webhooks and you are told when it starts, when it needs you, and when it ends. Synchronous: poll — there is a one-byte status endpoint for exactly that.
Answer, if the source asks
Some logins raise a challenge halfway through. The execution parks, publishes the form it needs, and waits for you to send the value — see Challenges and MFA.
What you are responsible for
This is the honest part of choosing this product. With a flow, a lot of this is ours; here it is yours.
Going to production
Everything above works in sandbox from the first minute, against engines that answer with realistic, fabricated records — build the whole integration there. Production is a separate request, and so is each capability it needs.
Direct executions in production
Direct executions run in sandbox from the first minute. Moving the application to production asks which products it will use — choose Direct Executions — and stored credentials need Tokenized access on top: without it, a production run that asks for them answers 403 with insufficient_capabilities@login:tokenized_access.