diff --git a/CakeMail.RestClient/CakeMail.RestClient.csproj b/CakeMail.RestClient/CakeMail.RestClient.csproj
index e7f822c..5abb37a 100644
--- a/CakeMail.RestClient/CakeMail.RestClient.csproj
+++ b/CakeMail.RestClient/CakeMail.RestClient.csproj
@@ -53,6 +53,7 @@
+
diff --git a/CakeMail.RestClient/CakeMailRestClient.cs b/CakeMail.RestClient/CakeMailRestClient.cs
index 4969fee..bc8c395 100644
--- a/CakeMail.RestClient/CakeMailRestClient.cs
+++ b/CakeMail.RestClient/CakeMailRestClient.cs
@@ -15,7 +15,7 @@ namespace CakeMail.RestClient
///
/// Core class for using the CakeMail Api
///
- public class CakeMailRestClient
+ public class CakeMailRestClient : ICakeMailRestClient
{
#region Fields
diff --git a/CakeMail.RestClient/ICakeMailRestClient.cs b/CakeMail.RestClient/ICakeMailRestClient.cs
new file mode 100644
index 0000000..8412833
--- /dev/null
+++ b/CakeMail.RestClient/ICakeMailRestClient.cs
@@ -0,0 +1,53 @@
+using CakeMail.RestClient.Models;
+using CakeMail.RestClient.Resources;
+using System;
+using System.Collections.Generic;
+using System.Net;
+
+namespace CakeMail.RestClient
+{
+ ///
+ /// Provides the base interface for implementation of access to the CakeMail API
+ ///
+ interface ICakeMailRestClient
+ {
+ ///
+ /// The API key provided by CakeMail
+ ///
+ string ApiKey { get; }
+
+ ///
+ /// The web proxy
+ ///
+ IWebProxy Proxy { get; }
+
+ ///
+ /// The user agent
+ ///
+ string UserAgent { get; }
+
+ ///
+ /// The timeout
+ ///
+ int Timeout { get; }
+
+ ///
+ /// The URL where all API requests are sent
+ ///
+ Uri BaseUrl { get; }
+
+ Campaigns Campaigns { get; }
+ Clients Clients { get; }
+ Countries Countries { get; }
+ Permissions Permissions { get; }
+ Lists Lists { get; }
+ Timezones Timezones { get; }
+ Mailings Mailings { get; }
+ Relays Relays { get; }
+ Segments Segments { get; }
+ Users Users { get; }
+ SuppressionLists SuppressionLists { get; }
+ Templates Templates { get; }
+ Triggers Triggers { get; }
+ }
+}
\ No newline at end of file