Am I limited to GUI interaction or is there a way to set up / run / interact with Airbyte programmatically?

You can use the API to do anything you do today from the UI. Though, word of notice, the API is in alpha and may change. You won’t lose any functionality, but you may need to update your code to catch up to any backwards incompatible changes in the API.