diff --git a/Source/StrongGrid/ILegacyClient.cs b/Source/StrongGrid/ILegacyClient.cs
index 75685577..8ecf6a4f 100644
--- a/Source/StrongGrid/ILegacyClient.cs
+++ b/Source/StrongGrid/ILegacyClient.cs
@@ -1,8 +1,11 @@
+using System;
+
namespace StrongGrid
{
///
/// Interface for the SendGrid REST client for SendGrid's legacy API.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ILegacyClient
{
///
diff --git a/Source/StrongGrid/LegacyClient.cs b/Source/StrongGrid/LegacyClient.cs
index f30b4dfb..cf631fbe 100644
--- a/Source/StrongGrid/LegacyClient.cs
+++ b/Source/StrongGrid/LegacyClient.cs
@@ -1,5 +1,6 @@
using Microsoft.Extensions.Logging;
using StrongGrid.Utilities;
+using System;
using System.Net;
using System.Net.Http;
@@ -8,6 +9,7 @@ namespace StrongGrid
///
/// REST client for interacting with SendGrid's legacy API.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class LegacyClient : BaseClient, ILegacyClient
{
private static readonly StrongGridClientOptions _defaultOptions = new StrongGridClientOptions()
diff --git a/Source/StrongGrid/Models/Legacy/Campaign.cs b/Source/StrongGrid/Models/Legacy/Campaign.cs
index e7d6c46b..1232c900 100644
--- a/Source/StrongGrid/Models/Legacy/Campaign.cs
+++ b/Source/StrongGrid/Models/Legacy/Campaign.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -7,6 +8,7 @@ namespace StrongGrid.Models.Legacy
/// you will be required to provide a subject, sender ID, content (we suggest both html
/// and plain text), and at least one list or segment ID.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Campaign
{
///
diff --git a/Source/StrongGrid/Models/Legacy/CampaignStatus.cs b/Source/StrongGrid/Models/Legacy/CampaignStatus.cs
index 1f4c6403..c0a7e59f 100644
--- a/Source/StrongGrid/Models/Legacy/CampaignStatus.cs
+++ b/Source/StrongGrid/Models/Legacy/CampaignStatus.cs
@@ -1,4 +1,5 @@
using StrongGrid.Json;
+using System;
using System.Runtime.Serialization;
using System.Text.Json.Serialization;
@@ -7,6 +8,7 @@ namespace StrongGrid.Models.Legacy
///
/// Enumeration to indicate the status of a campaign.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
[JsonConverter(typeof(StringEnumConverter))]
public enum CampaignStatus
{
diff --git a/Source/StrongGrid/Models/Legacy/Contact.cs b/Source/StrongGrid/Models/Legacy/Contact.cs
index b9926df7..b448aee7 100644
--- a/Source/StrongGrid/Models/Legacy/Contact.cs
+++ b/Source/StrongGrid/Models/Legacy/Contact.cs
@@ -9,6 +9,7 @@ namespace StrongGrid.Models.Legacy
///
/// A contact (also known as a recipient).
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Contact
{
///
diff --git a/Source/StrongGrid/Models/Legacy/CustomFieldMetadata.cs b/Source/StrongGrid/Models/Legacy/CustomFieldMetadata.cs
index 4b7523d4..50e0ad17 100644
--- a/Source/StrongGrid/Models/Legacy/CustomFieldMetadata.cs
+++ b/Source/StrongGrid/Models/Legacy/CustomFieldMetadata.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -6,6 +7,7 @@ namespace StrongGrid.Models.Legacy
/// Metadata about a custom field.
///
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class CustomFieldMetadata : FieldMetadata
{
///
diff --git a/Source/StrongGrid/Models/Legacy/Field.cs b/Source/StrongGrid/Models/Legacy/Field.cs
index f815ac28..c606c590 100644
--- a/Source/StrongGrid/Models/Legacy/Field.cs
+++ b/Source/StrongGrid/Models/Legacy/Field.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// A field.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Field
{
///
diff --git a/Source/StrongGrid/Models/Legacy/FieldMetadata.cs b/Source/StrongGrid/Models/Legacy/FieldMetadata.cs
index 7d11a252..23da9e04 100644
--- a/Source/StrongGrid/Models/Legacy/FieldMetadata.cs
+++ b/Source/StrongGrid/Models/Legacy/FieldMetadata.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// Metadata about a field.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class FieldMetadata
{
///
diff --git a/Source/StrongGrid/Models/Legacy/ImportResult.cs b/Source/StrongGrid/Models/Legacy/ImportResult.cs
index 79c9ce52..161bb749 100644
--- a/Source/StrongGrid/Models/Legacy/ImportResult.cs
+++ b/Source/StrongGrid/Models/Legacy/ImportResult.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// The result of importing a group of contacts.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class ImportResult
{
///
diff --git a/Source/StrongGrid/Models/Legacy/List.cs b/Source/StrongGrid/Models/Legacy/List.cs
index 13830d98..5a089e21 100644
--- a/Source/StrongGrid/Models/Legacy/List.cs
+++ b/Source/StrongGrid/Models/Legacy/List.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// A list of contacts.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class List
{
///
diff --git a/Source/StrongGrid/Models/Legacy/LogicalOperator.cs b/Source/StrongGrid/Models/Legacy/LogicalOperator.cs
index 5eac9053..2f67e3b5 100644
--- a/Source/StrongGrid/Models/Legacy/LogicalOperator.cs
+++ b/Source/StrongGrid/Models/Legacy/LogicalOperator.cs
@@ -1,4 +1,5 @@
using StrongGrid.Json;
+using System;
using System.Runtime.Serialization;
using System.Text.Json.Serialization;
@@ -7,6 +8,7 @@ namespace StrongGrid.Models.Legacy
///
/// Enumeration to indicate a logical operator.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
[JsonConverter(typeof(StringEnumConverter))]
public enum LogicalOperator
{
diff --git a/Source/StrongGrid/Models/Legacy/SearchCondition.cs b/Source/StrongGrid/Models/Legacy/SearchCondition.cs
index 2193f837..08285090 100644
--- a/Source/StrongGrid/Models/Legacy/SearchCondition.cs
+++ b/Source/StrongGrid/Models/Legacy/SearchCondition.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// Search condition.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class SearchCondition
{
///
diff --git a/Source/StrongGrid/Models/Legacy/Segment.cs b/Source/StrongGrid/Models/Legacy/Segment.cs
index ab6d40f6..52762c0c 100644
--- a/Source/StrongGrid/Models/Legacy/Segment.cs
+++ b/Source/StrongGrid/Models/Legacy/Segment.cs
@@ -1,3 +1,4 @@
+using System;
using System.Text.Json.Serialization;
namespace StrongGrid.Models.Legacy
@@ -5,6 +6,7 @@ namespace StrongGrid.Models.Legacy
///
/// Segment.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Segment
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/Campaigns.cs b/Source/StrongGrid/Resources/Legacy/Campaigns.cs
index 53be7dd0..a548fb97 100644
--- a/Source/StrongGrid/Resources/Legacy/Campaigns.cs
+++ b/Source/StrongGrid/Resources/Legacy/Campaigns.cs
@@ -17,6 +17,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Campaigns : ICampaigns
{
private const string _endpoint = "campaigns";
diff --git a/Source/StrongGrid/Resources/Legacy/Categories.cs b/Source/StrongGrid/Resources/Legacy/Categories.cs
index cbab43c3..d9448a6a 100644
--- a/Source/StrongGrid/Resources/Legacy/Categories.cs
+++ b/Source/StrongGrid/Resources/Legacy/Categories.cs
@@ -1,4 +1,5 @@
using Pathoschild.Http.Client;
+using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -12,6 +13,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Categories : ICategories
{
private const string _endpoint = "categories";
diff --git a/Source/StrongGrid/Resources/Legacy/Contacts.cs b/Source/StrongGrid/Resources/Legacy/Contacts.cs
index 948b93e4..bf621224 100644
--- a/Source/StrongGrid/Resources/Legacy/Contacts.cs
+++ b/Source/StrongGrid/Resources/Legacy/Contacts.cs
@@ -19,6 +19,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Contacts : IContacts
{
private const string _endpoint = "contactdb/recipients";
diff --git a/Source/StrongGrid/Resources/Legacy/CustomFields.cs b/Source/StrongGrid/Resources/Legacy/CustomFields.cs
index d5a99668..9075429c 100644
--- a/Source/StrongGrid/Resources/Legacy/CustomFields.cs
+++ b/Source/StrongGrid/Resources/Legacy/CustomFields.cs
@@ -1,6 +1,7 @@
using Pathoschild.Http.Client;
using StrongGrid.Json;
using StrongGrid.Models;
+using System;
using System.Threading;
using System.Threading.Tasks;
@@ -13,6 +14,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class CustomFields : ICustomFields
{
private const string _endpoint = "contactdb/custom_fields";
diff --git a/Source/StrongGrid/Resources/Legacy/ICampaigns.cs b/Source/StrongGrid/Resources/Legacy/ICampaigns.cs
index 82d4cfc7..f9259b77 100644
--- a/Source/StrongGrid/Resources/Legacy/ICampaigns.cs
+++ b/Source/StrongGrid/Resources/Legacy/ICampaigns.cs
@@ -13,6 +13,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ICampaigns
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/ICategories.cs b/Source/StrongGrid/Resources/Legacy/ICategories.cs
index d1074d7a..3d0a4990 100644
--- a/Source/StrongGrid/Resources/Legacy/ICategories.cs
+++ b/Source/StrongGrid/Resources/Legacy/ICategories.cs
@@ -1,3 +1,4 @@
+using System;
using System.Threading;
using System.Threading.Tasks;
@@ -9,6 +10,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ICategories
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/IContacts.cs b/Source/StrongGrid/Resources/Legacy/IContacts.cs
index 266ecb65..dd8e6902 100644
--- a/Source/StrongGrid/Resources/Legacy/IContacts.cs
+++ b/Source/StrongGrid/Resources/Legacy/IContacts.cs
@@ -1,5 +1,6 @@
using StrongGrid.Models;
using StrongGrid.Utilities;
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -12,6 +13,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface IContacts
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/ICustomFields.cs b/Source/StrongGrid/Resources/Legacy/ICustomFields.cs
index 559ac563..9fb0957e 100644
--- a/Source/StrongGrid/Resources/Legacy/ICustomFields.cs
+++ b/Source/StrongGrid/Resources/Legacy/ICustomFields.cs
@@ -1,4 +1,5 @@
using StrongGrid.Models;
+using System;
using System.Threading;
using System.Threading.Tasks;
@@ -10,6 +11,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ICustomFields
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/ILists.cs b/Source/StrongGrid/Resources/Legacy/ILists.cs
index 0f54cca1..62d72b42 100644
--- a/Source/StrongGrid/Resources/Legacy/ILists.cs
+++ b/Source/StrongGrid/Resources/Legacy/ILists.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -10,6 +11,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ILists
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/ISegments.cs b/Source/StrongGrid/Resources/Legacy/ISegments.cs
index 1a9e1dd7..971755c4 100644
--- a/Source/StrongGrid/Resources/Legacy/ISegments.cs
+++ b/Source/StrongGrid/Resources/Legacy/ISegments.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -10,6 +11,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ISegments
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/ISenderIdentities.cs b/Source/StrongGrid/Resources/Legacy/ISenderIdentities.cs
index e494cb2d..a3135de6 100644
--- a/Source/StrongGrid/Resources/Legacy/ISenderIdentities.cs
+++ b/Source/StrongGrid/Resources/Legacy/ISenderIdentities.cs
@@ -1,5 +1,6 @@
using StrongGrid.Models;
using StrongGrid.Utilities;
+using System;
using System.Threading;
using System.Threading.Tasks;
@@ -11,6 +12,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public interface ISenderIdentities
{
///
diff --git a/Source/StrongGrid/Resources/Legacy/Lists.cs b/Source/StrongGrid/Resources/Legacy/Lists.cs
index c4132e5a..f323ace2 100644
--- a/Source/StrongGrid/Resources/Legacy/Lists.cs
+++ b/Source/StrongGrid/Resources/Legacy/Lists.cs
@@ -15,6 +15,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Lists : ILists
{
private const string _endpoint = "contactdb/lists";
diff --git a/Source/StrongGrid/Resources/Legacy/Segments.cs b/Source/StrongGrid/Resources/Legacy/Segments.cs
index e4689db9..95a7d41c 100644
--- a/Source/StrongGrid/Resources/Legacy/Segments.cs
+++ b/Source/StrongGrid/Resources/Legacy/Segments.cs
@@ -1,5 +1,6 @@
using Pathoschild.Http.Client;
using StrongGrid.Json;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
@@ -14,6 +15,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class Segments : ISegments
{
private const string _endpoint = "contactdb/segments";
diff --git a/Source/StrongGrid/Resources/Legacy/SenderIdentities.cs b/Source/StrongGrid/Resources/Legacy/SenderIdentities.cs
index 1ba24321..ef3d9f6b 100644
--- a/Source/StrongGrid/Resources/Legacy/SenderIdentities.cs
+++ b/Source/StrongGrid/Resources/Legacy/SenderIdentities.cs
@@ -2,6 +2,7 @@
using StrongGrid.Json;
using StrongGrid.Models;
using StrongGrid.Utilities;
+using System;
using System.Threading;
using System.Threading.Tasks;
@@ -14,6 +15,7 @@ namespace StrongGrid.Resources.Legacy
///
/// See SendGrid documentation for more information.
///
+ [Obsolete("The legacy client, legacy resources and legacy model classes are obsolete")]
public class SenderIdentities : ISenderIdentities
{
private const string _endpoint = "senders";