Forking and Merging sub workflows in existing process at run time

I need to add multiple sub workflows of different types at run time based on incoming request. How can I fork out multiple sub workflows and merge them back in parent workflow. Which APis should I use ? What is recommended method and best way to achieve it?