diff --git a/perxis-proto b/perxis-proto
index d1034eb2bd4ae4158089aeb4ef48768b8a8e72b1..8606df02e0df6807e503bf22471a295020a47fba 160000
--- a/perxis-proto
+++ b/perxis-proto
@@ -1 +1 @@
-Subproject commit d1034eb2bd4ae4158089aeb4ef48768b8a8e72b1
+Subproject commit 8606df02e0df6807e503bf22471a295020a47fba
diff --git a/pkg/spaces/middleware/caching_middleware.go b/pkg/spaces/middleware/caching_middleware.go
index d659cf3a11d3e2787ef29d7c9dc744ac5b8f47b4..28081245e038b3527e3e8b7b68d10ff53c2488d5 100644
--- a/pkg/spaces/middleware/caching_middleware.go
+++ b/pkg/spaces/middleware/caching_middleware.go
@@ -135,8 +135,8 @@ func (m cachingMiddleware) ListTransfers(ctx context.Context, orgID string) (spa
 	return m.next.ListTransfers(ctx, orgID)
 }
 
-func (m cachingMiddleware) AcceptTransfer(ctx context.Context, spaceID string) error {
-	err := m.next.AcceptTransfer(ctx, spaceID)
+func (m cachingMiddleware) Move(ctx context.Context, spaceID, orgID string) error {
+	err := m.next.Move(ctx, spaceID, orgID)
 	if err == nil {
 		value, e := m.cache.Get(spaceID)
 		if e == nil {
@@ -144,6 +144,7 @@ func (m cachingMiddleware) AcceptTransfer(ctx context.Context, spaceID string) e
 			m.cache.Remove(orgKey(space.OrgID))
 		}
 		m.cache.Remove(spaceID)
+		m.cache.Remove(orgID)
 	}
 	return err
 }
diff --git a/pkg/spaces/middleware/error_logging_middleware.go b/pkg/spaces/middleware/error_logging_middleware.go
index 809d3df4dbd43321eadf2a239bd92211ef7d75a7..b82cc16f7b7652dcec33bb262346d727c719d390 100644
--- a/pkg/spaces/middleware/error_logging_middleware.go
+++ b/pkg/spaces/middleware/error_logging_middleware.go
@@ -39,16 +39,6 @@ func (m *errorLoggingMiddleware) AbortTransfer(ctx context.Context, spaceID stri
 	return m.next.AbortTransfer(ctx, spaceID)
 }
 
-func (m *errorLoggingMiddleware) AcceptTransfer(ctx context.Context, spaceID string) (err error) {
-	logger := m.logger
-	defer func() {
-		if err != nil {
-			logger.Warn("response error", zap.Error(err))
-		}
-	}()
-	return m.next.AcceptTransfer(ctx, spaceID)
-}
-
 func (m *errorLoggingMiddleware) Create(ctx context.Context, space *spaces.Space) (created *spaces.Space, err error) {
 	logger := m.logger
 	defer func() {
@@ -99,6 +89,16 @@ func (m *errorLoggingMiddleware) ListTransfers(ctx context.Context, orgID string
 	return m.next.ListTransfers(ctx, orgID)
 }
 
+func (m *errorLoggingMiddleware) Move(ctx context.Context, spaceID string, orgID string) (err error) {
+	logger := m.logger
+	defer func() {
+		if err != nil {
+			logger.Warn("response error", zap.Error(err))
+		}
+	}()
+	return m.next.Move(ctx, spaceID, orgID)
+}
+
 func (m *errorLoggingMiddleware) Transfer(ctx context.Context, spaceID string, transferToOrg string) (err error) {
 	logger := m.logger
 	defer func() {
diff --git a/pkg/spaces/middleware/logging_middleware.go b/pkg/spaces/middleware/logging_middleware.go
index 71ea716e8f47d540b7dcb7a2d5e8119dd099faa2..499ed2d23d12737be2af49ec02835956d4b6eb83 100644
--- a/pkg/spaces/middleware/logging_middleware.go
+++ b/pkg/spaces/middleware/logging_middleware.go
@@ -69,42 +69,6 @@ func (m *loggingMiddleware) AbortTransfer(ctx context.Context, spaceID string) (
 	return err
 }
 
-func (m *loggingMiddleware) AcceptTransfer(ctx context.Context, spaceID string) (err error) {
-	begin := time.Now()
-	var fields []zapcore.Field
-	for k, v := range map[string]interface{}{
-		"ctx":     ctx,
-		"spaceID": spaceID} {
-		if k == "ctx" {
-			fields = append(fields, zap.String("principal", fmt.Sprint(auth.GetPrincipal(ctx))))
-			continue
-		}
-		fields = append(fields, zap.Reflect(k, v))
-	}
-
-	m.logger.Debug("AcceptTransfer.Request", fields...)
-
-	err = m.next.AcceptTransfer(ctx, spaceID)
-
-	fields = []zapcore.Field{
-		zap.Duration("time", time.Since(begin)),
-	}
-
-	for k, v := range map[string]interface{}{
-		"err": err} {
-		if k == "err" {
-			err, _ := v.(error)
-			fields = append(fields, zap.Error(err))
-			continue
-		}
-		fields = append(fields, zap.Reflect(k, v))
-	}
-
-	m.logger.Debug("AcceptTransfer.Response", fields...)
-
-	return err
-}
-
 func (m *loggingMiddleware) Create(ctx context.Context, space *spaces.Space) (created *spaces.Space, err error) {
 	begin := time.Now()
 	var fields []zapcore.Field
@@ -289,6 +253,43 @@ func (m *loggingMiddleware) ListTransfers(ctx context.Context, orgID string) (sp
 	return spaces, err
 }
 
+func (m *loggingMiddleware) Move(ctx context.Context, spaceID string, orgID string) (err error) {
+	begin := time.Now()
+	var fields []zapcore.Field
+	for k, v := range map[string]interface{}{
+		"ctx":     ctx,
+		"spaceID": spaceID,
+		"orgID":   orgID} {
+		if k == "ctx" {
+			fields = append(fields, zap.String("principal", fmt.Sprint(auth.GetPrincipal(ctx))))
+			continue
+		}
+		fields = append(fields, zap.Reflect(k, v))
+	}
+
+	m.logger.Debug("Move.Request", fields...)
+
+	err = m.next.Move(ctx, spaceID, orgID)
+
+	fields = []zapcore.Field{
+		zap.Duration("time", time.Since(begin)),
+	}
+
+	for k, v := range map[string]interface{}{
+		"err": err} {
+		if k == "err" {
+			err, _ := v.(error)
+			fields = append(fields, zap.Error(err))
+			continue
+		}
+		fields = append(fields, zap.Reflect(k, v))
+	}
+
+	m.logger.Debug("Move.Response", fields...)
+
+	return err
+}
+
 func (m *loggingMiddleware) Transfer(ctx context.Context, spaceID string, transferToOrg string) (err error) {
 	begin := time.Now()
 	var fields []zapcore.Field
diff --git a/pkg/spaces/middleware/recovering_middleware.go b/pkg/spaces/middleware/recovering_middleware.go
index c5784c1a1675f0b6d5e26bac5d6c657cbfe3cbb5..ad13a929c8c1ebd9a6132043a00617352af7e6d8 100644
--- a/pkg/spaces/middleware/recovering_middleware.go
+++ b/pkg/spaces/middleware/recovering_middleware.go
@@ -42,18 +42,6 @@ func (m *recoveringMiddleware) AbortTransfer(ctx context.Context, spaceID string
 	return m.next.AbortTransfer(ctx, spaceID)
 }
 
-func (m *recoveringMiddleware) AcceptTransfer(ctx context.Context, spaceID string) (err error) {
-	logger := m.logger
-	defer func() {
-		if r := recover(); r != nil {
-			logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
-			err = fmt.Errorf("%v", r)
-		}
-	}()
-
-	return m.next.AcceptTransfer(ctx, spaceID)
-}
-
 func (m *recoveringMiddleware) Create(ctx context.Context, space *spaces.Space) (created *spaces.Space, err error) {
 	logger := m.logger
 	defer func() {
@@ -114,6 +102,18 @@ func (m *recoveringMiddleware) ListTransfers(ctx context.Context, orgID string)
 	return m.next.ListTransfers(ctx, orgID)
 }
 
+func (m *recoveringMiddleware) Move(ctx context.Context, spaceID string, orgID string) (err error) {
+	logger := m.logger
+	defer func() {
+		if r := recover(); r != nil {
+			logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
+			err = fmt.Errorf("%v", r)
+		}
+	}()
+
+	return m.next.Move(ctx, spaceID, orgID)
+}
+
 func (m *recoveringMiddleware) Transfer(ctx context.Context, spaceID string, transferToOrg string) (err error) {
 	logger := m.logger
 	defer func() {
diff --git a/pkg/spaces/middleware/telemetry_middleware.go b/pkg/spaces/middleware/telemetry_middleware.go
index 4bbef08016797103c1ee7814670ecf6e2e287e6f..ba64829909edddc0ed5fbf100265552f611ae584 100644
--- a/pkg/spaces/middleware/telemetry_middleware.go
+++ b/pkg/spaces/middleware/telemetry_middleware.go
@@ -56,26 +56,6 @@ func (_d telemetryMiddleware) AbortTransfer(ctx context.Context, spaceID string)
 	return _d.Spaces.AbortTransfer(ctx, spaceID)
 }
 
-// AcceptTransfer implements spaces.Spaces
-func (_d telemetryMiddleware) AcceptTransfer(ctx context.Context, spaceID string) (err error) {
-	ctx, _span := otel.Tracer(_d._instance).Start(ctx, "Spaces.AcceptTransfer")
-	defer func() {
-		if _d._spanDecorator != nil {
-			_d._spanDecorator(_span, map[string]interface{}{
-				"ctx":     ctx,
-				"spaceID": spaceID}, map[string]interface{}{
-				"err": err})
-		} else if err != nil {
-			_span.RecordError(err)
-			_span.SetAttributes(attribute.String("event", "error"))
-			_span.SetAttributes(attribute.String("message", err.Error()))
-		}
-
-		_span.End()
-	}()
-	return _d.Spaces.AcceptTransfer(ctx, spaceID)
-}
-
 // Create implements spaces.Spaces
 func (_d telemetryMiddleware) Create(ctx context.Context, space *spaces.Space) (created *spaces.Space, err error) {
 	ctx, _span := otel.Tracer(_d._instance).Start(ctx, "Spaces.Create")
@@ -180,6 +160,27 @@ func (_d telemetryMiddleware) ListTransfers(ctx context.Context, orgID string) (
 	return _d.Spaces.ListTransfers(ctx, orgID)
 }
 
+// Move implements spaces.Spaces
+func (_d telemetryMiddleware) Move(ctx context.Context, spaceID string, orgID string) (err error) {
+	ctx, _span := otel.Tracer(_d._instance).Start(ctx, "Spaces.Move")
+	defer func() {
+		if _d._spanDecorator != nil {
+			_d._spanDecorator(_span, map[string]interface{}{
+				"ctx":     ctx,
+				"spaceID": spaceID,
+				"orgID":   orgID}, map[string]interface{}{
+				"err": err})
+		} else if err != nil {
+			_span.RecordError(err)
+			_span.SetAttributes(attribute.String("event", "error"))
+			_span.SetAttributes(attribute.String("message", err.Error()))
+		}
+
+		_span.End()
+	}()
+	return _d.Spaces.Move(ctx, spaceID, orgID)
+}
+
 // Transfer implements spaces.Spaces
 func (_d telemetryMiddleware) Transfer(ctx context.Context, spaceID string, transferToOrg string) (err error) {
 	ctx, _span := otel.Tracer(_d._instance).Start(ctx, "Spaces.Transfer")
diff --git a/pkg/spaces/mocks/Spaces.go b/pkg/spaces/mocks/Spaces.go
index a7a7f39badfbbf907f15f74af3176560372050c7..0f7a187f31a572c96205427dae3438aac768c5e5 100644
--- a/pkg/spaces/mocks/Spaces.go
+++ b/pkg/spaces/mocks/Spaces.go
@@ -28,20 +28,6 @@ func (_m *Spaces) AbortTransfer(ctx context.Context, spaceID string) error {
 	return r0
 }
 
-// AcceptTransfer provides a mock function with given fields: ctx, spaceID
-func (_m *Spaces) AcceptTransfer(ctx context.Context, spaceID string) error {
-	ret := _m.Called(ctx, spaceID)
-
-	var r0 error
-	if rf, ok := ret.Get(0).(func(context.Context, string) error); ok {
-		r0 = rf(ctx, spaceID)
-	} else {
-		r0 = ret.Error(0)
-	}
-
-	return r0
-}
-
 // Create provides a mock function with given fields: ctx, space
 func (_m *Spaces) Create(ctx context.Context, space *spaces.Space) (*spaces.Space, error) {
 	ret := _m.Called(ctx, space)
@@ -160,6 +146,20 @@ func (_m *Spaces) ListTransfers(ctx context.Context, orgID string) ([]*spaces.Sp
 	return r0, r1
 }
 
+// Move provides a mock function with given fields: ctx, spaceID, orgID
+func (_m *Spaces) Move(ctx context.Context, spaceID string, orgID string) error {
+	ret := _m.Called(ctx, spaceID, orgID)
+
+	var r0 error
+	if rf, ok := ret.Get(0).(func(context.Context, string, string) error); ok {
+		r0 = rf(ctx, spaceID, orgID)
+	} else {
+		r0 = ret.Error(0)
+	}
+
+	return r0
+}
+
 // Transfer provides a mock function with given fields: ctx, spaceID, transferToOrg
 func (_m *Spaces) Transfer(ctx context.Context, spaceID string, transferToOrg string) error {
 	ret := _m.Called(ctx, spaceID, transferToOrg)
diff --git a/pkg/spaces/service.go b/pkg/spaces/service.go
index 333d9d4ae0fb46769231bb8c49a3d45687a76d4f..e77cd813387acb1cf8c4dfc95bf795422ac8732c 100644
--- a/pkg/spaces/service.go
+++ b/pkg/spaces/service.go
@@ -32,18 +32,22 @@ type Spaces interface {
 	// будет отображаться в списке входящих запросов на перемещение в организации `orgID` (запрос ListIncoming)
 	// С пространством можно продолжать работу в текущей организации, пока запрос на перемещение не будет
 	// принят в целевой организации
+	// Перенос может быть инициирован только владельцем организации, которой принадлежит пространство
 	Transfer(ctx context.Context, spaceID, transferToOrg string) (err error)
 
-	// AbortTransfer - отменить перемещение пространства в другую организацию
+	// AbortTransfer - отменить перемещение пространства в другую организацию. Может быть вызван как
+	// владельцем пространства-инициатора, там и владельцем принимающего пространства
 	AbortTransfer(ctx context.Context, spaceID string) (err error)
 
 	// ListTransfers возвращает список пространств, перемещение которых было запрошено в текущую организацию
 	ListTransfers(ctx context.Context, orgID string) (spaces []*Space, err error)
 
-	// AcceptTransfer - принять запрос на перемещение пространства. Оно будет перемещено в текущую организацию со
+	// Move - перенести пространство в организацию, установленную в Space.TransferToOrg. Пространство переносится со
 	// всеми входящими в него данными: ролями, участниками, контентом, пр. и более не будет доступно в
-	// старой организации
-	AcceptTransfer(ctx context.Context, spaceID string) (err error)
+	// исходной организации.
+	// В случае, если запрос осуществляется с системным уровнем доступа и передан параметр `orgID`, то перенос будет
+	// осуществлен вне зависимости от того, был он инициирован через метод `Transfer` или нет
+	Move(ctx context.Context, spaceID, orgID string) (err error)
 }
 
 func IsSpaceAvailable(ctx context.Context, spcs Spaces, spaceId string) error {
diff --git a/pkg/spaces/transport/client.go b/pkg/spaces/transport/client.go
index 6e94e0f2002e8d5a7536314518e09b2ca0b0be6e..26900dad00a30d5c685ce507626dd7d93d847c87 100644
--- a/pkg/spaces/transport/client.go
+++ b/pkg/spaces/transport/client.go
@@ -95,9 +95,9 @@ func (set EndpointsSet) ListTransfers(arg0 context.Context, arg1 string) (res0 [
 	return response.(*ListTransfersResponse).Spaces, res1
 }
 
-func (set EndpointsSet) AcceptTransfer(arg0 context.Context, arg1 string) (res0 error) {
-	request := AcceptTransferRequest{SpaceID: arg1}
-	_, res0 = set.AcceptTransferEndpoint(arg0, &request)
+func (set EndpointsSet) Move(arg0 context.Context, arg1, arg2 string) (res0 error) {
+	request := MoveRequest{SpaceID: arg1, OrgID: arg2}
+	_, res0 = set.MoveEndpoint(arg0, &request)
 	if res0 != nil {
 		return
 	}
diff --git a/pkg/spaces/transport/endpoints.microgen.go b/pkg/spaces/transport/endpoints.microgen.go
index 6b4f07c14b3c0e0561e0fc0f32397c954296101d..335f9ca4f52a6378f41563733e4b6f4f84b77d4c 100644
--- a/pkg/spaces/transport/endpoints.microgen.go
+++ b/pkg/spaces/transport/endpoints.microgen.go
@@ -6,14 +6,14 @@ import endpoint "github.com/go-kit/kit/endpoint"
 
 // EndpointsSet implements Spaces API and used for transport purposes.
 type EndpointsSet struct {
-	CreateEndpoint         endpoint.Endpoint
-	GetEndpoint            endpoint.Endpoint
-	ListEndpoint           endpoint.Endpoint
-	UpdateEndpoint         endpoint.Endpoint
-	UpdateConfigEndpoint   endpoint.Endpoint
-	DeleteEndpoint         endpoint.Endpoint
-	TransferEndpoint       endpoint.Endpoint
-	AbortTransferEndpoint  endpoint.Endpoint
-	ListTransfersEndpoint  endpoint.Endpoint
-	AcceptTransferEndpoint endpoint.Endpoint
+	CreateEndpoint        endpoint.Endpoint
+	GetEndpoint           endpoint.Endpoint
+	ListEndpoint          endpoint.Endpoint
+	UpdateEndpoint        endpoint.Endpoint
+	UpdateConfigEndpoint  endpoint.Endpoint
+	DeleteEndpoint        endpoint.Endpoint
+	TransferEndpoint      endpoint.Endpoint
+	AbortTransferEndpoint endpoint.Endpoint
+	ListTransfersEndpoint endpoint.Endpoint
+	MoveEndpoint          endpoint.Endpoint
 }
diff --git a/pkg/spaces/transport/exchanges.microgen.go b/pkg/spaces/transport/exchanges.microgen.go
index 7add10e41ad08e7f12527bda5bbc1d6c30267a6e..414ec9702c29fc0bef9fe84f728d1deaa816667a 100644
--- a/pkg/spaces/transport/exchanges.microgen.go
+++ b/pkg/spaces/transport/exchanges.microgen.go
@@ -65,9 +65,10 @@ type (
 		Spaces []*spaces.Space `json:"spaces"`
 	}
 
-	AcceptTransferRequest struct {
+	MoveRequest struct {
 		SpaceID string `json:"space_id"`
+		OrgID   string `json:"org_id"`
 	}
 	// Formal exchange type, please do not delete.
-	AcceptTransferResponse struct{}
+	MoveResponse struct{}
 )
diff --git a/pkg/spaces/transport/grpc/client.go b/pkg/spaces/transport/grpc/client.go
index 38865807be6fd09f0c93a23509965ae13f61b5ad..67e3f4019f1b1351d9985403ed39f17912913625 100644
--- a/pkg/spaces/transport/grpc/client.go
+++ b/pkg/spaces/transport/grpc/client.go
@@ -12,15 +12,15 @@ import (
 func NewClient(conn *grpc.ClientConn, opts ...grpckit.ClientOption) transport.EndpointsSet {
 	c := NewGRPCClient(conn, "", opts...)
 	return transport.EndpointsSet{
-		CreateEndpoint:         grpcerr.ClientMiddleware(c.CreateEndpoint),
-		GetEndpoint:            grpcerr.ClientMiddleware(c.GetEndpoint),
-		ListEndpoint:           grpcerr.ClientMiddleware(c.ListEndpoint),
-		UpdateEndpoint:         grpcerr.ClientMiddleware(c.UpdateEndpoint),
-		UpdateConfigEndpoint:   grpcerr.ClientMiddleware(c.UpdateConfigEndpoint),
-		DeleteEndpoint:         grpcerr.ClientMiddleware(c.DeleteEndpoint),
-		TransferEndpoint:       grpcerr.ClientMiddleware(c.TransferEndpoint),
-		AcceptTransferEndpoint: grpcerr.ClientMiddleware(c.AcceptTransferEndpoint),
-		ListTransfersEndpoint:  grpcerr.ClientMiddleware(c.ListTransfersEndpoint),
-		AbortTransferEndpoint:  grpcerr.ClientMiddleware(c.AbortTransferEndpoint),
+		CreateEndpoint:        grpcerr.ClientMiddleware(c.CreateEndpoint),
+		GetEndpoint:           grpcerr.ClientMiddleware(c.GetEndpoint),
+		ListEndpoint:          grpcerr.ClientMiddleware(c.ListEndpoint),
+		UpdateEndpoint:        grpcerr.ClientMiddleware(c.UpdateEndpoint),
+		UpdateConfigEndpoint:  grpcerr.ClientMiddleware(c.UpdateConfigEndpoint),
+		DeleteEndpoint:        grpcerr.ClientMiddleware(c.DeleteEndpoint),
+		TransferEndpoint:      grpcerr.ClientMiddleware(c.TransferEndpoint),
+		MoveEndpoint:          grpcerr.ClientMiddleware(c.MoveEndpoint),
+		ListTransfersEndpoint: grpcerr.ClientMiddleware(c.ListTransfersEndpoint),
+		AbortTransferEndpoint: grpcerr.ClientMiddleware(c.AbortTransferEndpoint),
 	}
 }
diff --git a/pkg/spaces/transport/grpc/client.microgen.go b/pkg/spaces/transport/grpc/client.microgen.go
index 70ae5e2408b309231efd33e3d6c04fa3884a4302..be91797a2f1a7522c668d6bed19a84a5aab59df2 100644
--- a/pkg/spaces/transport/grpc/client.microgen.go
+++ b/pkg/spaces/transport/grpc/client.microgen.go
@@ -22,13 +22,6 @@ func NewGRPCClient(conn *grpc.ClientConn, addr string, opts ...grpckit.ClientOpt
 			empty.Empty{},
 			opts...,
 		).Endpoint(),
-		AcceptTransferEndpoint: grpckit.NewClient(
-			conn, addr, "AcceptTransfer",
-			_Encode_AcceptTransfer_Request,
-			_Decode_AcceptTransfer_Response,
-			empty.Empty{},
-			opts...,
-		).Endpoint(),
 		CreateEndpoint: grpckit.NewClient(
 			conn, addr, "Create",
 			_Encode_Create_Request,
@@ -64,6 +57,13 @@ func NewGRPCClient(conn *grpc.ClientConn, addr string, opts ...grpckit.ClientOpt
 			pb.ListTransfersResponse{},
 			opts...,
 		).Endpoint(),
+		MoveEndpoint: grpckit.NewClient(
+			conn, addr, "Move",
+			_Encode_Move_Request,
+			_Decode_Move_Response,
+			empty.Empty{},
+			opts...,
+		).Endpoint(),
 		TransferEndpoint: grpckit.NewClient(
 			conn, addr, "Transfer",
 			_Encode_Transfer_Request,
diff --git a/pkg/spaces/transport/grpc/protobuf_endpoint_converters.microgen.go b/pkg/spaces/transport/grpc/protobuf_endpoint_converters.microgen.go
index 99d269a4f378d52d23ef63e79c28426c0b288878..5eea04ebcb85df088a9ad1d8c2608789a5a456e3 100644
--- a/pkg/spaces/transport/grpc/protobuf_endpoint_converters.microgen.go
+++ b/pkg/spaces/transport/grpc/protobuf_endpoint_converters.microgen.go
@@ -261,14 +261,6 @@ func _Encode_ListTransfers_Request(ctx context.Context, request interface{}) (in
 	return &pb.ListTransfersRequest{OrgId: req.OrgID}, nil
 }
 
-func _Encode_AcceptTransfer_Request(ctx context.Context, request interface{}) (interface{}, error) {
-	if request == nil {
-		return nil, errors.New("nil AcceptTransferRequest")
-	}
-	req := request.(*transport.AcceptTransferRequest)
-	return &pb.AcceptTransferRequest{SpaceId: req.SpaceID}, nil
-}
-
 func _Encode_Transfer_Response(ctx context.Context, response interface{}) (interface{}, error) {
 	return &empty.Empty{}, nil
 }
@@ -320,14 +312,6 @@ func _Decode_ListTransfers_Request(ctx context.Context, request interface{}) (in
 	return &transport.ListTransfersRequest{OrgID: string(req.OrgId)}, nil
 }
 
-func _Decode_AcceptTransfer_Request(ctx context.Context, request interface{}) (interface{}, error) {
-	if request == nil {
-		return nil, errors.New("nil AcceptTransferRequest")
-	}
-	req := request.(*pb.AcceptTransferRequest)
-	return &transport.AcceptTransferRequest{SpaceID: string(req.SpaceId)}, nil
-}
-
 func _Decode_Transfer_Response(ctx context.Context, response interface{}) (interface{}, error) {
 	return &empty.Empty{}, nil
 }
@@ -351,3 +335,33 @@ func _Decode_ListTransfers_Response(ctx context.Context, response interface{}) (
 func _Decode_AcceptTransfer_Response(ctx context.Context, response interface{}) (interface{}, error) {
 	return &empty.Empty{}, nil
 }
+
+func _Encode_Move_Request(ctx context.Context, request interface{}) (interface{}, error) {
+	if request == nil {
+		return nil, errors.New("nil MoveRequest")
+	}
+	req := request.(*transport.MoveRequest)
+	return &pb.MoveRequest{
+		OrgId:   req.OrgID,
+		SpaceId: req.SpaceID,
+	}, nil
+}
+
+func _Encode_Move_Response(ctx context.Context, response interface{}) (interface{}, error) {
+	return &empty.Empty{}, nil
+}
+
+func _Decode_Move_Request(ctx context.Context, request interface{}) (interface{}, error) {
+	if request == nil {
+		return nil, errors.New("nil MoveRequest")
+	}
+	req := request.(*pb.MoveRequest)
+	return &transport.MoveRequest{
+		OrgID:   string(req.OrgId),
+		SpaceID: string(req.SpaceId),
+	}, nil
+}
+
+func _Decode_Move_Response(ctx context.Context, response interface{}) (interface{}, error) {
+	return &empty.Empty{}, nil
+}
diff --git a/pkg/spaces/transport/grpc/server.go b/pkg/spaces/transport/grpc/server.go
index 8b4581a172a3a05e3569942639a891e1d1a9b5ab..8819d2a3637ae8bc1b3820b1e8cb110580a9b37f 100644
--- a/pkg/spaces/transport/grpc/server.go
+++ b/pkg/spaces/transport/grpc/server.go
@@ -11,16 +11,16 @@ import (
 func NewServer(svc spaces.Spaces, opts ...grpckit.ServerOption) pb.SpacesServer {
 	eps := transport.Endpoints(svc)
 	eps = transport.EndpointsSet{
-		CreateEndpoint:         grpcerr.ServerMiddleware(eps.CreateEndpoint),
-		GetEndpoint:            grpcerr.ServerMiddleware(eps.GetEndpoint),
-		ListEndpoint:           grpcerr.ServerMiddleware(eps.ListEndpoint),
-		UpdateEndpoint:         grpcerr.ServerMiddleware(eps.UpdateEndpoint),
-		UpdateConfigEndpoint:   grpcerr.ServerMiddleware(eps.UpdateConfigEndpoint),
-		DeleteEndpoint:         grpcerr.ServerMiddleware(eps.DeleteEndpoint),
-		TransferEndpoint:       grpcerr.ServerMiddleware(eps.TransferEndpoint),
-		AbortTransferEndpoint:  grpcerr.ServerMiddleware(eps.AbortTransferEndpoint),
-		AcceptTransferEndpoint: grpcerr.ServerMiddleware(eps.AcceptTransferEndpoint),
-		ListTransfersEndpoint:  grpcerr.ServerMiddleware(eps.ListTransfersEndpoint),
+		CreateEndpoint:        grpcerr.ServerMiddleware(eps.CreateEndpoint),
+		GetEndpoint:           grpcerr.ServerMiddleware(eps.GetEndpoint),
+		ListEndpoint:          grpcerr.ServerMiddleware(eps.ListEndpoint),
+		UpdateEndpoint:        grpcerr.ServerMiddleware(eps.UpdateEndpoint),
+		UpdateConfigEndpoint:  grpcerr.ServerMiddleware(eps.UpdateConfigEndpoint),
+		DeleteEndpoint:        grpcerr.ServerMiddleware(eps.DeleteEndpoint),
+		TransferEndpoint:      grpcerr.ServerMiddleware(eps.TransferEndpoint),
+		AbortTransferEndpoint: grpcerr.ServerMiddleware(eps.AbortTransferEndpoint),
+		MoveEndpoint:          grpcerr.ServerMiddleware(eps.MoveEndpoint),
+		ListTransfersEndpoint: grpcerr.ServerMiddleware(eps.ListTransfersEndpoint),
 	}
 	return NewGRPCServer(&eps, opts...)
 }
diff --git a/pkg/spaces/transport/grpc/server.microgen.go b/pkg/spaces/transport/grpc/server.microgen.go
index dcb08b51f3e415cec5628babd0fd1df697018fb6..d8cc6a0a974d353cbdf5391c815b19056937507d 100644
--- a/pkg/spaces/transport/grpc/server.microgen.go
+++ b/pkg/spaces/transport/grpc/server.microgen.go
@@ -12,16 +12,16 @@ import (
 )
 
 type spacesServer struct {
-	create         grpc.Handler
-	get            grpc.Handler
-	list           grpc.Handler
-	update         grpc.Handler
-	updateConfig   grpc.Handler
-	delete         grpc.Handler
-	transfer       grpc.Handler
-	abortTransfer  grpc.Handler
-	listTransfers  grpc.Handler
-	acceptTransfer grpc.Handler
+	create        grpc.Handler
+	get           grpc.Handler
+	list          grpc.Handler
+	update        grpc.Handler
+	updateConfig  grpc.Handler
+	delete        grpc.Handler
+	transfer      grpc.Handler
+	abortTransfer grpc.Handler
+	listTransfers grpc.Handler
+	move          grpc.Handler
 
 	pb.UnimplementedSpacesServer
 }
@@ -34,12 +34,6 @@ func NewGRPCServer(endpoints *transport.EndpointsSet, opts ...grpc.ServerOption)
 			_Encode_AbortTransfer_Response,
 			opts...,
 		),
-		acceptTransfer: grpc.NewServer(
-			endpoints.AcceptTransferEndpoint,
-			_Decode_AcceptTransfer_Request,
-			_Encode_AcceptTransfer_Response,
-			opts...,
-		),
 		create: grpc.NewServer(
 			endpoints.CreateEndpoint,
 			_Decode_Create_Request,
@@ -70,6 +64,12 @@ func NewGRPCServer(endpoints *transport.EndpointsSet, opts ...grpc.ServerOption)
 			_Encode_ListTransfers_Response,
 			opts...,
 		),
+		move: grpc.NewServer(
+			endpoints.MoveEndpoint,
+			_Decode_Move_Request,
+			_Encode_Move_Response,
+			opts...,
+		),
 		transfer: grpc.NewServer(
 			endpoints.TransferEndpoint,
 			_Decode_Transfer_Request,
@@ -163,8 +163,8 @@ func (S *spacesServer) ListTransfers(ctx context.Context, req *pb.ListTransfersR
 	return resp.(*pb.ListTransfersResponse), nil
 }
 
-func (S *spacesServer) AcceptTransfer(ctx context.Context, req *pb.AcceptTransferRequest) (*empty.Empty, error) {
-	_, resp, err := S.acceptTransfer.ServeGRPC(ctx, req)
+func (S *spacesServer) Move(ctx context.Context, req *pb.MoveRequest) (*empty.Empty, error) {
+	_, resp, err := S.move.ServeGRPC(ctx, req)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/spaces/transport/server.microgen.go b/pkg/spaces/transport/server.microgen.go
index ef3cdc50d7c7ba2e2781dbffb0588d1013fcfd18..60a07de0bf59846a2695f3c7625b3565044e823b 100644
--- a/pkg/spaces/transport/server.microgen.go
+++ b/pkg/spaces/transport/server.microgen.go
@@ -11,16 +11,16 @@ import (
 
 func Endpoints(svc spaces.Spaces) EndpointsSet {
 	return EndpointsSet{
-		AbortTransferEndpoint:  AbortTransferEndpoint(svc),
-		AcceptTransferEndpoint: AcceptTransferEndpoint(svc),
-		CreateEndpoint:         CreateEndpoint(svc),
-		DeleteEndpoint:         DeleteEndpoint(svc),
-		GetEndpoint:            GetEndpoint(svc),
-		ListEndpoint:           ListEndpoint(svc),
-		ListTransfersEndpoint:  ListTransfersEndpoint(svc),
-		TransferEndpoint:       TransferEndpoint(svc),
-		UpdateConfigEndpoint:   UpdateConfigEndpoint(svc),
-		UpdateEndpoint:         UpdateEndpoint(svc),
+		AbortTransferEndpoint: AbortTransferEndpoint(svc),
+		CreateEndpoint:        CreateEndpoint(svc),
+		DeleteEndpoint:        DeleteEndpoint(svc),
+		GetEndpoint:           GetEndpoint(svc),
+		ListEndpoint:          ListEndpoint(svc),
+		ListTransfersEndpoint: ListTransfersEndpoint(svc),
+		MoveEndpoint:          MoveEndpoint(svc),
+		TransferEndpoint:      TransferEndpoint(svc),
+		UpdateConfigEndpoint:  UpdateConfigEndpoint(svc),
+		UpdateEndpoint:        UpdateEndpoint(svc),
 	}
 }
 
@@ -96,10 +96,10 @@ func ListTransfersEndpoint(svc spaces.Spaces) endpoint.Endpoint {
 	}
 }
 
-func AcceptTransferEndpoint(svc spaces.Spaces) endpoint.Endpoint {
+func MoveEndpoint(svc spaces.Spaces) endpoint.Endpoint {
 	return func(arg0 context.Context, request interface{}) (interface{}, error) {
-		req := request.(*AcceptTransferRequest)
-		res0 := svc.AcceptTransfer(arg0, req.SpaceID)
-		return &AcceptTransferResponse{}, res0
+		req := request.(*MoveRequest)
+		res0 := svc.Move(arg0, req.SpaceID, req.OrgID)
+		return &MoveResponse{}, res0
 	}
 }