Sessions
Transition states of flow sessions
This page explains the lifecycle of a flow session in the Trust Platform, including the available sessionStatus values, what each represents, and how a session transitions between states.
Sessions
A flow session is created when the endpoint /v1/api/flows/{flowId}/{environment}/executions is called.
Immediately after creation, the initial sessionStatus of the session is RUNNING.
While the session is RUNNING, the flow steps are executed and the user proceeds through the journey.
From RUNNING, a flow session can transition into any of the terminal states described below.
Once a flow session reaches any terminal state, it stops normal step processing and the flow session has ended.
The sessionStatus is included in every GET /v1/{environment}/sessions/{sessionId} response and in all webhook events triggered during an active session.
Session status
sessionStatus | Entry Condition | Meaning | Transitions / Notes |
|---|---|---|---|
RUNNING | Status is created immediately when POST /flows/{flowId}/{environment}/sessions is called | Flow steps are actively being executed. The user is progressing through the journey. TTL has not expired. | Can transition to: COMPLETED, ABORTED, EXPIRED, ERROR |
COMPLETED | Session finishes all steps without expiry, abort, or error | Session ended successfully. A business decision has been reached. | Metadata outcome: ACCEPTED or REJECTED. Technical state remains COMPLETED. |
ABORTED | User explicitly stops the session via an Abort action | User intentionally dropped out. No further automated processing occurs. | Cannot be restarted. Represents user-driven termination. |
EXPIRED | TTL is reached while the session is still in progress | Session ended due to inactivity or incomplete progression. | Cannot be restarted. |
ERROR | Any step encounters a technical failure | Technical failure during execution (system exception, integration failure, etc.). Normal flow cannot continue. | Reflects a technical failure, not a business decision. |
Session lifetime
Session Execution Timeout defines how long a session remains valid before it expires.
Session lifetime is configurable per flow under: Flows → Your Flow → Versions → Edit or Publish → Execution Timeout
The default value is 24 hours. Once this time elapses, the user can no longer continue and a new session needs to be created. The Execution Timeout is also aligned with the SDK token lifetime for IDnow’s Player, meaning adjusting the session timeout automatically updates the token lifetime as well.