Unstoppable Domains domain-management API

Comprehensive domain updates — modify nameservers, DNSSEC, contacts, flags, and DNS records in a single request.

Operations 6

PATCH /domains/{name} Update a domain #
POST /mcp/v1/actions/ud_domain_auto_renewal_update Enable or disable auto renewal for ICANN DNS domains #
POST /mcp/v1/actions/ud_domain_tags_add Add tags to domains #
POST /mcp/v1/actions/ud_domain_tags_remove Remove tags from domains #
POST /mcp/v1/actions/ud_domain_flags_update Update domain flags #
POST /mcp/v1/actions/ud_domain_push Push domains to another user #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unstoppable-domains-domain-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unstoppable-domains-domain-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unstoppable Domains Domain Management API
  version: 1.0.0
  x-refined-note:
  - x-logo differs across the merged source definitions and was not carried
  description: 'Operations tagged domain-management across 2 of this provider''s published API definitions: unstoppable-domains-reseller-api-openapi.yaml, unstoppable-domains-user-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.unstoppabledomains.com/partner/v3
  description: Production
- url: https://api.ud-sandbox.com/partner/v3
  description: Sandbox
- url: https://api.unstoppabledomains.com
  description: Production server
tags:
- name: domain-management
  description: 'Comprehensive domain updates — modify nameservers, DNSSEC, contacts, flags, and DNS records in a single request.

    '
  x-displayName: Domain Management
paths:
  /domains/{name}:
    patch:
      operationId: updateDomain
      summary: Update a domain
      description: Comprehensive domain update — modify nameservers, DNSSEC, contacts, flags, and DNS records in a single operation. All fields are optional; only include the sections you want to change. Returns an operation that tracks all the resulting changes.
      tags:
      - domain-management
      parameters:
      - name: name
        required: true
        in: path
        schema:
          type: string
        description: Domain name
      - name: $preview
        required: true
        in: query
        schema:
          type: boolean
          default: false
        description: Preview mode — validate the request without executing changes.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DomainUpdateRequestBody'
      responses:
        '200':
          description: Update operation created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainOperationResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer: []
    servers:
    - url: https://api.unstoppabledomains.com/partner/v3
      description: Production
    - url: https://api.ud-sandbox.com/partner/v3
      description: Sandbox
  /mcp/v1/actions/ud_domain_auto_renewal_update:
    post:
      operationId: domainAutoRenewalUpdate
      summary: Enable or disable auto renewal for ICANN DNS domains
      description: Enable or disable auto renewal for ICANN DNS domains (.com, .net, .org, .io, etc.). When enabled, domains will be automatically renewed before expiration using the saved payment method. User must own the domains and have a valid payment method on file. Use ud_cart_get_payment_methods to retrieve available payment methods.
      tags:
      - domain-management
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - action
              - domains
              properties:
                action:
                  type: string
                  enum:
                  - enable
                  - disable
                  description: 'Action to perform: "enable" or "disable" auto renewal'
                domains:
                  type: array
                  items:
                    type: object
                    required:
                    - name
                    properties:
                      name:
                        type: string
                        description: Full domain name (e.g., "example.com")
                  minItems: 1
                  maxItems: 50
                  description: Array of domains to update auto renewal for
                paymentMethodId:
                  type: string
                  description: Payment method ID for enabling. Use ud_cart_get_payment_methods to retrieve available payment methods. If not provided, uses default card.
      responses:
        '200':
          description: Auto renewal update results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoRenewalUpdateResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_domain_tags_add:
    post:
      operationId: domainTagsAdd
      summary: Add tags to domains
      description: Add tags to domains in your portfolio. Creates new tags automatically if they don't exist. Supports bulk operations for up to 50 domains.
      tags:
      - domain-management
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - domains
              - tags
              properties:
                domains:
                  type: array
                  items:
                    type: string
                    minLength: 1
                  minItems: 1
                  maxItems: 50
                  description: Array of domain names to add tags to (e.g., ["example.com", "mysite.io"])
                  example:
                  - example.com
                  - mysite.io
                tags:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 20
                  minItems: 1
                  maxItems: 10
                  description: Array of tag names to add (e.g., ["Work", "Important"]). Max 20 characters each.
                  example:
                  - Work
                  - Important
      responses:
        '200':
          description: Tags added to domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddDomainTagsResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_domain_tags_remove:
    post:
      operationId: domainTagsRemove
      summary: Remove tags from domains
      description: Remove tags from domains in your portfolio. Supports bulk operations for up to 50 domains.
      tags:
      - domain-management
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - domains
              - tags
              properties:
                domains:
                  type: array
                  items:
                    type: string
                    minLength: 1
                  minItems: 1
                  maxItems: 50
                  description: Array of domain names to remove tags from (e.g., ["example.com", "mysite.io"])
                  example:
                  - example.com
                  - mysite.io
                tags:
                  type: array
                  items:
                    type: string
                    minLength: 1
                  minItems: 1
                  maxItems: 10
                  description: Array of tag names to remove (e.g., ["Work", "Old"])
                  example:
                  - Work
                  - Old
      responses:
        '200':
          description: Tags removed from domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveDomainTagsResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_domain_flags_update:
    post:
      operationId: domainFlagsUpdate
      summary: Update domain flags
      description: Update domain flags (WHOIS privacy, transfer lock) for domains in your portfolio. Supports bulk operations for up to 50 domains.
      tags:
      - domain-management
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - domains
              - flags
              properties:
                domains:
                  type: array
                  items:
                    type: string
                    minLength: 1
                  minItems: 1
                  maxItems: 50
                  description: Array of domain names to update (e.g., ["example.com", "mysite.io"])
                  example:
                  - example.com
                  - mysite.io
                flags:
                  type: object
                  description: Flags to update
                  properties:
                    DNS_TRANSFER_OUT:
                      type: object
                      properties:
                        status:
                          type: string
                          enum:
                          - ENABLED
                          - DISABLED
                          description: ENABLED = transfers allowed, DISABLED = transfers blocked
                    DNS_WHOIS_PROXY:
                      type: object
                      properties:
                        status:
                          type: string
                          enum:
                          - ENABLED
                          - DISABLED
                          description: ENABLED = personal info hidden, DISABLED = personal info public
      responses:
        '200':
          description: Flags updated for domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateDomainFlagsResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
  /mcp/v1/actions/ud_domain_push:
    post:
      operationId: domainPush
      summary: Push domains to another user
      description: Push domains to another Unstoppable Domains user. Requires MFA (two-factor authentication) verification. The recipient must accept the transfer.
      tags:
      - domain-management
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - domains
              - targetAccountId
              - otpCode
              properties:
                domains:
                  type: array
                  items:
                    type: string
                    minLength: 1
                  minItems: 1
                  maxItems: 50
                  description: Array of domain names to push (e.g., ["example.com", "mysite.io"])
                  example:
                  - example.com
                  - mysite.io
                targetAccountId:
                  type: string
                  minLength: 1
                  description: Recipient's account ID in format "adjective-noun-xxx" (e.g., "brave-tiger-k7m")
                  example: brave-tiger-k7m
                otpCode:
                  type: string
                  pattern: ^\d{6}$
                  description: 6-digit OTP code from your authenticator app
                  example: '123456'
      responses:
        '200':
          description: Push initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushDomainsResponse'
        '401':
          description: Authentication required
    servers:
    - url: https://api.unstoppabledomains.com
      description: Production server
components:
  schemas:
    PlatformOperationDomainDnsSecuritySetDnssec:
      type: object
      description: Configures DNSSEC DS records at the registry for a domain
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_DNS_SECURITY_SET_DNSSEC
        parameters:
          type: object
          properties:
            domain:
              type: string
              description: Domain name
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    DomainDnsRecordCreateRequestBody:
      type: object
      properties:
        subName:
          type: string
          description: Subdomain name (e.g., "www", "mail"). Omit or leave empty for the apex domain.
        type:
          enum:
          - A
          - AAAA
          - ALIAS
          - CAA
          - CNAME
          - DNSKEY
          - DS
          - HTTPS
          - IPSECKEY
          - MX
          - NAPTR
          - NS
          - PTR
          - SOA
          - SPF
          - SRV
          - SSHFP
          - SVCB
          - TLSA
          - TXT
          type: string
          description: DNS record type. Case-insensitive — values are uppercased automatically.
        values:
          minItems: 1
          type: array
          items:
            type: string
            maxLength: 1000
        ttl:
          type: number
          maximum: 2147483647
          minimum: 1
        $upsert:
          enum:
          - REPLACE
          - APPEND
          - DISALLOWED
          type: string
          description: 'Upsert mode for handling conflicts with existing records. Case-insensitive. REPLACE: overwrite existing record values. APPEND: add values to existing record. DISALLOWED: fail if record exists.'
        $forceCompatibility:
          type: boolean
          default: false
      required:
      - type
      - values
      - ttl
      - $forceCompatibility
      description: Create a DNS record. The `type` and `$upsert` fields are case-insensitive (automatically uppercased).
    DomainFlagUpdateRequestBody:
      type: object
      properties:
        DNS_RESOLUTION:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
        DNS_TRANSFER_OUT:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
        DNS_DELETE:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
        DNS_UPDATE:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
        DNS_RENEW:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
        DNS_WHOIS_PROXY:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBodyFlag'
      description: Update domain flag settings. Only include the flags you want to change — omitted flags remain unchanged.
    DomainOperationResponse:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.DomainOperationResult
        operation:
          $ref: '#/components/schemas/OperationCheckResponse'
      required:
      - '@type'
      - operation
    OperationCheckResponse:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.Operation
        id:
          type: string
          description: Operation ID
          pattern: ^op-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          example: op-a1b2c3d4-e5f6-7890-abcd-ef1234567890
        status:
          enum:
          - PREVIEW
          - QUEUED
          - PROCESSING
          - FAILED
          - COMPLETED
          - CANCELLED
          - AWAITING_UPDATES
          type: string
        type:
          type: string
          enum:
          - ADMIN_GENERIC
          - DOMAIN_ADMIN_UPDATE
          - DOMAIN_RENEW
          - ACCOUNT_UPDATE
          - DOMAIN_DNS_RECORD_CREATE
          - DOMAIN_DNS_RECORD_UPDATE
          - DOMAIN_DNS_RECORD_DELETE
          - DOMAIN_DNS_RECORD_BATCH
          - DOMAIN_DNS_SECURITY_ENABLE
          - DOMAIN_DNS_SECURITY_DELETE
          - DOMAIN_DNS_NAME_SERVER_UPDATE
          - DOMAIN_HOSTING_UPDATE
          - DOMAIN_HOSTING_DISABLE
          - DOMAIN_TRANSFER_OUT
          - DOMAIN_TRANSFER_OUT_TOGGLE
          - DOMAIN_FLAGS_UPDATE
          - DOMAIN_CONTACTS_UPDATE
          - CONTACT_CREATE
          - DOMAIN_SUGGESTION_CREATE
          - DOMAIN_SUGGESTION_REFRESH
          - DOMAIN_ADMIN_DNS_ZONE_MIGRATE
        domain:
          type: string
        createdAtTimestamp:
          type: number
        lastUpdatedTimestamp:
          type: number
        validUntilTimestamp:
          type: number
        dependencies:
          type: array
          description: List of platform operation dependencies that make up this operation
          items:
            $ref: '#/components/schemas/PlatformOperationDependency'
      required:
      - '@type'
      - id
      - status
      - type
      - createdAtTimestamp
      - lastUpdatedTimestamp
      - dependencies
    PlatformOperationStatus:
      type: string
      enum:
      - PREVIEW
      - QUEUED
      - PROCESSING
      - FAILED
      - COMPLETED
      - CANCELLED
      - AWAITING_UPDATES
      description: Status of a platform operation dependency
    PlatformOperationDnsRecordUpdate:
      type: object
      description: Updates an existing DNS record
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DNS_RECORD_UPDATE
        parameters:
          type: object
          properties:
            id:
              type: string
              description: DNS record ID to update
            values:
              type: array
              items:
                type: string
            ttl:
              type: integer
              description: Time-to-live in seconds
          required:
          - id
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    ContactPhoneRequestBody:
      type: object
      properties:
        number:
          type: string
          minLength: 6
          maxLength: 14
          description: Phone number digits (numeric string, 6-14 characters).
        dialingPrefix:
          type: string
          description: International dialing prefix (e.g., "+1" for US/CA, "+44" for UK).
          example: '+1'
      required:
      - number
      - dialingPrefix
      description: Phone number with international dialing prefix.
    PlatformOperationDomainFlagLockUpdate:
      type: object
      description: Updates domain flag lock settings (e.g., transfer lock, delete lock)
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_FLAG_LOCK_UPDATE
        parameters:
          type: object
          properties:
            locks:
              $ref: '#/components/schemas/DomainFlagLocks'
            policyLocks:
              $ref: '#/components/schemas/DomainFlagLocks'
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    PlatformOperationDomainRegister:
      type: object
      description: Registers a new domain with the specified owner contact and optional role contacts
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_REGISTER
        parameters:
          type: object
          properties:
            owner:
              $ref: '#/components/schemas/ContactAssignment'
            contacts:
              $ref: '#/components/schemas/NonRegistrantContacts'
            period:
              type: integer
              description: Registration period in years
              example: 1
          required:
          - owner
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    PlatformOperationContactCreate:
      type: object
      description: Creates a new contact for use in domain registration or management
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - CONTACT_CREATE
        parameters:
          type: object
          properties:
            purposes:
              type: array
              items:
                $ref: '#/components/schemas/ContactPurpose'
              description: Intended roles for this contact
              example:
              - OWNER
              - ADMIN
          required:
          - purposes
        result:
          type: object
          properties:
            id:
              type: string
              description: ID of the created contact
              example: ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890
          required:
          - id
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    PlatformOperationDomainSetNameServers:
      type: object
      description: Sets the nameservers for a domain (external nameservers or revert to UD-managed)
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_SET_NAMESERVERS
        parameters:
          type: object
          properties:
            items:
              type: array
              items:
                type: string
              description: Nameserver hostnames
              example:
              - ns1.example.com
              - ns2.example.com
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    ContactAssignment:
      type: object
      description: Reference to an existing or newly created contact
      properties:
        new:
          type: boolean
          description: Whether this contact is being newly created as part of this operation
        id:
          type: string
          description: Contact ID (present when new is false)
          example: con_abc12345-1234-1234-1234-abc123456789
      required:
      - new
    PlatformOperationDomainDnsSecurityDeleteDnssec:
      type: object
      description: Removes DNSSEC DS records from the registry for a domain
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_DNS_SECURITY_DELETE_DNSSEC
        parameters:
          type: object
          properties:
            domain:
              type: string
              description: Domain name
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    DomainOwnerContactRequestBody:
      type: object
      properties:
        tldData:
          $ref: '#/components/schemas/DomainOwnerContactTldSpecificRequestBody'
          description: TLD-specific data required for certain TLDs (e.g., CIRA requirements for .ca). Only applicable when creating a new contact (id is absent).
        id:
          type: string
          description: Existing contact ID. When provided, all other fields are ignored.
          pattern: ^ct-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          example: ct-a1b2c3d4-e5f6-7890-abcd-ef1234567890
        firstName:
          type: string
          maxLength: 100
        lastName:
          type: string
          maxLength: 100
        organization:
          type: string
          maxLength: 100
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code (e.g., "US", "CA", "GB"). Required when creating a new contact.
        street:
          type: string
          maxLength: 100
        city:
          type: string
          maxLength: 100
        postalCode:
          type: string
          description: Postal/ZIP code. Validated against the provided countryCode. Required when creating a new contact.
        stateProvince:
          type: string
          description: State or province. Validated against the provided countryCode. Required when creating a new contact.
        phone:
          $ref: '#/components/schemas/ContactPhoneRequestBody'
        email:
          type: string
          maxLength: 100
          format: email
      description: 'Provide EITHER an existing contact `id` (format: `ct-<uuid>`) OR the full set of inline contact fields to create a new contact. When `id` is provided, all other fields are ignored. When `id` is absent, the following fields are required: firstName, lastName, countryCode, street, city, postalCode, stateProvince, phone, email. For the owner (registrant) contact, an optional `tldData` field can provide TLD-specific data (e.g., CIRA requirements for .ca domains) when creating a new contact.'
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: VALIDATION
        message:
          type: string
          description: Human-readable error description
        errors:
          type: array
          description: Individual errors when code is MULTIPLE_ERRORS
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
            required:
            - code
      required:
      - code
    WebhookType:
      type: string
      enum:
      - OPERATION_FINISHED
      - OPERATION_ACTION_REQUIRED
      - OPERATION_CREATED
    DnsRecordType:
      type: string
      enum:
      - A
      - AAAA
      - ALIAS
      - CAA
      - CNAME
      - DNSKEY
      - DS
      - HTTPS
      - IPSECKEY
      - MX
      - NAPTR
      - NS
      - PTR
      - SOA
      - SPF
      - SRV
      - SSHFP
      - SVCB
      - TLSA
      - TXT
    DnssecDigestType:
      type: integer
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      description: DNSSEC digest type identifier (RFC 8624)
    DomainUpdateDnssecConfig:
      type: object
      description: DNSSEC configuration for UD-managed nameservers. Enable or disable DNSSEC signing.
      properties:
        enabled:
          type: boolean
          description: Set to `true` to enable DNSSEC, `false` to disable.
        $forceCompatibility:
          type: boolean
          default: false
          description: Force compatibility mode when enabling DNSSEC.
      required:
      - enabled
    PlatformOperationWebhookDelete:
      type: object
      description: Deletes a webhook subscription
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - WEBHOOK_DELETE
        parameters:
          type: object
          properties:
            id:
              type: string
              description: Webhook ID to delete
          required:
          - id
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - type
      - parameters
    DomainFlagStatus:
      type: string
      enum:
      - ENABLED
      - DISABLED
    DomainUpdateRequestBody:
      type: object
      description: Comprehensive domain update — change nameservers, DNSSEC, contacts, flags, and DNS records in a single request. All fields are optional; only include sections you want to change.
      properties:
        nameservers:
          $ref: '#/components/schemas/DomainUpdateNameserversConfig'
        dnssec:
          $ref: '#/components/schemas/DomainUpdateDnssecConfig'
        contacts:
          $ref: '#/components/schemas/DomainContactUpdatesRequestBody'
        flags:
          $ref: '#/components/schemas/DomainFlagUpdateRequestBody'
        records:
          $ref: '#/components/schemas/DomainUpdateRecordsConfig'
    DnssecAlgorithm:
      type: integer
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 10
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 23
      - 252
      - 253
      - 254
      description: DNSSEC algorithm identifier (RFC 8624)
    PlatformOperationDomainDnsContactSet:
      type: object
      description: Updates contact role assignments for the domain
      properties:
        id:
          type: string
          example: plop_abc12345-1234-1234-1234-abc123456789
        '@type':
          type: string
          enum:
          - unstoppabledomains.com/partner.v3.PlatformOperation
        status:
          $ref: '#/components/schemas/PlatformOperationStatus'
        type:
          type: string
          enum:
          - DOMAIN_DNS_CONTACT_SET
        parameters:
          type: object
          properties:
            owner:
              $ref: '#/components/schemas/ContactAssignment'
            admin:
              $ref: '#/components/schemas/ContactAssignment'
            billing:
              $ref: '#/components/schemas/ContactAssignment'
            tech:
              $ref: '#/components/schemas/ContactAssignment'
        error:
          $ref: '#/components/schemas/OperationDependencyError'
      required:
      - id
      - '@type'
      - status
      - 

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unstoppable-domains/refs/heads/main/openapi/unstoppable-domains-domain-management-api-openapi.yml