You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: api.go
    path of file: ./repos/evcc/vehicle/seat
    
    the code of the file until where you have to start completion: package seat

import (
	"fmt"

	"github.com/evcc-io/evcc/util"
	"github.com/evcc-io/evcc/util/request"
	"golang.org/x/oauth2"
)

// BaseURL is the API base url
const BaseURL = "https://mal-3a.prd.eu.dp.vwg-connect.com/api"

// API provides list of vehicles for Seat cars
type API struct {
	*request.Helper
}

// NewAPI creates a new vehicle
func NewAPI(log *util.Logger, ts oauth2.TokenSource) *AP
    
func (v *API) Vehicles(userID string) ([]string, error) {
	var res struct {
		UserVehicles struct {
			UserId  string
			Vehicle []struct {
				Content string
			}
		}
	}

	uri := fmt.Sprintf("%s/usermanagement/users/v2/users/%s/vehicles", BaseURL, userID)
	err := v.GetJSON(uri, &res)

	var vehicles []string
	for _, v := range res.UserVehicles.Vehicle {
		vehicles = append(vehicles, v.Content)
	}

	return vehicles, err
}