//Setup the broker handler here
        //Use the base router without any path prefixes
        brokerHandler := brokerInstanceHandler{client: instClient}
-       router.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload", brokerHandler.createHandler).Methods("POST")
-       router.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload/{instID}", brokerHandler.getHandler).Methods("GET")
-       router.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload", brokerHandler.findHandler).Queries("name", "{name}").Methods("GET")
-       router.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload/{instID}", brokerHandler.deleteHandler).Methods("DELETE")
+       brokerRouter := router.PathPrefix("/v1").Subrouter()
+       brokerRouter.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload", brokerHandler.createHandler).Methods("POST")
+       brokerRouter.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload/{instID}", brokerHandler.getHandler).Methods("GET")
+       brokerRouter.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload", brokerHandler.findHandler).Queries("name", "{name}").Methods("GET")
+       brokerRouter.HandleFunc("/{cloud-owner}/{cloud-region}/infra_workload/{instID}", brokerHandler.deleteHandler).Methods("DELETE")
 
        //Setup the connectivity api handler here
        if connectionClient == nil {
 
        for _, testCase := range testCases {
                t.Run(testCase.label, func(t *testing.T) {
 
-                       request := httptest.NewRequest("POST", "/cloudowner/cloudregion/infra_workload", testCase.input)
+                       request := httptest.NewRequest("POST", "/v1/cloudowner/cloudregion/infra_workload", testCase.input)
                        resp := executeRequest(request, NewRouter(nil, nil, testCase.instClient, nil, nil, nil))
                        defer resp.Body.Close()
 
 
        for _, testCase := range testCases {
                t.Run(testCase.label, func(t *testing.T) {
-                       request := httptest.NewRequest("GET", "/cloudowner/cloudregion/infra_workload/"+testCase.input, nil)
+                       request := httptest.NewRequest("GET", "/v1/cloudowner/cloudregion/infra_workload/"+testCase.input, nil)
                        resp := executeRequest(request, NewRouter(nil, nil, testCase.instClient, nil, nil, nil))
 
                        if testCase.expectedCode != resp.StatusCode {
 
        for _, testCase := range testCases {
                t.Run(testCase.label, func(t *testing.T) {
-                       request := httptest.NewRequest("GET", "/cloudowner/cloudregion/infra_workload?name="+testCase.input, nil)
+                       request := httptest.NewRequest("GET", "/v1/cloudowner/cloudregion/infra_workload?name="+testCase.input, nil)
                        resp := executeRequest(request, NewRouter(nil, nil, testCase.instClient, nil, nil, nil))
 
                        if testCase.expectedCode != resp.StatusCode {
 
        for _, testCase := range testCases {
                t.Run(testCase.label, func(t *testing.T) {
-                       request := httptest.NewRequest("DELETE", "/cloudowner/cloudregion/infra_workload/"+testCase.input, nil)
+                       request := httptest.NewRequest("DELETE", "/v1/cloudowner/cloudregion/infra_workload/"+testCase.input, nil)
                        resp := executeRequest(request, NewRouter(nil, nil, testCase.instClient, nil, nil, nil))
 
                        if testCase.expectedCode != resp.StatusCode {