diff --git a/Interfaces/IXIdentityBaseReferencedProvider.cs b/Interfaces/IXIdentityBaseReferencedProvider.cs
new file mode 100644
index 0000000..09264c9
--- /dev/null
+++ b/Interfaces/IXIdentityBaseReferencedProvider.cs
@@ -0,0 +1,140 @@
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using xDataService.Models;
+using xIdentityModels.Models;
+using xModels.Dtos;
+
+namespace xIdentityService.Interfaces
+{
+ ///
+ /// in Some Cases we have Entities Which Can Referenced for Specified
+ /// Provider and Types ...
+ /// this interface Globaly introduce all available Actions for those ...
+ ///
+ /// TKey: type of Provider Models Keys ...
+ /// TModel: type of Dto which Referenced ...
+ ///
+ public interface IXIdentityBaseReferencedProvider
+ {
+ //
+ #region Props ...
+ ///
+ /// Provider Identifier ...
+ ///
+ string Provider { get; }
+ #endregion
+
+ //
+ #region Identifier ...
+ Task LastIndex(TKey providedForId);
+ #endregion
+
+ //
+ #region Referenced Actions ...
+ ///
+ /// Get Specified Indexed Reference for Specific Provided ID ...
+ ///
+ ///
+ ///
+ ///
+ Task GetReference(
+ TKey providedForId,
+ int forIndex = 0
+ );
+
+ ///
+ /// Retrieve all Exists References of Specific Provided ID ...
+ ///
+ ///
+ ///
+ Task> GetAllReferences(TKey providedForId);
+
+ ///
+ /// Retrieve References of Specific Provided ID as Query ...
+ ///
+ ///
+ ///
+ Task> QueryReferences(
+ XQuery query,
+ TKey providedForId
+ );
+
+ ///
+ /// Add Reference a Model to Specific Provided ID ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task AddReference(
+ TModel model,
+ TKey providedForId,
+ int forIndex = 0,
+ string connectionId = null,
+ XUserClaimsInfoDto userInfo = null
+ );
+
+ ///
+ /// Add Reference a Model to Specific XRefence ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task AddReference(
+ TModel model,
+ XReference reference,
+ string connectionId = null,
+ XUserClaimsInfoDto userInfo = null
+ );
+
+ ///
+ /// Remove Reference a Model for Specific Provided ID ...
+ ///
+ ///
+ ///
+ /// if null, removes all
+ ///
+ ///
+ ///
+ Task RemoveReference(
+ TModel model,
+ TKey providedForId,
+ int? forIndex = null,
+ string connectionId = null,
+ XUserClaimsInfoDto userInfo = null
+ );
+
+ ///
+ /// Remove Reference a Model for Specific XRefence ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task RemoveReference(
+ TModel model,
+ XReference reference,
+ string connectionId = null,
+ XUserClaimsInfoDto userInfo = null
+ );
+
+ ///
+ /// Remove All References to Specified Key ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task RemoveReferences(
+ TKey providedForId,
+ string connectionId = null,
+ XUserClaimsInfoDto userInfo = null
+ );
+ #endregion
+ }
+}
\ No newline at end of file