We have some default pipelines defined in the code. The API also allows passing in a custom pipeline. That means the format of the pipeline definition is part of the API. We should add a versioning concept in case this format needs changes in the future that are not backward compatible. The current format would be something like v1. If we need to make breaking changes at some point in the future, we can have a new version so the code can handle both.