I can create journeys by posting to the /interactions endpoint, and push a contact into the journey by posting to /events, but the contact hangs on the first wait and the email send never fires. Since we are creating the associated Data Extensions and Emails through the SOAP API and haven't found a way to update Contact Configuration or set up a Population, I suspect missing configuration steps are to blame. Can anybody explain the API interaction creation process step by step? Thanks!
While you can perform any of the Journey Builder functions programmatically using the REST API, you're going to run into issues if you also need to build the Attribute Set (in an Attribute Group). While you can add records to an Attribute Set using the API, you can't create one at this time. Similarly, while you can create a Population using the REST API, you can't create an Attribute Set.
However, if you have already created the Attribute Sets and the cardinal relationship(s) back to the Contact Record, then you can use one of the Contacts methods to add or update Contact data to the defined Attribute Sets, then use the events method to fire the event (or just use this method if you don't need to add Contact data to Attribute Sets).
Alternatively, you can use the SOAP API to create an Automation in Automation Studio, if all you need is a linear 'journey' (i.e. no requirement for branches). Refer to the sample code to create, perform, retrieve, schedule and update an Automation on this page. Refer to the AutomationTask object and AutomationActivity object for supported properties.