diff --git a/src/Close/Close.csproj b/src/Close/Close.csproj
index 0a8afff..2badf67 100644
--- a/src/Close/Close.csproj
+++ b/src/Close/Close.csproj
@@ -18,7 +18,7 @@
-
+
@@ -37,5 +37,9 @@
+
+
+
+
diff --git a/src/Close/CloseClient.cs b/src/Close/CloseClient.cs
index 5496e7f..3b61f6f 100644
--- a/src/Close/CloseClient.cs
+++ b/src/Close/CloseClient.cs
@@ -9,6 +9,7 @@ public interface ICloseClient
Opportunities Opportunities { get; }
OpportunityStatuses OpportunityStatuses { get; }
Pipelines Pipelines { get; }
+ Activity Activity { get; }
}
public class CloseClient : ICloseClient
@@ -25,4 +26,5 @@ public CloseClient(HttpClient httpClient)
public Opportunities Opportunities => new(this, "opportunity");
public OpportunityStatuses OpportunityStatuses => new(this, "status/opportunity");
public Pipelines Pipelines => new(this, "pipeline");
+ public Activity Activity => new(this, "activity");
}
\ No newline at end of file
diff --git a/src/Close/Extensions/ParameterExtensions.cs b/src/Close/Extensions/ParameterExtensions.cs
index e1dad33..f11a37a 100644
--- a/src/Close/Extensions/ParameterExtensions.cs
+++ b/src/Close/Extensions/ParameterExtensions.cs
@@ -3,8 +3,8 @@
using System.Reflection;
using System.Text.Json;
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
namespace Close.Extensions;
diff --git a/src/Close/Extensions/UriExtensions.cs b/src/Close/Extensions/UriExtensions.cs
index 248201c..6b85d58 100644
--- a/src/Close/Extensions/UriExtensions.cs
+++ b/src/Close/Extensions/UriExtensions.cs
@@ -1,6 +1,6 @@
using System.Web;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
namespace Close.Extensions;
diff --git a/src/Close/Helpers/ActivityService.cs b/src/Close/Helpers/ActivityService.cs
new file mode 100644
index 0000000..fa19eed
--- /dev/null
+++ b/src/Close/Helpers/ActivityService.cs
@@ -0,0 +1,13 @@
+using Close.Interfaces;
+
+namespace Close.Helpers;
+
+public abstract class ActivityService where TEntity : ICloseEntity
+{
+ protected Request _request;
+
+ public ActivityService(CloseClient closeClient, string endpoint)
+ {
+ _request = new Request(closeClient, endpoint);
+ }
+}
\ No newline at end of file
diff --git a/src/Close/Services/Request.cs b/src/Close/Helpers/Request.cs
similarity index 97%
rename from src/Close/Services/Request.cs
rename to src/Close/Helpers/Request.cs
index d060004..68a2d29 100644
--- a/src/Close/Services/Request.cs
+++ b/src/Close/Helpers/Request.cs
@@ -2,11 +2,10 @@
using System.Text.Json;
using System.Text.Json.Serialization;
using Close.Extensions;
-using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
-namespace Close.Services;
+namespace Close.Helpers;
public class Request where TEntity : ICloseEntity
{
diff --git a/src/Close/Services/Service.cs b/src/Close/Helpers/Service.cs
similarity index 81%
rename from src/Close/Services/Service.cs
rename to src/Close/Helpers/Service.cs
index 9f8c802..edce283 100644
--- a/src/Close/Services/Service.cs
+++ b/src/Close/Helpers/Service.cs
@@ -1,6 +1,6 @@
-using Close.Services.Interfaces;
+using Close.Interfaces;
-namespace Close.Services;
+namespace Close.Helpers;
public abstract class Service where TEntity : ICloseEntity
{
@@ -10,5 +10,4 @@ public Service(CloseClient closeClient, string endpoint)
{
_request = new Request(closeClient, endpoint);
}
-
}
\ No newline at end of file
diff --git a/src/Close/Services/Interfaces/ICloseEntity.cs b/src/Close/Interfaces/ICloseEntity.cs
similarity index 51%
rename from src/Close/Services/Interfaces/ICloseEntity.cs
rename to src/Close/Interfaces/ICloseEntity.cs
index b183f5c..a1d9160 100644
--- a/src/Close/Services/Interfaces/ICloseEntity.cs
+++ b/src/Close/Interfaces/ICloseEntity.cs
@@ -1,4 +1,4 @@
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface ICloseEntity
{
diff --git a/src/Close/Services/Interfaces/ICreatable.cs b/src/Close/Interfaces/ICreatable.cs
similarity index 78%
rename from src/Close/Services/Interfaces/ICreatable.cs
rename to src/Close/Interfaces/ICreatable.cs
index d2f3cc8..f0b69cf 100644
--- a/src/Close/Services/Interfaces/ICreatable.cs
+++ b/src/Close/Interfaces/ICreatable.cs
@@ -1,6 +1,4 @@
-using Close.Models.Common;
-
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface ICreatable where TEntity : ICloseEntity where TCreateOptions : ICreateOptions, new()
{
diff --git a/src/Close/Services/Interfaces/ICreateOptions.cs b/src/Close/Interfaces/ICreateOptions.cs
similarity index 52%
rename from src/Close/Services/Interfaces/ICreateOptions.cs
rename to src/Close/Interfaces/ICreateOptions.cs
index 21a23ec..5fa408f 100644
--- a/src/Close/Services/Interfaces/ICreateOptions.cs
+++ b/src/Close/Interfaces/ICreateOptions.cs
@@ -1,4 +1,4 @@
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface ICreateOptions
{
diff --git a/src/Close/Services/Interfaces/IDeletable.cs b/src/Close/Interfaces/IDeletable.cs
similarity index 75%
rename from src/Close/Services/Interfaces/IDeletable.cs
rename to src/Close/Interfaces/IDeletable.cs
index 02a675a..cb76c1a 100644
--- a/src/Close/Services/Interfaces/IDeletable.cs
+++ b/src/Close/Interfaces/IDeletable.cs
@@ -1,4 +1,4 @@
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
internal interface IDeletable
{
diff --git a/src/Close/Services/Interfaces/IHasCreatedBy.cs b/src/Close/Interfaces/IHasCreatedBy.cs
similarity index 87%
rename from src/Close/Services/Interfaces/IHasCreatedBy.cs
rename to src/Close/Interfaces/IHasCreatedBy.cs
index 1d2e935..196fd27 100644
--- a/src/Close/Services/Interfaces/IHasCreatedBy.cs
+++ b/src/Close/Interfaces/IHasCreatedBy.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IHasCreatedBy
{
diff --git a/src/Close/Services/Interfaces/IHasUpdatedBy.cs b/src/Close/Interfaces/IHasUpdatedBy.cs
similarity index 87%
rename from src/Close/Services/Interfaces/IHasUpdatedBy.cs
rename to src/Close/Interfaces/IHasUpdatedBy.cs
index 93edad8..93c9ec7 100644
--- a/src/Close/Services/Interfaces/IHasUpdatedBy.cs
+++ b/src/Close/Interfaces/IHasUpdatedBy.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IHasUpdatedBy
{
diff --git a/src/Close/Services/Interfaces/IListable.cs b/src/Close/Interfaces/IListable.cs
similarity index 91%
rename from src/Close/Services/Interfaces/IListable.cs
rename to src/Close/Interfaces/IListable.cs
index 9a9b647..32c6e21 100644
--- a/src/Close/Services/Interfaces/IListable.cs
+++ b/src/Close/Interfaces/IListable.cs
@@ -1,6 +1,6 @@
using Close.Models.Common;
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IListable where TEntity : ICloseEntity
{
diff --git a/src/Close/Services/Interfaces/IRequestOptions.cs b/src/Close/Interfaces/IRequestOptions.cs
similarity index 53%
rename from src/Close/Services/Interfaces/IRequestOptions.cs
rename to src/Close/Interfaces/IRequestOptions.cs
index 2bc6665..8043322 100644
--- a/src/Close/Services/Interfaces/IRequestOptions.cs
+++ b/src/Close/Interfaces/IRequestOptions.cs
@@ -1,4 +1,4 @@
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IRequestOptions
{
diff --git a/src/Close/Services/Interfaces/IRetrievable.cs b/src/Close/Interfaces/IRetrievable.cs
similarity index 70%
rename from src/Close/Services/Interfaces/IRetrievable.cs
rename to src/Close/Interfaces/IRetrievable.cs
index 9aafd59..2b98e77 100644
--- a/src/Close/Services/Interfaces/IRetrievable.cs
+++ b/src/Close/Interfaces/IRetrievable.cs
@@ -1,6 +1,4 @@
-using Close.Models.Common;
-
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IRetrievable where TEntity : ICloseEntity
{
diff --git a/src/Close/Services/Interfaces/IUpdatable.cs b/src/Close/Interfaces/IUpdatable.cs
similarity index 79%
rename from src/Close/Services/Interfaces/IUpdatable.cs
rename to src/Close/Interfaces/IUpdatable.cs
index 6e5e9d9..1a9865c 100644
--- a/src/Close/Services/Interfaces/IUpdatable.cs
+++ b/src/Close/Interfaces/IUpdatable.cs
@@ -1,6 +1,4 @@
-using Close.Models.Common;
-
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IUpdatable where TEntity : ICloseEntity where TUpdateOptions : IUpdateOptions, new()
{
diff --git a/src/Close/Services/Interfaces/IUpdateOptions.cs b/src/Close/Interfaces/IUpdateOptions.cs
similarity index 52%
rename from src/Close/Services/Interfaces/IUpdateOptions.cs
rename to src/Close/Interfaces/IUpdateOptions.cs
index 86785da..48a7842 100644
--- a/src/Close/Services/Interfaces/IUpdateOptions.cs
+++ b/src/Close/Interfaces/IUpdateOptions.cs
@@ -1,4 +1,4 @@
-namespace Close.Services.Interfaces;
+namespace Close.Interfaces;
public interface IUpdateOptions
{
diff --git a/src/Close/Models/Activities/Notes/Note.cs b/src/Close/Models/Activities/Notes/Note.cs
new file mode 100644
index 0000000..7b66438
--- /dev/null
+++ b/src/Close/Models/Activities/Notes/Note.cs
@@ -0,0 +1,46 @@
+using System.Text.Json.Serialization;
+using Close.Interfaces;
+
+namespace Close.Models.Activities.Notes;
+
+public class Note : ICloseEntity, IHasCreatedBy, IHasUpdatedBy
+{
+ [JsonPropertyName("id")]
+ public string Id { get; set; }
+
+ [JsonPropertyName("lead_id")]
+ public string LeadId { get; set; }
+
+ [JsonPropertyName("user_id")]
+ public string UserId { get; set; }
+
+ [JsonPropertyName("user_name")]
+ public string UserName { get; set; }
+
+ [JsonPropertyName("organization_id")]
+ public string OrganizationId { get; set; }
+
+ [JsonPropertyName("contact_id")]
+ public string ContactId { get; set; }
+
+ [JsonPropertyName("note_html")]
+ public string NoteHtml { get; set; }
+
+ [JsonPropertyName("created_by_name")]
+ public string CreatedByName { get; set; }
+
+ [JsonPropertyName("date_created")]
+ public DateTimeOffset DateCreated { get; set; }
+
+ [JsonPropertyName("created_by")]
+ public string CreatedBy { get; set; }
+
+ [JsonPropertyName("updated_by_name")]
+ public string UpdatedByName { get; set; }
+
+ [JsonPropertyName("date_updated")]
+ public DateTimeOffset? DateUpdated { get; set; }
+
+ [JsonPropertyName("updated_by")]
+ public string UpdatedBy { get; set; }
+}
\ No newline at end of file
diff --git a/src/Close/Models/Activities/Notes/NoteCreateOptions.cs b/src/Close/Models/Activities/Notes/NoteCreateOptions.cs
new file mode 100644
index 0000000..4fd42b5
--- /dev/null
+++ b/src/Close/Models/Activities/Notes/NoteCreateOptions.cs
@@ -0,0 +1,16 @@
+using System.Text.Json.Serialization;
+using Close.Interfaces;
+
+namespace Close.Models.Activities.Notes;
+
+public class NoteCreateOptions : ICreateOptions
+{
+ [JsonPropertyName("lead_id")]
+ public string LeadId { get; set; }
+
+ [JsonPropertyName("note")]
+ public string Note { get; set; }
+
+ [JsonPropertyName("note_html")]
+ public string NoteHtml { get; set; }
+}
\ No newline at end of file
diff --git a/src/Close/Models/Activities/Notes/NoteListOptions.cs b/src/Close/Models/Activities/Notes/NoteListOptions.cs
new file mode 100644
index 0000000..0b41208
--- /dev/null
+++ b/src/Close/Models/Activities/Notes/NoteListOptions.cs
@@ -0,0 +1,22 @@
+using System.Text.Json.Serialization;
+using Close.Models.Common;
+
+namespace Close.Models.Activities.Notes;
+
+public class NoteListOptions : IListOptions
+{
+ [JsonPropertyName("_skip")]
+ public int? Skip { get; set; }
+
+ [JsonPropertyName("_limit")]
+ public int? Limit { get; set; }
+
+ [JsonPropertyName("_fields")]
+ public string[] Fields { get; set; }
+
+ [JsonPropertyName("query")]
+ public string Query { get; set; }
+
+ [JsonPropertyName("lead_saved_search_id")]
+ public string LeadSavedSearchId { get; set; }
+}
\ No newline at end of file
diff --git a/src/Close/Models/Activities/Notes/NoteUpdateOptions.cs b/src/Close/Models/Activities/Notes/NoteUpdateOptions.cs
new file mode 100644
index 0000000..6a4a949
--- /dev/null
+++ b/src/Close/Models/Activities/Notes/NoteUpdateOptions.cs
@@ -0,0 +1,13 @@
+using System.Text.Json.Serialization;
+using Close.Interfaces;
+
+namespace Close.Models.Activities.Notes;
+
+public class NoteUpdateOptions : IUpdateOptions
+{
+ [JsonPropertyName("note")]
+ public string Note { get; set; }
+
+ [JsonPropertyName("note_html")]
+ public string NoteHtml { get; set; }
+}
\ No newline at end of file
diff --git a/src/Close/Models/Common/CloseList.cs b/src/Close/Models/Common/CloseList.cs
index 1217f1d..a41dd1f 100644
--- a/src/Close/Models/Common/CloseList.cs
+++ b/src/Close/Models/Common/CloseList.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Common;
diff --git a/src/Close/Models/Common/IListOptions.cs b/src/Close/Models/Common/IListOptions.cs
index 9f342a8..e19945b 100644
--- a/src/Close/Models/Common/IListOptions.cs
+++ b/src/Close/Models/Common/IListOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Common;
diff --git a/src/Close/Models/Contacts/Contact.cs b/src/Close/Models/Contacts/Contact.cs
index ad6c14c..6479668 100644
--- a/src/Close/Models/Contacts/Contact.cs
+++ b/src/Close/Models/Contacts/Contact.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
namespace Close.Models.Contacts;
diff --git a/src/Close/Models/Events/Event.cs b/src/Close/Models/Events/Event.cs
index c6f4894..5ddde07 100644
--- a/src/Close/Models/Events/Event.cs
+++ b/src/Close/Models/Events/Event.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
namespace Close.Models.Events;
diff --git a/src/Close/Models/Leads/Lead.cs b/src/Close/Models/Leads/Lead.cs
index b104857..34ad67e 100644
--- a/src/Close/Models/Leads/Lead.cs
+++ b/src/Close/Models/Leads/Lead.cs
@@ -1,8 +1,8 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Contacts;
using Close.Models.Opportunities;
-using Close.Services.Interfaces;
namespace Close.Models.Leads;
diff --git a/src/Close/Models/Leads/LeadCreateOptions.cs b/src/Close/Models/Leads/LeadCreateOptions.cs
index 752c737..13bdb2c 100644
--- a/src/Close/Models/Leads/LeadCreateOptions.cs
+++ b/src/Close/Models/Leads/LeadCreateOptions.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Contacts;
-using Close.Services.Interfaces;
namespace Close.Models.Leads;
diff --git a/src/Close/Models/Leads/LeadUpdateOptions.cs b/src/Close/Models/Leads/LeadUpdateOptions.cs
index 732dd07..ef4c4e7 100644
--- a/src/Close/Models/Leads/LeadUpdateOptions.cs
+++ b/src/Close/Models/Leads/LeadUpdateOptions.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Contacts;
-using Close.Services.Interfaces;
namespace Close.Models.Leads;
diff --git a/src/Close/Models/Opportunities/Opportunity.cs b/src/Close/Models/Opportunities/Opportunity.cs
index 62c27b3..64c5e91 100644
--- a/src/Close/Models/Opportunities/Opportunity.cs
+++ b/src/Close/Models/Opportunities/Opportunity.cs
@@ -1,7 +1,7 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Statuses;
-using Close.Services.Interfaces;
namespace Close.Models.Opportunities;
diff --git a/src/Close/Models/Opportunities/OpportunityCreateOptions.cs b/src/Close/Models/Opportunities/OpportunityCreateOptions.cs
index 5ddfe3c..b5d6d0b 100644
--- a/src/Close/Models/Opportunities/OpportunityCreateOptions.cs
+++ b/src/Close/Models/Opportunities/OpportunityCreateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Opportunities;
diff --git a/src/Close/Models/Opportunities/OpportunityUpdateOptions.cs b/src/Close/Models/Opportunities/OpportunityUpdateOptions.cs
index e4bf846..baa3a78 100644
--- a/src/Close/Models/Opportunities/OpportunityUpdateOptions.cs
+++ b/src/Close/Models/Opportunities/OpportunityUpdateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Opportunities;
diff --git a/src/Close/Models/Pipelines/Pipeline.cs b/src/Close/Models/Pipelines/Pipeline.cs
index 041d23a..9f4af71 100644
--- a/src/Close/Models/Pipelines/Pipeline.cs
+++ b/src/Close/Models/Pipelines/Pipeline.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Statuses;
-using Close.Services.Interfaces;
namespace Close.Models.Pipelines;
diff --git a/src/Close/Models/Pipelines/PipelineCreateOptions.cs b/src/Close/Models/Pipelines/PipelineCreateOptions.cs
index c91304d..96d1b6a 100644
--- a/src/Close/Models/Pipelines/PipelineCreateOptions.cs
+++ b/src/Close/Models/Pipelines/PipelineCreateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Pipelines;
diff --git a/src/Close/Models/Pipelines/PipelineUpdateOptions.cs b/src/Close/Models/Pipelines/PipelineUpdateOptions.cs
index 01c7a48..b2da93c 100644
--- a/src/Close/Models/Pipelines/PipelineUpdateOptions.cs
+++ b/src/Close/Models/Pipelines/PipelineUpdateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Pipelines;
diff --git a/src/Close/Models/Statuses/LeadStatus.cs b/src/Close/Models/Statuses/LeadStatus.cs
index 9c33deb..14918ef 100644
--- a/src/Close/Models/Statuses/LeadStatus.cs
+++ b/src/Close/Models/Statuses/LeadStatus.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Statuses/LeadStatusCreateOptions.cs b/src/Close/Models/Statuses/LeadStatusCreateOptions.cs
index c8ea5b9..a5f3627 100644
--- a/src/Close/Models/Statuses/LeadStatusCreateOptions.cs
+++ b/src/Close/Models/Statuses/LeadStatusCreateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Statuses/LeadStatusUpdateOptions.cs b/src/Close/Models/Statuses/LeadStatusUpdateOptions.cs
index 80b500b..6afe070 100644
--- a/src/Close/Models/Statuses/LeadStatusUpdateOptions.cs
+++ b/src/Close/Models/Statuses/LeadStatusUpdateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Statuses/OpportunityStatus.cs b/src/Close/Models/Statuses/OpportunityStatus.cs
index b8cb6e3..5f05940 100644
--- a/src/Close/Models/Statuses/OpportunityStatus.cs
+++ b/src/Close/Models/Statuses/OpportunityStatus.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Statuses/OpportunityStatusCreateOptions.cs b/src/Close/Models/Statuses/OpportunityStatusCreateOptions.cs
index 8445195..e76f3ff 100644
--- a/src/Close/Models/Statuses/OpportunityStatusCreateOptions.cs
+++ b/src/Close/Models/Statuses/OpportunityStatusCreateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Statuses/OpportunityStatusUpdateOptions.cs b/src/Close/Models/Statuses/OpportunityStatusUpdateOptions.cs
index d7cf720..3b05d18 100644
--- a/src/Close/Models/Statuses/OpportunityStatusUpdateOptions.cs
+++ b/src/Close/Models/Statuses/OpportunityStatusUpdateOptions.cs
@@ -1,5 +1,5 @@
using System.Text.Json.Serialization;
-using Close.Services.Interfaces;
+using Close.Interfaces;
namespace Close.Models.Statuses;
diff --git a/src/Close/Models/Tasks/Task.cs b/src/Close/Models/Tasks/Task.cs
index 5963546..92187cc 100644
--- a/src/Close/Models/Tasks/Task.cs
+++ b/src/Close/Models/Tasks/Task.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Common;
-using Close.Services.Interfaces;
namespace Close.Models.Tasks;
diff --git a/src/Close/Models/Webhooks/Webhook.cs b/src/Close/Models/Webhooks/Webhook.cs
index 41c5ef1..7da394f 100644
--- a/src/Close/Models/Webhooks/Webhook.cs
+++ b/src/Close/Models/Webhooks/Webhook.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
+using Close.Interfaces;
using Close.Models.Events;
-using Close.Services.Interfaces;
namespace Close.Models.Webhooks;
diff --git a/src/Close/Services/Activities/Notes.cs b/src/Close/Services/Activities/Notes.cs
new file mode 100644
index 0000000..7927378
--- /dev/null
+++ b/src/Close/Services/Activities/Notes.cs
@@ -0,0 +1,38 @@
+using Close.Helpers;
+using Close.Interfaces;
+using Close.Models.Activities.Notes;
+using Close.Models.Common;
+
+namespace Close.Services.Activities;
+
+public class Notes : ActivityService, ICreatable, IUpdatable, IRetrievable, IListable, IDeletable
+{
+ public Notes(CloseClient closeClient, string endpoint) : base(closeClient, endpoint)
+ {
+ }
+
+ public async Task CreateAsync(NoteCreateOptions createOptions, CancellationToken cancellationToken = default)
+ {
+ return await _request.CreateEntityAsync(createOptions, cancellationToken);
+ }
+
+ public async Task UpdateAsync(string id, NoteUpdateOptions updateOptions, CancellationToken cancellationToken = default)
+ {
+ return await _request.UpdateEntityAsync(id, updateOptions, cancellationToken);
+ }
+
+ public async Task GetAsync(string id, CancellationToken cancellationToken = default)
+ {
+ return await _request.GetEntityAsync(id, cancellationToken);
+ }
+
+ public async Task> ListAsync(NoteListOptions options, CancellationToken cancellationToken = default)
+ {
+ return await _request.ListEntitiesAsync(options, cancellationToken);
+ }
+
+ public async Task DeleteAsync(string id, CancellationToken cancellationToken = default)
+ {
+ await _request.DeleteEntityAsync(id, cancellationToken);
+ }
+}
\ No newline at end of file
diff --git a/src/Close/Services/Activity.cs b/src/Close/Services/Activity.cs
new file mode 100644
index 0000000..42eeaff
--- /dev/null
+++ b/src/Close/Services/Activity.cs
@@ -0,0 +1,22 @@
+using Close.Services.Activities;
+
+namespace Close.Services;
+
+public interface IActivity
+{
+ Notes Notes { get; }
+}
+
+public class Activity : IActivity
+{
+ private readonly CloseClient _closeClient;
+ private readonly string _endpoint;
+
+ public Activity(CloseClient closeClient, string endpoint)
+ {
+ _closeClient = closeClient;
+ _endpoint = endpoint;
+ }
+
+ public Notes Notes => new(_closeClient, $"{_endpoint}/note");
+}
\ No newline at end of file
diff --git a/src/Close/Services/LeadStatuses.cs b/src/Close/Services/LeadStatuses.cs
index 3a21616..53e203e 100644
--- a/src/Close/Services/LeadStatuses.cs
+++ b/src/Close/Services/LeadStatuses.cs
@@ -1,6 +1,7 @@
+using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Statuses;
-using Close.Services.Interfaces;
namespace Close.Services;
diff --git a/src/Close/Services/Leads.cs b/src/Close/Services/Leads.cs
index 02d5679..7f8f798 100644
--- a/src/Close/Services/Leads.cs
+++ b/src/Close/Services/Leads.cs
@@ -1,6 +1,7 @@
+using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Leads;
-using Close.Services.Interfaces;
namespace Close.Services;
diff --git a/src/Close/Services/Opportunities.cs b/src/Close/Services/Opportunities.cs
index 171cb75..9998d89 100644
--- a/src/Close/Services/Opportunities.cs
+++ b/src/Close/Services/Opportunities.cs
@@ -1,7 +1,8 @@
+using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Leads;
using Close.Models.Opportunities;
-using Close.Services.Interfaces;
namespace Close.Services;
diff --git a/src/Close/Services/OpportunityStatuses.cs b/src/Close/Services/OpportunityStatuses.cs
index ebbe8b2..bff3781 100644
--- a/src/Close/Services/OpportunityStatuses.cs
+++ b/src/Close/Services/OpportunityStatuses.cs
@@ -1,6 +1,7 @@
+using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Statuses;
-using Close.Services.Interfaces;
namespace Close.Services;
diff --git a/src/Close/Services/Pipelines.cs b/src/Close/Services/Pipelines.cs
index 39f1034..5e0ed53 100644
--- a/src/Close/Services/Pipelines.cs
+++ b/src/Close/Services/Pipelines.cs
@@ -1,6 +1,7 @@
+using Close.Helpers;
+using Close.Interfaces;
using Close.Models.Common;
using Close.Models.Pipelines;
-using Close.Services.Interfaces;
namespace Close.Services;