> ## 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.

# [Domains] Toggle WHOIS privacy protection

> Enable or disable WHOIS privacy protection for a domain. When enabled, the registrant's personal information (name, address, phone, email) is replaced with proxy contact details in public WHOIS queries. This helps protect against spam and unwanted contact. Note that some TLDs may not support WHOIS privacy or may have specific requirements.



## OpenAPI

````yaml https://api.onetsolutions.net/schema post /v1/organizations/{organization_id}/projects/{project_id}/domains/{id}/privacy/{action_type}
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:

    - **Standard**: 1000 requests per minute

    - **Burst**: 100 requests per second


    ## Pagination


    List endpoints return paginated results. Use `page` and `page_size` query
    parameters.


    ## Error Handling


    The API uses standard HTTP status codes:

    - `200` Success

    - `201` Created

    - `400` Bad Request

    - `401` Unauthorized

    - `403` Forbidden

    - `404` Not Found

    - `429` Too Many Requests
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: 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}/domains/{id}/privacy/{action_type}:
    post:
      tags:
        - Domains
      summary: '[Domains] Toggle WHOIS privacy protection'
      description: >-
        Enable or disable WHOIS privacy protection for a domain. When enabled,
        the registrant's personal information (name, address, phone, email) is
        replaced with proxy contact details in public WHOIS queries. This helps
        protect against spam and unwanted contact. Note that some TLDs may not
        support WHOIS privacy or may have specific requirements.
      operationId: toggle_domain_whois_privacy
      parameters:
        - in: path
          name: action_type
          schema:
            type: string
            pattern: ^enable|disable$
          required: true
        - in: path
          name: id
          schema:
            type: string
          description: The unique identifier (UUID) of the domain
          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:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainTask'
          description: WHOIS privacy toggle task created and queued for processing
        '400':
          description: WHOIS privacy is not supported for this TLD
        '401':
          description: Authentication credentials were not provided or are invalid
        '403':
          description: You do not have permission to modify WHOIS privacy for this domain
        '404':
          description: Domain not found or does not belong to the specified project
      security:
        - BearerAuth: []
components:
  schemas:
    DomainTask:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        task_type:
          enum:
            - register
            - transfer_in
            - transfer_out
            - renew
            - update_nameservers
            - update_contacts
            - get_epp_code
            - enable_whois_privacy
            - disable_whois_privacy
            - lock_domain
            - unlock_domain
            - create_dns_zone
            - delete_dns_zone
            - create_dns_record
            - update_dns_record
            - delete_dns_record
            - sync_dns_records
          type: string
          description: |-
            * `register` - register
            * `transfer_in` - transfer in
            * `transfer_out` - transfer out
            * `renew` - renew
            * `update_nameservers` - update nameservers
            * `update_contacts` - update contacts
            * `get_epp_code` - get epp code
            * `enable_whois_privacy` - enable whois privacy
            * `disable_whois_privacy` - disable whois privacy
            * `lock_domain` - lock domain
            * `unlock_domain` - unlock domain
            * `create_dns_zone` - create dns zone
            * `delete_dns_zone` - delete dns zone
            * `create_dns_record` - create dns record
            * `update_dns_record` - update dns record
            * `delete_dns_record` - delete dns record
            * `sync_dns_records` - sync dns records
          x-spec-enum-id: 6ee18353e5c18552
          readOnly: true
        status:
          enum:
            - pending
            - running
            - completed
            - failed
            - cancelled
          type: string
          description: |-
            * `pending` - pending
            * `running` - running
            * `completed` - completed
            * `failed` - failed
            * `cancelled` - cancelled
          x-spec-enum-id: 98ec782c9f2a2c36
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        started_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        completed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
      required:
        - completed_at
        - created
        - id
        - started_at
        - status
        - task_type
  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-...`).

````