> ## Documentation Index
> Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# [DNS Settings] Get DNSSEC status

> Read the DNSSEC status of a zone. While DNSSEC is pending or active, the response carries the DS record to publish at the registrar, its components, and the DNSKEY public key for registrars that ask for it instead. `domain_registered_with_us` says whether the domain is registered through this account, and `automatic_ds_publication` whether the DS record is published at the registrar automatically; when it is false, the DS record has to be added at the registrar.



## OpenAPI

````yaml https://api.onetsolutions.net/schema get /v1/organizations/{organization_id}/projects/{project_id}/dns-zones/{id}/dnssec
openapi: 3.0.3
info:
  title: OnetSolutions API
  version: v1 (v1)
  description: >

    ## Overview


    The OnetSolutions API provides programmatic access to manage your cloud
    infrastructure, domains, and web hosting services.


    ## Authentication


    All API requests require authentication using one of the following methods:


    - **JWT Token**: Obtain a token via login endpoints and include it in the
    `Authorization: Bearer <token>` header

    - **API Key**: Generate an API key from your account settings and use it as
    `Authorization: Bearer sk-onetsolutions-...`


    ## Rate Limiting


    API requests are rate-limited to ensure fair usage:

    - **Anonymous**: 60 requests per minute, per client IP address

    - **Authenticated**: 5000 requests per hour, per user


    Some endpoints, such as login and sign-up, apply stricter limits of their
    own.

    A request over the limit gets a `429` response whose `Retry-After` header
    gives the wait in seconds.


    ## Pagination


    Most list endpoints return paginated results. Use the `page` and `page_size`
    query parameters

    (at most 100 results per page). The response carries `count`, `next`,
    `previous`, `page`, `page_size`,

    `total_pages` and the `results` themselves.


    ## Error Handling


    The API uses standard HTTP status codes:

    - `200` Success

    - `201` Created

    - `204` No Content

    - `400` Bad Request

    - `401` Unauthorized

    - `403` Forbidden

    - `404` Not Found

    - `409` Conflict

    - `429` Too Many Requests

    - `500` Internal Server Error

    - `503` Service Unavailable


    Error responses carry a JSON body with `detail`, a human-readable message,
    and `code`, a stable

    machine-readable error code. Some errors add `context` with structured
    details, and `error`

    repeats `detail` for older clients. A request whose fields fail validation
    gets a `400` whose body maps each

    invalid field to its list of messages. A few older endpoints still answer
    with `error` alone.
servers:
  - url: https://api.onetsolutions.net
    description: Production
security: []
tags:
  - name: Authentication
    description: >-
      Login, passwordless authentication, MFA, OAuth providers, and token
      management.
  - name: Organizations
    description: >-
      Organization management, members, roles, modules, audit logs, and
      notification settings.
  - name: Projects
    description: Project management, team members, and project-scoped resources.
  - name: Compute
    description: >-
      Cloud instances, volumes, snapshots, backups, VPCs, firewalls, SSH keys,
      uptime monitors, and instance tasks.
  - name: Billing
    description: >-
      Shopping cart, orders, invoices, payments, payment methods, gateways,
      promo codes, and balance management.
  - name: Domains
    description: >-
      Domain availability, registration, transfers, DNS zones, DNS records, and
      TLD information.
  - name: Web Hosting
    description: >-
      cPanel-based web hosting, emails, databases, subdomains, FTP accounts,
      addon domains, and SSL certificates.
paths:
  /v1/organizations/{organization_id}/projects/{project_id}/dns-zones/{id}/dnssec:
    get:
      tags:
        - Domains
      summary: '[DNS Settings] Get DNSSEC status'
      description: >-
        Read the DNSSEC status of a zone. While DNSSEC is pending or active, the
        response carries the DS record to publish at the registrar, its
        components, and the DNSKEY public key for registrars that ask for it
        instead. `domain_registered_with_us` says whether the domain is
        registered through this account, and `automatic_ds_publication` whether
        the DS record is published at the registrar automatically; when it is
        false, the DS record has to be added at the registrar.
      operationId: get_dns_zone_dnssec
      parameters:
        - in: path
          name: id
          schema:
            type: string
          description: The unique identifier (UUID) of the DNS zone
          required: true
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: project_id
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DNSZoneDNSSEC'
          description: DNSSEC status of the zone
        '400':
          description: 'DNS zone is not provisioned yet (code: dns_zone_not_provisioned)'
        '401':
          description: Authentication credentials were not provided or are invalid
        '403':
          description: You do not have permission to access this DNS zone
        '404':
          description: DNS zone not found or does not belong to the specified project
        '503':
          description: The DNS provider is unavailable. Retry later
      security:
        - BearerAuth: []
components:
  schemas:
    DNSZoneDNSSEC:
      type: object
      properties:
        status:
          enum:
            - active
            - pending
            - disabled
            - pending_disabled
            - error
          type: string
          description: |-
            * `active` - active
            * `pending` - pending
            * `disabled` - disabled
            * `pending_disabled` - pending disabled
            * `error` - error
          x-spec-enum-id: affcf84a26e8783c
        ds_record:
          type: string
          nullable: true
          description: The DS record to publish at the registrar, in zone-file form
        key_tag:
          type: integer
          nullable: true
        algorithm:
          type: string
          nullable: true
        digest_type:
          type: string
          nullable: true
        digest:
          type: string
          nullable: true
        public_key:
          type: string
          nullable: true
          description: >-
            The DNSKEY public key, for registrars that ask for it instead of a
            DS record
        flags:
          type: integer
          nullable: true
        domain_registered_with_us:
          type: boolean
          description: >-
            Whether the domain this zone serves is registered through this
            account
        automatic_ds_publication:
          type: boolean
          description: Whether the DS record is published at the registrar automatically
      required:
        - algorithm
        - automatic_ds_publication
        - digest
        - digest_type
        - domain_registered_with_us
        - ds_record
        - flags
        - key_tag
        - public_key
        - status
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use `Authorization: Bearer <token>` header. Token can be a JWT token or
        an API key (format: `sk-onetsolutions-...`).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.