diff --git a/go/gosdn/core/core.pb.go b/go/gosdn/core/core.pb.go
index a4745bc01bb5dac16ef59122e42e8f888971d279..1ffa1a77ba09c1ed8a552eba6da5e874a125a745 100644
--- a/go/gosdn/core/core.pb.go
+++ b/go/gosdn/core/core.pb.go
@@ -283,17 +283,17 @@ func (x *GetPndResponse) GetPnd() *pnd.PrincipalNetworkDomain {
 	return nil
 }
 
-type CreatePndRequest struct {
+type CreatePndListRequest struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Timestamp int64                `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch.
-	Pnd       *PndCreateProperties `protobuf:"bytes,2,opt,name=pnd,proto3" json:"pnd,omitempty"`
+	Timestamp int64                  `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch.
+	Pnd       []*PndCreateProperties `protobuf:"bytes,2,rep,name=pnd,proto3" json:"pnd,omitempty"`
 }
 
-func (x *CreatePndRequest) Reset() {
-	*x = CreatePndRequest{}
+func (x *CreatePndListRequest) Reset() {
+	*x = CreatePndListRequest{}
 	if protoimpl.UnsafeEnabled {
 		mi := &file_gosdn_core_core_proto_msgTypes[4]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -301,13 +301,13 @@ func (x *CreatePndRequest) Reset() {
 	}
 }
 
-func (x *CreatePndRequest) String() string {
+func (x *CreatePndListRequest) String() string {
 	return protoimpl.X.MessageStringOf(x)
 }
 
-func (*CreatePndRequest) ProtoMessage() {}
+func (*CreatePndListRequest) ProtoMessage() {}
 
-func (x *CreatePndRequest) ProtoReflect() protoreflect.Message {
+func (x *CreatePndListRequest) ProtoReflect() protoreflect.Message {
 	mi := &file_gosdn_core_core_proto_msgTypes[4]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -319,19 +319,19 @@ func (x *CreatePndRequest) ProtoReflect() protoreflect.Message {
 	return mi.MessageOf(x)
 }
 
-// Deprecated: Use CreatePndRequest.ProtoReflect.Descriptor instead.
-func (*CreatePndRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use CreatePndListRequest.ProtoReflect.Descriptor instead.
+func (*CreatePndListRequest) Descriptor() ([]byte, []int) {
 	return file_gosdn_core_core_proto_rawDescGZIP(), []int{4}
 }
 
-func (x *CreatePndRequest) GetTimestamp() int64 {
+func (x *CreatePndListRequest) GetTimestamp() int64 {
 	if x != nil {
 		return x.Timestamp
 	}
 	return 0
 }
 
-func (x *CreatePndRequest) GetPnd() *PndCreateProperties {
+func (x *CreatePndListRequest) GetPnd() []*PndCreateProperties {
 	if x != nil {
 		return x.Pnd
 	}
@@ -401,7 +401,7 @@ func (x *PndCreateProperties) GetSbi() string {
 	return ""
 }
 
-type CreatePndResponse struct {
+type CreatePndListResponse struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -410,8 +410,8 @@ type CreatePndResponse struct {
 	Status    Status `protobuf:"varint,2,opt,name=status,proto3,enum=gosdn.core.Status" json:"status,omitempty"`
 }
 
-func (x *CreatePndResponse) Reset() {
-	*x = CreatePndResponse{}
+func (x *CreatePndListResponse) Reset() {
+	*x = CreatePndListResponse{}
 	if protoimpl.UnsafeEnabled {
 		mi := &file_gosdn_core_core_proto_msgTypes[6]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -419,13 +419,13 @@ func (x *CreatePndResponse) Reset() {
 	}
 }
 
-func (x *CreatePndResponse) String() string {
+func (x *CreatePndListResponse) String() string {
 	return protoimpl.X.MessageStringOf(x)
 }
 
-func (*CreatePndResponse) ProtoMessage() {}
+func (*CreatePndListResponse) ProtoMessage() {}
 
-func (x *CreatePndResponse) ProtoReflect() protoreflect.Message {
+func (x *CreatePndListResponse) ProtoReflect() protoreflect.Message {
 	mi := &file_gosdn_core_core_proto_msgTypes[6]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -437,19 +437,19 @@ func (x *CreatePndResponse) ProtoReflect() protoreflect.Message {
 	return mi.MessageOf(x)
 }
 
-// Deprecated: Use CreatePndResponse.ProtoReflect.Descriptor instead.
-func (*CreatePndResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use CreatePndListResponse.ProtoReflect.Descriptor instead.
+func (*CreatePndListResponse) Descriptor() ([]byte, []int) {
 	return file_gosdn_core_core_proto_rawDescGZIP(), []int{6}
 }
 
-func (x *CreatePndResponse) GetTimestamp() int64 {
+func (x *CreatePndListResponse) GetTimestamp() int64 {
 	if x != nil {
 		return x.Timestamp
 	}
 	return 0
 }
 
-func (x *CreatePndResponse) GetStatus() Status {
+func (x *CreatePndListResponse) GetStatus() Status {
 	if x != nil {
 		return x.Status
 	}
@@ -594,67 +594,68 @@ var file_gosdn_core_core_proto_rawDesc = []byte{
 	0x61, 0x6d, 0x70, 0x12, 0x33, 0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
 	0x32, 0x21, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x70, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x69,
 	0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x6f, 0x6d,
-	0x61, 0x69, 0x6e, 0x52, 0x03, 0x70, 0x6e, 0x64, 0x22, 0x63, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61,
-	0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
+	0x61, 0x69, 0x6e, 0x52, 0x03, 0x70, 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61,
+	0x74, 0x65, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31,
+	0x0a, 0x03, 0x70, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f,
+	0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61,
+	0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x03, 0x70, 0x6e,
+	0x64, 0x22, 0x5d, 0x0a, 0x13, 0x50, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72,
+	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
+	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
+	0x0a, 0x03, 0x73, 0x62, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x62, 0x69,
+	0x22, 0x61, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73,
+	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d,
+	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69,
+	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e,
+	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
+	0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
+	0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
+	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74,
+	0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
 	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x03, 0x70, 0x6e,
-	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e,
-	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72,
-	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x03, 0x70, 0x6e, 0x64, 0x22, 0x5d, 0x0a,
-	0x13, 0x50, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
-	0x74, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
-	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
-	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x62,
-	0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x62, 0x69, 0x22, 0x5d, 0x0a, 0x11,
-	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
-	0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61,
-	0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x44,
-	0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
-	0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x10, 0x0a,
-	0x03, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22,
-	0x5d, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
-	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
-	0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
-	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x41,
-	0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54,
-	0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
-	0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12,
-	0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
-	0x02, 0x32, 0xf9, 0x02, 0x0a, 0x0b, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
-	0x65, 0x12, 0x53, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x67, 0x6f,
-	0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63,
-	0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
-	0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x70, 0x6e, 0x64,
-	0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x12, 0x5a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64,
-	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72,
-	0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65,
-	0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x70, 0x6e,
-	0x64, 0x73, 0x12, 0x5a, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x12,
-	0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65,
-	0x61, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
+	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74,
+	0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x73,
+	0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
+	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+	0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
+	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54,
+	0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55,
+	0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x32, 0x85, 0x03, 0x0a, 0x0b, 0x43, 0x6f,
+	0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x47, 0x65, 0x74,
+	0x50, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65,
+	0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
+	0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50,
+	0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x70, 0x6e, 0x64, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x12, 0x5a,
+	0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x67,
+	0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64,
+	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f,
+	0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6e, 0x64, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0d, 0x82, 0xd3, 0xe4,
+	0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x43, 0x72,
+	0x65, 0x61, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x67, 0x6f,
+	0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
+	0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
 	0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x82, 0xd3,
-	0xe4, 0x93, 0x02, 0x0a, 0x3a, 0x01, 0x2a, 0x22, 0x05, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x12, 0x5d,
-	0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x12, 0x1c, 0x2e, 0x67, 0x6f,
-	0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
-	0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x64,
-	0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d,
-	0x2a, 0x0b, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64, 0x7d, 0x42, 0x2a, 0x5a,
-	0x28, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d, 0x64, 0x61, 0x2e, 0x64,
-	0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x67,
-	0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x33,
+	0x65, 0x50, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x3a, 0x01, 0x2a, 0x22, 0x05, 0x2f, 0x70, 0x6e,
+	0x64, 0x73, 0x12, 0x5d, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x12,
+	0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c,
+	0x65, 0x74, 0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
+	0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
+	0x65, 0x50, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x0d, 0x2a, 0x0b, 0x2f, 0x70, 0x6e, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x64,
+	0x7d, 0x42, 0x2a, 0x5a, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x66, 0x62, 0x69, 0x2e, 0x68, 0x2d,
+	0x64, 0x61, 0x2e, 0x64, 0x65, 0x2f, 0x64, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+	0x67, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x64, 0x6e, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -677,9 +678,9 @@ var file_gosdn_core_core_proto_goTypes = []interface{}{
 	(*GetPndRequest)(nil),              // 2: gosdn.core.GetPndRequest
 	(*GetPndListResponse)(nil),         // 3: gosdn.core.GetPndListResponse
 	(*GetPndResponse)(nil),             // 4: gosdn.core.GetPndResponse
-	(*CreatePndRequest)(nil),           // 5: gosdn.core.CreatePndRequest
+	(*CreatePndListRequest)(nil),       // 5: gosdn.core.CreatePndListRequest
 	(*PndCreateProperties)(nil),        // 6: gosdn.core.PndCreateProperties
-	(*CreatePndResponse)(nil),          // 7: gosdn.core.CreatePndResponse
+	(*CreatePndListResponse)(nil),      // 7: gosdn.core.CreatePndListResponse
 	(*DeletePndRequest)(nil),           // 8: gosdn.core.DeletePndRequest
 	(*DeletePndResponse)(nil),          // 9: gosdn.core.DeletePndResponse
 	(*pnd.PrincipalNetworkDomain)(nil), // 10: gosdn.pnd.PrincipalNetworkDomain
@@ -687,16 +688,16 @@ var file_gosdn_core_core_proto_goTypes = []interface{}{
 var file_gosdn_core_core_proto_depIdxs = []int32{
 	10, // 0: gosdn.core.GetPndListResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain
 	10, // 1: gosdn.core.GetPndResponse.pnd:type_name -> gosdn.pnd.PrincipalNetworkDomain
-	6,  // 2: gosdn.core.CreatePndRequest.pnd:type_name -> gosdn.core.PndCreateProperties
-	0,  // 3: gosdn.core.CreatePndResponse.status:type_name -> gosdn.core.Status
+	6,  // 2: gosdn.core.CreatePndListRequest.pnd:type_name -> gosdn.core.PndCreateProperties
+	0,  // 3: gosdn.core.CreatePndListResponse.status:type_name -> gosdn.core.Status
 	0,  // 4: gosdn.core.DeletePndResponse.status:type_name -> gosdn.core.Status
 	2,  // 5: gosdn.core.CoreService.GetPnd:input_type -> gosdn.core.GetPndRequest
 	1,  // 6: gosdn.core.CoreService.GetPndList:input_type -> gosdn.core.GetPndListRequest
-	5,  // 7: gosdn.core.CoreService.CreatePnd:input_type -> gosdn.core.CreatePndRequest
+	5,  // 7: gosdn.core.CoreService.CreatePndList:input_type -> gosdn.core.CreatePndListRequest
 	8,  // 8: gosdn.core.CoreService.DeletePnd:input_type -> gosdn.core.DeletePndRequest
 	4,  // 9: gosdn.core.CoreService.GetPnd:output_type -> gosdn.core.GetPndResponse
 	3,  // 10: gosdn.core.CoreService.GetPndList:output_type -> gosdn.core.GetPndListResponse
-	7,  // 11: gosdn.core.CoreService.CreatePnd:output_type -> gosdn.core.CreatePndResponse
+	7,  // 11: gosdn.core.CoreService.CreatePndList:output_type -> gosdn.core.CreatePndListResponse
 	9,  // 12: gosdn.core.CoreService.DeletePnd:output_type -> gosdn.core.DeletePndResponse
 	9,  // [9:13] is the sub-list for method output_type
 	5,  // [5:9] is the sub-list for method input_type
@@ -760,7 +761,7 @@ func file_gosdn_core_core_proto_init() {
 			}
 		}
 		file_gosdn_core_core_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CreatePndRequest); i {
+			switch v := v.(*CreatePndListRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -784,7 +785,7 @@ func file_gosdn_core_core_proto_init() {
 			}
 		}
 		file_gosdn_core_core_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CreatePndResponse); i {
+			switch v := v.(*CreatePndListResponse); i {
 			case 0:
 				return &v.state
 			case 1:
diff --git a/go/gosdn/core/core.pb.gw.go b/go/gosdn/core/core.pb.gw.go
index 27674b6b4c3141af25ed98d65d9745c07c423243..8c56242b632551449573f8c7e56c895e2fe3c12f 100644
--- a/go/gosdn/core/core.pb.gw.go
+++ b/go/gosdn/core/core.pb.gw.go
@@ -137,8 +137,8 @@ func local_request_CoreService_GetPndList_0(ctx context.Context, marshaler runti
 
 }
 
-func request_CoreService_CreatePnd_0(ctx context.Context, marshaler runtime.Marshaler, client CoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq CreatePndRequest
+func request_CoreService_CreatePndList_0(ctx context.Context, marshaler runtime.Marshaler, client CoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+	var protoReq CreatePndListRequest
 	var metadata runtime.ServerMetadata
 
 	newReader, berr := utilities.IOReaderFactory(req.Body)
@@ -149,13 +149,13 @@ func request_CoreService_CreatePnd_0(ctx context.Context, marshaler runtime.Mars
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 	}
 
-	msg, err := client.CreatePnd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
+	msg, err := client.CreatePndList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
 	return msg, metadata, err
 
 }
 
-func local_request_CoreService_CreatePnd_0(ctx context.Context, marshaler runtime.Marshaler, server CoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
-	var protoReq CreatePndRequest
+func local_request_CoreService_CreatePndList_0(ctx context.Context, marshaler runtime.Marshaler, server CoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+	var protoReq CreatePndListRequest
 	var metadata runtime.ServerMetadata
 
 	newReader, berr := utilities.IOReaderFactory(req.Body)
@@ -166,7 +166,7 @@ func local_request_CoreService_CreatePnd_0(ctx context.Context, marshaler runtim
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
 	}
 
-	msg, err := server.CreatePnd(ctx, &protoReq)
+	msg, err := server.CreatePndList(ctx, &protoReq)
 	return msg, metadata, err
 
 }
@@ -293,18 +293,18 @@ func RegisterCoreServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
 
 	})
 
-	mux.Handle("POST", pattern_CoreService_CreatePnd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
+	mux.Handle("POST", pattern_CoreService_CreatePndList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 		ctx, cancel := context.WithCancel(req.Context())
 		defer cancel()
 		var stream runtime.ServerTransportStream
 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.core.CoreService/CreatePnd", runtime.WithHTTPPathPattern("/pnds"))
+		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/gosdn.core.CoreService/CreatePndList", runtime.WithHTTPPathPattern("/pnds"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
 		}
-		resp, md, err := local_request_CoreService_CreatePnd_0(rctx, inboundMarshaler, server, req, pathParams)
+		resp, md, err := local_request_CoreService_CreatePndList_0(rctx, inboundMarshaler, server, req, pathParams)
 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
 		ctx = runtime.NewServerMetadataContext(ctx, md)
 		if err != nil {
@@ -312,7 +312,7 @@ func RegisterCoreServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
 			return
 		}
 
-		forward_CoreService_CreatePnd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+		forward_CoreService_CreatePndList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 
 	})
 
@@ -420,23 +420,23 @@ func RegisterCoreServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux
 
 	})
 
-	mux.Handle("POST", pattern_CoreService_CreatePnd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
+	mux.Handle("POST", pattern_CoreService_CreatePndList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
 		ctx, cancel := context.WithCancel(req.Context())
 		defer cancel()
 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.core.CoreService/CreatePnd", runtime.WithHTTPPathPattern("/pnds"))
+		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/gosdn.core.CoreService/CreatePndList", runtime.WithHTTPPathPattern("/pnds"))
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
 		}
-		resp, md, err := request_CoreService_CreatePnd_0(rctx, inboundMarshaler, client, req, pathParams)
+		resp, md, err := request_CoreService_CreatePndList_0(rctx, inboundMarshaler, client, req, pathParams)
 		ctx = runtime.NewServerMetadataContext(ctx, md)
 		if err != nil {
 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
 			return
 		}
 
-		forward_CoreService_CreatePnd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+		forward_CoreService_CreatePndList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
 
 	})
 
@@ -468,7 +468,7 @@ var (
 
 	pattern_CoreService_GetPndList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"pnds"}, ""))
 
-	pattern_CoreService_CreatePnd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"pnds"}, ""))
+	pattern_CoreService_CreatePndList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"pnds"}, ""))
 
 	pattern_CoreService_DeletePnd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"pnds", "pid"}, ""))
 )
@@ -478,7 +478,7 @@ var (
 
 	forward_CoreService_GetPndList_0 = runtime.ForwardResponseMessage
 
-	forward_CoreService_CreatePnd_0 = runtime.ForwardResponseMessage
+	forward_CoreService_CreatePndList_0 = runtime.ForwardResponseMessage
 
 	forward_CoreService_DeletePnd_0 = runtime.ForwardResponseMessage
 )
diff --git a/go/gosdn/core/core_grpc.pb.go b/go/gosdn/core/core_grpc.pb.go
index a2dd90562f28c9cb52611b222ea19464182961b1..700014550c269e4c75b5f8f5cca584ba3fe15a7b 100644
--- a/go/gosdn/core/core_grpc.pb.go
+++ b/go/gosdn/core/core_grpc.pb.go
@@ -23,7 +23,7 @@ type CoreServiceClient interface {
 	// Allows to request all Principal Network Domains.
 	GetPndList(ctx context.Context, in *GetPndListRequest, opts ...grpc.CallOption) (*GetPndListResponse, error)
 	// Allows create a Principal Network Domain.
-	CreatePnd(ctx context.Context, in *CreatePndRequest, opts ...grpc.CallOption) (*CreatePndResponse, error)
+	CreatePndList(ctx context.Context, in *CreatePndListRequest, opts ...grpc.CallOption) (*CreatePndListResponse, error)
 	// Allows to delete a specific Principal Network Domain.
 	DeletePnd(ctx context.Context, in *DeletePndRequest, opts ...grpc.CallOption) (*DeletePndResponse, error)
 }
@@ -54,9 +54,9 @@ func (c *coreServiceClient) GetPndList(ctx context.Context, in *GetPndListReques
 	return out, nil
 }
 
-func (c *coreServiceClient) CreatePnd(ctx context.Context, in *CreatePndRequest, opts ...grpc.CallOption) (*CreatePndResponse, error) {
-	out := new(CreatePndResponse)
-	err := c.cc.Invoke(ctx, "/gosdn.core.CoreService/CreatePnd", in, out, opts...)
+func (c *coreServiceClient) CreatePndList(ctx context.Context, in *CreatePndListRequest, opts ...grpc.CallOption) (*CreatePndListResponse, error) {
+	out := new(CreatePndListResponse)
+	err := c.cc.Invoke(ctx, "/gosdn.core.CoreService/CreatePndList", in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -81,7 +81,7 @@ type CoreServiceServer interface {
 	// Allows to request all Principal Network Domains.
 	GetPndList(context.Context, *GetPndListRequest) (*GetPndListResponse, error)
 	// Allows create a Principal Network Domain.
-	CreatePnd(context.Context, *CreatePndRequest) (*CreatePndResponse, error)
+	CreatePndList(context.Context, *CreatePndListRequest) (*CreatePndListResponse, error)
 	// Allows to delete a specific Principal Network Domain.
 	DeletePnd(context.Context, *DeletePndRequest) (*DeletePndResponse, error)
 	mustEmbedUnimplementedCoreServiceServer()
@@ -97,8 +97,8 @@ func (UnimplementedCoreServiceServer) GetPnd(context.Context, *GetPndRequest) (*
 func (UnimplementedCoreServiceServer) GetPndList(context.Context, *GetPndListRequest) (*GetPndListResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetPndList not implemented")
 }
-func (UnimplementedCoreServiceServer) CreatePnd(context.Context, *CreatePndRequest) (*CreatePndResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method CreatePnd not implemented")
+func (UnimplementedCoreServiceServer) CreatePndList(context.Context, *CreatePndListRequest) (*CreatePndListResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreatePndList not implemented")
 }
 func (UnimplementedCoreServiceServer) DeletePnd(context.Context, *DeletePndRequest) (*DeletePndResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method DeletePnd not implemented")
@@ -152,20 +152,20 @@ func _CoreService_GetPndList_Handler(srv interface{}, ctx context.Context, dec f
 	return interceptor(ctx, in, info, handler)
 }
 
-func _CoreService_CreatePnd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CreatePndRequest)
+func _CoreService_CreatePndList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreatePndListRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(CoreServiceServer).CreatePnd(ctx, in)
+		return srv.(CoreServiceServer).CreatePndList(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/gosdn.core.CoreService/CreatePnd",
+		FullMethod: "/gosdn.core.CoreService/CreatePndList",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(CoreServiceServer).CreatePnd(ctx, req.(*CreatePndRequest))
+		return srv.(CoreServiceServer).CreatePndList(ctx, req.(*CreatePndListRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
@@ -204,8 +204,8 @@ var CoreService_ServiceDesc = grpc.ServiceDesc{
 			Handler:    _CoreService_GetPndList_Handler,
 		},
 		{
-			MethodName: "CreatePnd",
-			Handler:    _CoreService_CreatePnd_Handler,
+			MethodName: "CreatePndList",
+			Handler:    _CoreService_CreatePndList_Handler,
 		},
 		{
 			MethodName: "DeletePnd",
diff --git a/openapiv2/gosdn_northbound.swagger.json b/openapiv2/gosdn_northbound.swagger.json
index 4edbda746f9dcc321f887b4551df38049e3724b3..e1e377688728c91033ad92ec981af4d3ccffe801 100644
--- a/openapiv2/gosdn_northbound.swagger.json
+++ b/openapiv2/gosdn_northbound.swagger.json
@@ -18,19 +18,19 @@
       "name": "PndService"
     },
     {
-      "name": "gNMI"
+      "name": "Collector"
     },
     {
-      "name": "AgentManager"
+      "name": "gNMI"
     },
     {
-      "name": "CoreService"
+      "name": "CsbiService"
     },
     {
-      "name": "Collector"
+      "name": "AgentManager"
     },
     {
-      "name": "CsbiService"
+      "name": "CoreService"
     }
   ],
   "consumes": [
@@ -111,12 +111,12 @@
       },
       "post": {
         "summary": "Allows create a Principal Network Domain.",
-        "operationId": "CoreService_CreatePnd",
+        "operationId": "CoreService_CreatePndList",
         "responses": {
           "200": {
             "description": "A successful response.",
             "schema": {
-              "$ref": "#/definitions/coreCreatePndResponse"
+              "$ref": "#/definitions/coreCreatePndListResponse"
             }
           },
           "default": {
@@ -132,7 +132,7 @@
             "in": "body",
             "required": true,
             "schema": {
-              "$ref": "#/definitions/coreCreatePndRequest"
+              "$ref": "#/definitions/coreCreatePndListRequest"
             }
           }
         ],
@@ -756,7 +756,7 @@
       "default": "STREAM",
       "description": "Mode of the subscription."
     },
-    "coreCreatePndRequest": {
+    "coreCreatePndListRequest": {
       "type": "object",
       "properties": {
         "timestamp": {
@@ -764,11 +764,14 @@
           "format": "int64"
         },
         "pnd": {
-          "$ref": "#/definitions/corePndCreateProperties"
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/corePndCreateProperties"
+          }
         }
       }
     },
-    "coreCreatePndResponse": {
+    "coreCreatePndListResponse": {
       "type": "object",
       "properties": {
         "timestamp": {
diff --git a/proto/gosdn/core/core.proto b/proto/gosdn/core/core.proto
index a0c2a8a5d79612420ce606c664cba86a29049fb4..0a63a27fdd986ead6ba585ddac8311226f9e5a7e 100644
--- a/proto/gosdn/core/core.proto
+++ b/proto/gosdn/core/core.proto
@@ -21,7 +21,7 @@ service CoreService {
     };
   }
   // Allows create a Principal Network Domain.
-  rpc CreatePnd(CreatePndRequest) returns (CreatePndResponse) {
+  rpc CreatePndList(CreatePndListRequest) returns (CreatePndListResponse) {
     option (google.api.http) = {
       post: "/pnds"
       body: "*"
@@ -54,9 +54,9 @@ message GetPndResponse {
   .gosdn.pnd.PrincipalNetworkDomain pnd = 2;
 }
 
-message CreatePndRequest {
+message CreatePndListRequest {
   int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
-  PndCreateProperties pnd = 2;
+  repeated PndCreateProperties pnd = 2;
 }
 
 message PndCreateProperties {
@@ -65,7 +65,7 @@ message PndCreateProperties {
   string sbi = 3;
 }
 
-message CreatePndResponse {
+message CreatePndListResponse {
   int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
   Status status = 2;
 }