Yes, this can be done with the api. However, be aware that not all functions in campaign builder may be available on the company record level. You would still be able to manage the opportunities manually and campaign builder may still support this at this time, but there has been talk of that not being the case forever…so I’ve heard anyway. So in practical terms, and for example, sending an email in response to a stage move within campaign builder may become problematic since you don’t have company merge codes available on that level.