code: func CompaniesInterfaceRoutes(r *mux.Router, i CompaniesInterface) {
  	r.Handle("/companies", alice.New(newOauth2oauth_2_0Middleware([]string{}).Handler).Then(http.HandlerFunc(i.GetCompanyList))).Methods("GET")
  	r.Handle("/companies", alice.New(newOauth2oauth_2_0Middleware([]string{}).Handler).Then(http.HandlerFunc(i.Post))).Methods("POST")
  	r.Handle("/companies/{globalId}", alice.New(newOauth2oauth_2_0Middleware([]string{"company:read", "company:admin"}).Handler).Then(http.HandlerFunc(i.globalIdGet))).Methods("GET")
  	r.Handle("/companies/{globalId}", alice.New(newOauth2oauth_2_0Middleware([]string{"company:admin"}).Handler).Then(http.HandlerFunc(i.globalIdPut))).Methods("PUT")
  	r.Handle("/companies/{globalId}/info", alice.New(newOauth2oauth_2_0Middleware([]string{"company:info"}).Handler).Then(http.HandlerFunc(i.globalIdinfoGet))).Methods("GET")
  	r.Handle("/companies/{globalId}/validate", alice.New(newOauth2oauth_2_0Middleware([]string{}).Handler).Then(http.HandlerFunc(i.globalIdvalidateGet))).Methods("GET")
  	r.Handle("/companies/{globalId}/contracts", alice.New(newOauth2oauth_2_0Middleware([]string{"company:admin", "company:contracts:read"}).Handler).Then(http.HandlerFunc(i.globalIdcontractsGet))).Methods("GET")
  	r.Handle("/companies/{globalId}/contracts", alice.New(newOauth2oauth_2_0Middleware([]string{"company:admin", "company:contracts:write"}).Handler).Then(http.HandlerFunc(i.RegisterNewContract))).Methods("POST")
  }
docs: // CompaniesInterfaceRoutes is routing for /companies root endpoint