---
title: DNSSEC
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/python)

[DNS](https://developers.cloudflare.com/api/python/resources/dns)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# DNSSEC

##### [DNSSEC Details](https://developers.cloudflare.com/api/python/resources/dns/subresources/dnssec/methods/get)

dns.dnssec.get(DNSSECGetParams\*\*kwargs) -> [DNSSEC](<https://developers.cloudflare.com/api/python/resources/dns#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)>)

GET/zones/{zone\_id}/dnssec

##### [Edit DNSSEC Status](https://developers.cloudflare.com/api/python/resources/dns/subresources/dnssec/methods/edit)

dns.dnssec.edit(DNSSECEditParams\*\*kwargs) -> [DNSSEC](<https://developers.cloudflare.com/api/python/resources/dns#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)>)

PATCH/zones/{zone\_id}/dnssec

##### [Delete DNSSEC records](https://developers.cloudflare.com/api/python/resources/dns/subresources/dnssec/methods/delete)

dns.dnssec.delete(DNSSECDeleteParams\*\*kwargs) -> [DNSSECDeleteResponse](<https://developers.cloudflare.com/api/python/resources/dns#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec_delete_response%20%3E%20(schema)>)

DELETE/zones/{zone\_id}/dnssec

##### ModelsExpand Collapse

<details>

<summary>

class DNSSEC: …

</summary>

algorithm: Optional\[str]

Algorithm key code.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20algorithm">Link to this property</a>

digest: Optional\[str]

Digest hash.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20digest">Link to this property</a>

digest\_algorithm: Optional\[str]

Type of digest algorithm.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20digest_algorithm">Link to this property</a>

digest\_type: Optional\[str]

Coded type for digest algorithm.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20digest_type">Link to this property</a>

dnssec\_multi\_signer: Optional\[bool]

If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY records (except those automatically generated by Cloudflare) to be added to the zone.

See <a href="https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/">Multi-signer DNSSEC</a> for details.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20dnssec_multi_signer">Link to this property</a>

dnssec\_presigned: Optional\[bool]

If true, allows Cloudflare to transfer in a DNSSEC-signed zone including signatures from an external provider, without requiring Cloudflare to sign any records on the fly.

Note that this feature has some limitations. See <a href="https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec">Cloudflare as Secondary</a> for details.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20dnssec_presigned">Link to this property</a>

dnssec\_use\_nsec3: Optional\[bool]

If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined with setting dnssec\_presigned to true, this enables the use of NSEC3 records when transferring in from an external provider. If dnssec\_presigned is instead set to false (default), NSEC3 records will be generated and signed at request time.

See <a href="https://developers.cloudflare.com/dns/dnssec/enable-nsec3/">DNSSEC with NSEC3</a> for details.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20dnssec_use_nsec3">Link to this property</a>

ds: Optional\[str]

Full DS record.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20ds">Link to this property</a>

flags: Optional\[float]

Flag for DNSSEC record.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20flags">Link to this property</a>

key\_tag: Optional\[float]

Code for key tag.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20key_tag">Link to this property</a>

key\_type: Optional\[str]

Algorithm key type.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20key_type">Link to this property</a>

modified\_on: Optional\[datetime]

When DNSSEC was last modified.

formatdate-time

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20modified_on">Link to this property</a>

public\_key: Optional\[str]

Public key for DS record.

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20public_key">Link to this property</a>

<details>

<summary>

status: Optional\[Literal\["active", "pending", "disabled", 2 more]]

Status of DNSSEC, based on user-desired state and presence of necessary records.

</summary>

One of the following:

"active"

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

"pending"

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

"disabled"

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%202">Link to this property</a>

"pending-disabled"

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%203">Link to this property</a>

"error"

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%204">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

</details>

[Link to this property](<#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec%20%3E%20(schema)>)

str

[Link to this property](<#(resource)%20dns.dnssec%20%3E%20(model)%20dnssec_delete_response%20%3E%20(schema)>)

#### DNSSECZsk

##### [List DNSSEC ZSKs](https://developers.cloudflare.com/api/python/resources/dns/subresources/dnssec/subresources/zsk/methods/list)

dns.dnssec.zsk.list(ZskListParams\*\*kwargs) -> SyncSinglePage\[[ZskListResponse](<https://developers.cloudflare.com/api/python/resources/dns#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)>)]

GET/zones/{zone\_id}/dnssec/zsk

##### ModelsExpand Collapse

<details>

<summary>

class ZskListResponse: …

</summary>

<details>

<summary>

dnskey: Optional\[DNSKEY]

</summary>

algorithm: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Algorithm">Link to this property</a>

flags: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Flags">Link to this property</a>

<details>

<summary>

hdr: Optional\[DNSKEYHdr]

</summary>

class\_: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr%20%3E%20(property)%20Class">Link to this property</a>

name: Optional\[str]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr%20%3E%20(property)%20Name">Link to this property</a>

rdlength: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr%20%3E%20(property)%20Rdlength">Link to this property</a>

rrtype: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr%20%3E%20(property)%20Rrtype">Link to this property</a>

ttl: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr%20%3E%20(property)%20Ttl">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Hdr">Link to this property</a>

protocol: Optional\[int]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20Protocol">Link to this property</a>

public\_key: Optional\[str]

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY%20%3E%20(property)%20PublicKey">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20DNSKEY">Link to this property</a>

<details>

<summary>

location: Optional\[Literal\["database", "vault"]]

Storage backend where the DNSSEC key material is stored.

</summary>

One of the following:

"database"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Location%20%3E%20(member)%200">Link to this property</a>

"vault"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Location%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Location">Link to this property</a>

name: Optional\[str]

Internal key name for the ZSK.

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Name">Link to this property</a>

<details>

<summary>

signing\_key: Optional\[SigningKey]

</summary>

kek: Optional\[str]

Key encryption key name used to encrypt the private key.

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20SigningKey%20%3E%20(property)%20kek">Link to this property</a>

privkey: Optional\[str]

Encrypted private key material for the signing key.

formatbyte

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20SigningKey%20%3E%20(property)%20privkey">Link to this property</a>

pubkey: Optional\[str]

Public key content associated with the signing key.

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20SigningKey%20%3E%20(property)%20pubkey">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20SigningKey">Link to this property</a>

<details>

<summary>

tag: Optional\[Literal\["active", "publish", "external", 3 more]]

Lifecycle state tag attached to the DNSSEC key.

</summary>

One of the following:

"active"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%200">Link to this property</a>

"publish"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%201">Link to this property</a>

"external"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%202">Link to this property</a>

"retired"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%203">Link to this property</a>

"revoked"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%204">Link to this property</a>

"removed"

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag%20%3E%20(member)%205">Link to this property</a>

</details>

<a href="#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)%20%3E%20(property)%20Tag">Link to this property</a>

</details>

[Link to this property](<#(resource)%20dns.dnssec.zsk%20%3E%20(model)%20zsk_list_response%20%3E%20(schema)>)