public static IServiceCollection AddBlueprintApi(
            this IServiceCollection services,
            Action <BlueprintApiBuilder> configureApi)
        {
            Guard.NotNull(nameof(configureApi), configureApi);

            EnsureNotAlreadySetup(services, typeof(IApiOperationExecutor));

            var apiBuilder = new BlueprintApiBuilder(services);

            configureApi(apiBuilder);

            apiBuilder.Build();

            return(services);
        }