Configuration versus using the API

You are building a WCF Service, and you have all the requirements for the service’s foreseeable future clearly defined. You have all your options open with respect to implementation.

Should you lean toward a configuration-based approach, try to define everything imperatively, or use a mixed approach?
What downside would you experience if you defined everything imperatively?
What downside would you experience if you defined everything in configuration?