diff --git a/Cloudflare/Cloudflare.csproj b/Cloudflare/Cloudflare.csproj
index 6716e16..406a3f6 100644
--- a/Cloudflare/Cloudflare.csproj
+++ b/Cloudflare/Cloudflare.csproj
@@ -32,7 +32,8 @@
Core features of the Cloudflare API
-
+
+
true
diff --git a/Extensions/Cloudflare.Zones/Cloudflare.Zones.csproj b/Extensions/Cloudflare.Zones/Cloudflare.Zones.csproj
index 4011bae..471b4b9 100644
--- a/Extensions/Cloudflare.Zones/Cloudflare.Zones.csproj
+++ b/Extensions/Cloudflare.Zones/Cloudflare.Zones.csproj
@@ -13,7 +13,8 @@
Zone management features of the Cloudflare API
-
+
+
true
diff --git a/Extensions/Cloudflare.Zones/Internals/Requests/InternalUpdateSecurityTxtRequest.cs b/Extensions/Cloudflare.Zones/Internals/Requests/InternalUpdateSecurityTxtRequest.cs
new file mode 100644
index 0000000..b1a950a
--- /dev/null
+++ b/Extensions/Cloudflare.Zones/Internals/Requests/InternalUpdateSecurityTxtRequest.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+
+namespace AMWD.Net.Api.Cloudflare.Zones.Internals.Requests
+{
+ internal class InternalUpdateSecurityTxtRequest
+ {
+ [JsonProperty("acknowledgements")]
+ public IList? Acknowledgements { get; set; }
+
+ [JsonProperty("canonical")]
+ public IList? Canonical { get; set; }
+
+ [JsonProperty("contact")]
+ public IList? Contact { get; set; }
+
+ [JsonProperty("enabled")]
+ public bool? Enabled { get; set; }
+
+ [JsonProperty("encryption")]
+ public IList? Encryption { get; set; }
+
+ [JsonProperty("expires")]
+ public DateTime? Expires { get; set; }
+
+ [JsonProperty("hiring")]
+ public IList? Hiring { get; set; }
+
+ [JsonProperty("policy")]
+ public IList? Policy { get; set; }
+
+ [JsonProperty("preferredLanguages")]
+ public string? PreferredLanguages { get; set; }
+ }
+}
diff --git a/Extensions/Cloudflare.Zones/Models/SecurityTxt.cs b/Extensions/Cloudflare.Zones/Models/SecurityTxt.cs
new file mode 100644
index 0000000..c5b19d8
--- /dev/null
+++ b/Extensions/Cloudflare.Zones/Models/SecurityTxt.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+
+namespace AMWD.Net.Api.Cloudflare.Zones
+{
+ ///
+ /// The security TXT record.
+ ///
+ public class SecurityTxt
+ {
+ ///
+ /// The acknowledgements.
+ ///
+ [JsonProperty("acknowledgements")]
+ public IList? Acknowledgements { get; set; }
+
+ ///
+ /// The canonical.
+ ///
+ [JsonProperty("canonical")]
+ public IList? Canonical { get; set; }
+
+ ///
+ /// The contact.
+ ///
+ [JsonProperty("contact")]
+ public IList? Contact { get; set; }
+
+ ///
+ /// A value indicating whether this security.txt is enabled.
+ ///
+ [JsonProperty("enabled")]
+ public bool? Enabled { get; set; }
+
+ ///
+ ///The encryption.
+ ///
+ [JsonProperty("encryption")]
+ public IList? Encryption { get; set; }
+
+ ///
+ /// The expiry.
+ ///
+ [JsonProperty("expires")]
+ public DateTime? Expires { get; set; }
+
+ ///
+ /// The hiring.
+ ///
+ [JsonProperty("hiring")]
+ public IList? Hiring { get; set; }
+
+ ///
+ /// The policies.
+ ///
+ [JsonProperty("policy")]
+ public IList? Policy { get; set; }
+
+ ///
+ /// The preferred languages.
+ ///
+ [JsonProperty("preferredLanguages")]
+ public string? PreferredLanguages { get; set; }
+ }
+}
diff --git a/Extensions/Cloudflare.Zones/Requests/UpdateSecurityTxtRequest.cs b/Extensions/Cloudflare.Zones/Requests/UpdateSecurityTxtRequest.cs
new file mode 100644
index 0000000..09a4c53
--- /dev/null
+++ b/Extensions/Cloudflare.Zones/Requests/UpdateSecurityTxtRequest.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+
+namespace AMWD.Net.Api.Cloudflare.Zones
+{
+ ///
+ /// Request to update security.txt
+ ///
+ public class UpdateSecurityTxtRequest(string zoneId)
+ {
+ ///
+ /// The zone identifier.
+ ///
+ public string ZoneId { get; set; } = zoneId;
+
+ ///
+ /// Gets or sets the acknowledgements.
+ ///
+ ///
+ /// Example: https://example.com/hall-of-fame.html
+ ///
+ public IList? Acknowledgements { get; set; }
+
+ ///
+ /// Gets or sets the canonical.
+ ///
+ ///
+ /// Example: https://www.example.com/.well-known/security.txt
+ ///
+ public IList? Canonical { get; set; }
+
+ ///
+ /// Gets or sets the contact.
+ ///
+ ///
+ /// Examples:
+ ///
+ /// - mailto:security@example.com
+ /// - tel:+1-201-555-0123
+ /// - https://example.com/security-contact.html
+ ///
+ ///
+ public IList? Contact { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether this security.txt is enabled.
+ ///
+ public bool? Enabled { get; set; }
+
+ ///
+ /// Gets or sets the encryption.
+ ///
+ ///
+ /// Examples:
+ ///
+ /// - https://example.com/pgp-key.txt
+ /// - dns:5d2d37ab76d47d36._openpgpkey.example.com?type=OPENPGPKEY
+ /// - openpgp4fpr:5f2de5521c63a801ab59ccb603d49de44b29100f
+ ///
+ ///
+ public IList? Encryption { get; set; }
+
+ ///
+ /// Gets or sets the expires.
+ ///
+ ///
+ /// NOTE: The value will be converted to UTC when the is not .
+ ///
+ public DateTime? Expires { get; set; }
+
+ ///
+ /// Gets or sets the hiring.
+ ///
+ ///
+ /// Example: https://example.com/jobs.html
+ ///
+ public IList? Hiring { get; set; }
+
+ ///
+ /// Gets or sets the policies.
+ ///
+ ///
+ /// Example: https://example.com/disclosure-policy.html
+ ///
+ public IList? Policy { get; set; }
+
+ ///
+ /// Gets or sets the preferred languages.
+ ///
+ ///
+ /// Examples:
+ ///
+ /// - en
+ /// - es
+ /// - fr
+ ///
+ ///
+ public IList? PreferredLanguages { get; set; }
+ }
+}
diff --git a/Extensions/Cloudflare.Zones/SecurityCenterExtensions.cs b/Extensions/Cloudflare.Zones/SecurityCenterExtensions.cs
new file mode 100644
index 0000000..c82f87b
--- /dev/null
+++ b/Extensions/Cloudflare.Zones/SecurityCenterExtensions.cs
@@ -0,0 +1,78 @@
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using AMWD.Net.Api.Cloudflare.Zones.Internals.Requests;
+
+namespace AMWD.Net.Api.Cloudflare.Zones
+{
+ ///
+ /// Extensions for security center section of a zone.
+ ///
+ public static class SecurityCenterExtensions
+ {
+ ///
+ /// Delete security.txt
+ ///
+ /// The .
+ /// The zone ID.
+ /// A cancellation token used to propagate notification that this operation should be canceled.
+ public static async Task DeleteSecurityTxt(this ICloudflareClient client, string zoneId, CancellationToken cancellationToken = default)
+ {
+ zoneId.ValidateCloudflareId();
+ return await client.DeleteAsync