FlowInitiator - corda

corda / net.corda.core.flows / FlowInitiator

# FlowInitiator

`sealed class FlowInitiator : Principal`

Please note that FlowInitiator has been superceded by net.corda.core.context.InvocationContext, which offers more detail for the same event.

FlowInitiator holds information on who started the flow. We have different ways of doing that: via FlowInitiator.RPC, communication started by peer nodes (FlowInitiator.Peer), scheduled flows (FlowInitiator.Scheduled) or via the Corda Shell (FlowInitiator.Shell).

### Types

#### Peer | Started when we get new session initiation request. `data class Peer : FlowInitiator`
#### RPC | Started using net.corda.core.messaging.CordaRPCOps.startFlowDynamic. `data class RPC : FlowInitiator`
#### Scheduled | Started as scheduled activity. `data class Scheduled : FlowInitiator`
#### Service | Started by a CordaService. `data class Service : FlowInitiator`
#### Shell | `object Shell : FlowInitiator`

### Properties

#### invocationContext | Returns an InvocationContext, which is equivalent to this object but expressed using the successor to this class hierarchy (which is now deprecated). The returned object has less information than it could have, so prefer to use fetch an invocation context directly if you can (e.g. in net.corda.core.messaging.StateMachineInfo) `val invocationContext: InvocationContext`