swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: Domains API Client
  version: 2015-04-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2015-04-01/Domains.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: web-Domains
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  apiVersionParameter:
    description: API Version
    in: query
    name: api-version
    required: true
    type: string
  resourceGroupNameParameter:
    description: Name of the resource group to which the resource belongs.
    in: path
    maxLength: 90
    minLength: 1
    name: resourceGroupName
    pattern: ^[-\w\._\(\)]+[^\.]$
    required: true
    type: string
    x-ms-parameter-location: method
  subscriptionIdParameter:
    description: Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability":
    post:
      description: Check if a domain is available for registration.
      operationId: Domains_CheckAvailability
      parameters:
        - description: Name of the domain.
          in: body
          name: identifier
          required: true
          schema:
            description: Identifies an object.
            properties:
              name:
                description: Name of the object.
                type: string
            type: object
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainAvailablilityCheckResult"
      summary: Check if a domain is available for registration.
      tags:
        - Domains
  "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains":
    get:
      description: Get all domains in a subscription.
      operationId: Domains_List
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainCollection"
      summary: Get all domains in a subscription.
      tags:
        - Domains
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest":
    post:
      description: Generate a single sign-on request for the domain management portal.
      operationId: Domains_GetControlCenterSsoRequest
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainControlCenterSsoRequest"
      summary: Generate a single sign-on request for the domain management portal.
      tags:
        - Domains
  "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations":
    post:
      description: Get domain name recommendations based on keywords.
      operationId: Domains_ListRecommendations
      parameters:
        - description: Search parameters for domain name recommendations.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DomainRecommendationSearchParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/NameIdentifierCollection"
      summary: Get domain name recommendations based on keywords.
      tags:
        - Domains
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains":
    get:
      description: Get all domains in a resource group.
      operationId: Domains_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainCollection"
      summary: Get all domains in a resource group.
      tags:
        - Domains
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}":
    delete:
      description: Delete a domain.
      operationId: Domains_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the domain.
          in: path
          name: domainName
          required: true
          type: string
        - description: Specify <code>true</code> to delete the domain immediately. The default is <code>false</code> which deletes the domain after 24 hours.
          in: query
          name: forceHardDeleteDomain
          type: boolean
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Successfully deleted domain.
        "204":
          description: Domain does not exist in Azure database probably because it has already been deleted
      summary: Delete a domain.
      tags:
        - Domains
    get:
      description: Get a domain.
      operationId: Domains_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the domain.
          in: path
          name: domainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Domain"
      summary: Get a domain.
      tags:
        - Domains
    patch:
      description: Creates or updates a domain.
      operationId: Domains_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the domain.
          in: path
          name: domainName
          pattern: "[a-zA-Z0-9][a-zA-Z0-9\\.-]+"
          required: true
          type: string
        - description: Domain registration information.
          in: body
          name: domain
          required: true
          schema:
            $ref: "#/definitions/DomainPatchResource"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Domain purchase was successful.
          schema:
            $ref: "#/definitions/Domain"
        "202":
          description: Domain purchase is in progress.
          schema:
            $ref: "#/definitions/Domain"
      summary: Creates or updates a domain.
      tags:
        - Domains
    put:
      description: Creates or updates a domain.
      operationId: Domains_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the domain.
          in: path
          name: domainName
          pattern: "[a-zA-Z0-9][a-zA-Z0-9\\.-]+"
          required: true
          type: string
        - description: Domain registration information.
          in: body
          name: domain
          required: true
          schema:
            $ref: "#/definitions/Domain"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Domain purchase was successful.
          schema:
            $ref: "#/definitions/Domain"
        "202":
          description: Domain purchase is in progress.
          schema:
            $ref: "#/definitions/Domain"
      summary: Creates or updates a domain.
      tags:
        - Domains
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers":
    get:
      description: Lists domain ownership identifiers.
      operationId: Domains_ListOwnershipIdentifiers
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of domain.
          in: path
          name: domainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifierCollection"
      summary: Lists domain ownership identifiers.
      tags:
        - Domains
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}":
    delete:
      description: Delete ownership identifier for domain
      operationId: Domains_DeleteOwnershipIdentifier
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of domain.
          in: path
          name: domainName
          required: true
          type: string
        - description: Name of identifier.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Successfully deleted domain ownership identifier.
        "204":
          description: Domain ownership identifier does not exist.
      summary: Delete ownership identifier for domain
      tags:
        - Domains
    get:
      description: Get ownership identifier for domain
      operationId: Domains_GetOwnershipIdentifier
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of domain.
          in: path
          name: domainName
          required: true
          type: string
        - description: Name of identifier.
          in: path
          name: name
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifier"
      summary: Get ownership identifier for domain
      tags:
        - Domains
    patch:
      description: Creates an ownership identifier for a domain or updates identifier details for an existing identifer
      operationId: Domains_UpdateOwnershipIdentifier
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of domain.
          in: path
          name: domainName
          required: true
          type: string
        - description: Name of identifier.
          in: path
          name: name
          required: true
          type: string
        - description: A JSON representation of the domain ownership properties.
          in: body
          name: domainOwnershipIdentifier
          required: true
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifier"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifier"
      summary: Creates an ownership identifier for a domain or updates identifier details for an existing identifer
      tags:
        - Domains
    put:
      description: Creates an ownership identifier for a domain or updates identifier details for an existing identifer
      operationId: Domains_CreateOrUpdateOwnershipIdentifier
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of domain.
          in: path
          name: domainName
          required: true
          type: string
        - description: Name of identifier.
          in: path
          name: name
          required: true
          type: string
        - description: A JSON representation of the domain ownership properties.
          in: body
          name: domainOwnershipIdentifier
          required: true
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifier"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DomainOwnershipIdentifier"
      summary: Creates an ownership identifier for a domain or updates identifier details for an existing identifer
      tags:
        - Domains
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew":
    post:
      description: Renew a domain.
      operationId: Domains_Renew
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the domain.
          in: path
          name: domainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: Domain renewal was successful.
        "202":
          description: Domain renewal in progress.
        "204":
          description: Domain does not exist.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Renew a domain.
      tags:
        - Domains
      x-ms-examples:
        Renew an App Service Domain:
          parameters:
            api-version: 2015-04-01
            domainName: example.com
            resourceGroupName: RG
            subscriptionId: 3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545
          responses:
            "200": {}
            "202": {}
            "204": {}
definitions:
  Address:
    description: Address information for domain registration.
    properties:
      address1:
        description: First line of an Address.
        type: string
      address2:
        description: The second line of the Address. Optional.
        type: string
      city:
        description: The city for the address.
        type: string
      country:
        description: The country for the address.
        type: string
      postalCode:
        description: The postal code for the address.
        type: string
      state:
        description: The state or province for the address.
        type: string
    required:
      - address1
      - city
      - country
      - postalCode
      - state
    type: object
  Contact:
    description: |-
      Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois 
      directories as per ICANN requirements.
    properties:
      addressMailing:
        $ref: "#/definitions/Address"
        description: Mailing address.
      email:
        description: Email address.
        type: string
      fax:
        description: Fax number.
        type: string
      jobTitle:
        description: Job title.
        type: string
      nameFirst:
        description: First name.
        type: string
      nameLast:
        description: Last name.
        type: string
      nameMiddle:
        description: Middle name.
        type: string
      organization:
        description: Organization contact belongs to.
        type: string
      phone:
        description: Phone number.
        type: string
    required:
      - email
      - nameFirst
      - nameLast
      - phone
    type: object
  Domain:
    allOf:
      - description: Azure resource. This resource is tracked in Azure Resource Manager
        properties:
          id:
            description: Resource Id.
            readOnly: true
            type: string
          kind:
            description: Kind of resource.
            type: string
          location:
            description: Resource Location.
            type: string
          name:
            description: Resource Name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        required:
          - location
        x-ms-azure-resource: true
    description: Information about a domain.
    properties:
      properties:
        description: Domain resource specific properties
        properties:
          authCode:
            type: string
            x-ms-mutability:
              - create
              - read
          autoRenew:
            default: true
            description: <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>.
            type: boolean
          consent:
            $ref: "#/definitions/DomainPurchaseConsent"
            description: Legal agreement consent.
            x-ms-mutability:
              - create
          contactAdmin:
            $ref: "#/definitions/Contact"
            description: Administrative contact.
            x-ms-mutability:
              - create
          contactBilling:
            $ref: "#/definitions/Contact"
            description: Billing contact.
            x-ms-mutability:
              - create
          contactRegistrant:
            $ref: "#/definitions/Contact"
            description: Registrant contact.
            x-ms-mutability:
              - create
          contactTech:
            $ref: "#/definitions/Contact"
            description: Technical contact.
            x-ms-mutability:
              - create
          createdTime:
            description: Domain creation timestamp.
            format: date-time
            readOnly: true
            type: string
          dnsType:
            description: Current DNS type
            enum:
              - AzureDns
              - DefaultDomainRegistrarDns
            type: string
            x-ms-enum:
              modelAsString: false
              name: DnsType
          dnsZoneId:
            description: Azure DNS Zone to use
            type: string
          domainNotRenewableReasons:
            description: Reasons why domain is not renewable.
            items:
              enum:
                - RegistrationStatusNotSupportedForRenewal
                - ExpirationNotInRenewalTimeRange
                - SubscriptionNotActive
              type: string
            readOnly: true
            type: array
          expirationTime:
            description: Domain expiration timestamp.
            format: date-time
            readOnly: true
            type: string
          lastRenewedTime:
            description: Timestamp when the domain was renewed last time.
            format: date-time
            readOnly: true
            type: string
          managedHostNames:
            description: All hostnames derived from the domain and assigned to Azure resources.
            items:
              $ref: "#/definitions/HostName"
            readOnly: true
            type: array
          nameServers:
            description: Name servers.
            items:
              type: string
            readOnly: true
            type: array
          privacy:
            description: <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>.
            type: boolean
          provisioningState:
            description: Domain provisioning state.
            enum:
              - Succeeded
              - Failed
              - Canceled
              - InProgress
              - Deleting
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: false
              name: ProvisioningState
          readyForDnsRecordManagement:
            description: |-
              <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and 
               it is hosted on name servers Azure has programmatic access to.
            readOnly: true
            type: boolean
          registrationStatus:
            description: Domain registration status.
            enum:
              - Active
              - Awaiting
              - Cancelled
              - Confiscated
              - Disabled
              - Excluded
              - Expired
              - Failed
              - Held
              - Locked
              - Parked
              - Pending
              - Reserved
              - Reverted
              - Suspended
              - Transferred
              - Unknown
              - Unlocked
              - Unparked
              - Updated
              - JsonConverterFailed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: false
              name: DomainStatus
          targetDnsType:
            description: Target DNS type (would be used for migration)
            enum:
              - AzureDns
              - DefaultDomainRegistrarDns
            type: string
            x-ms-enum:
              modelAsString: false
              name: DnsType
        required:
          - contactAdmin
          - contactBilling
          - contactRegistrant
          - contactTech
          - consent
        x-ms-client-flatten: true
    type: object
  DomainAvailablilityCheckResult:
    description: Domain availability check result.
    properties:
      available:
        description: <code>true</code> if domain can be purchased using CreateDomain API; otherwise, <code>false</code>.
        type: boolean
      domainType:
        description: "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything."
        enum:
          - Regular
          - SoftDeleted
        type: string
        x-ms-enum:
          modelAsString: false
          name: DomainType
      name:
        description: Name of the domain.
        type: string
    type: object
  DomainCollection:
    description: Collection of domains.
    properties:
      nextLink:
        description: Link to next page of resources.
        readOnly: true
        type: string
      value:
        description: Collection of resources.
        items:
          $ref: "#/definitions/Domain"
        type: array
    required:
      - value
    type: object
  DomainControlCenterSsoRequest:
    description: Single sign-on request information for domain management.
    properties:
      postParameterKey:
        description: Post parameter key.
        readOnly: true
        type: string
      postParameterValue:
        description: Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value.
        readOnly: true
        type: string
      url:
        description: URL where the single sign-on request is to be made.
        readOnly: true
        type: string
    type: object
  DomainOwnershipIdentifier:
    allOf:
      - description: Azure proxy only resource. This resource is not tracked by Azure Resource Manager.
        properties:
          id:
            description: Resource Id.
            readOnly: true
            type: string
          kind:
            description: Kind of resource.
            type: string
          name:
            description: Resource Name.
            readOnly: true
            type: string
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Domain ownership Identifier.
    properties:
      properties:
        description: DomainOwnershipIdentifier resource specific properties
        properties:
          ownershipId:
            description: Ownership Id.
            type: string
        x-ms-client-flatten: true
    type: object
  DomainOwnershipIdentifierCollection:
    description: Collection of domain ownership identifiers.
    properties:
      nextLink:
        description: Link to next page of resources.
        readOnly: true
        type: string
      value:
        description: Collection of resources.
        items:
          $ref: "#/definitions/DomainOwnershipIdentifier"
        type: array
    required:
      - value
    type: object
  DomainPatchResource:
    allOf:
      - description: Azure proxy only resource. This resource is not tracked by Azure Resource Manager.
        properties:
          id:
            description: Resource Id.
            readOnly: true
            type: string
          kind:
            description: Kind of resource.
            type: string
          name:
            description: Resource Name.
            readOnly: true
            type: string
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: ARM resource for a domain.
    properties:
      properties:
        description: DomainPatchResource resource specific properties
        properties:
          authCode:
            type: string
            x-ms-mutability:
              - create
              - read
          autoRenew:
            default: true
            description: <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>.
            type: boolean
          consent:
            $ref: "#/definitions/DomainPurchaseConsent"
            description: Legal agreement consent.
            x-ms-mutability:
              - create
          contactAdmin:
            $ref: "#/definitions/Contact"
            description: Administrative contact.
            x-ms-mutability:
              - create
          contactBilling:
            $ref: "#/definitions/Contact"
            description: Billing contact.
            x-ms-mutability:
              - create
          contactRegistrant:
            $ref: "#/definitions/Contact"
            description: Registrant contact.
            x-ms-mutability:
              - create
          contactTech:
            $ref: "#/definitions/Contact"
            description: Technical contact.
            x-ms-mutability:
              - create
          createdTime:
            description: Domain creation timestamp.
            format: date-time
            readOnly: true
            type: string
          dnsType:
            description: Current DNS type
            enum:
              - AzureDns
              - DefaultDomainRegistrarDns
            type: string
            x-ms-enum:
              modelAsString: false
              name: DnsType
          dnsZoneId:
            description: Azure DNS Zone to use
            type: string
          domainNotRenewableReasons:
            description: Reasons why domain is not renewable.
            items:
              enum:
                - RegistrationStatusNotSupportedForRenewal
                - ExpirationNotInRenewalTimeRange
                - SubscriptionNotActive
              type: string
            readOnly: true
            type: array
          expirationTime:
            description: Domain expiration timestamp.
            format: date-time
            readOnly: true
            type: string
          lastRenewedTime:
            description: Timestamp when the domain was renewed last time.
            format: date-time
            readOnly: true
            type: string
          managedHostNames:
            description: All hostnames derived from the domain and assigned to Azure resources.
            items:
              $ref: "#/definitions/HostName"
            readOnly: true
            type: array
          nameServers:
            description: Name servers.
            items:
              type: string
            readOnly: true
            type: array
          privacy:
            description: <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>.
            type: boolean
          provisioningState:
            description: Domain provisioning state.
            enum:
              - Succeeded
              - Failed
              - Canceled
              - InProgress
              - Deleting
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: false
              name: ProvisioningState
          readyForDnsRecordManagement:
            description: |-
              <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and 
               it is hosted on name servers Azure has programmatic access to.
            readOnly: true
            type: boolean
          registrationStatus:
            description: Domain registration status.
            enum:
              - Active
              - Awaiting
              - Cancelled
              - Confiscated
              - Disabled
              - Excluded
              - Expired
              - Failed
              - Held
              - Locked
              - Parked
              - Pending
              - Reserved
              - Reverted
              - Suspended
              - Transferred
              - Unknown
              - Unlocked
              - Unparked
              - Updated
              - JsonConverterFailed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: false
              name: DomainStatus
          targetDnsType:
            description: Target DNS type (would be used for migration)
            enum:
              - AzureDns
              - DefaultDomainRegistrarDns
            type: string
            x-ms-enum:
              modelAsString: false
              name: DnsType
        required:
          - contactAdmin
          - contactBilling
          - contactRegistrant
          - contactTech
          - consent
        x-ms-client-flatten: true
    type: object
  DomainPurchaseConsent:
    description: Domain purchase consent object, representing acceptance of applicable legal agreements.
    properties:
      agreedAt:
        description: Timestamp when the agreements were accepted.
        format: date-time
        type: string
      agreedBy:
        description: Client IP address.
        type: string
      agreementKeys:
        description: List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under <code>TopLevelDomain</code> resource.
        items:
          type: string
        type: array
    type: object
  DomainRecommendationSearchParameters:
    description: Domain recommendation search parameters.
    properties:
      keywords:
        description: Keywords to be used for generating domain recommendations.
        type: string
      maxDomainRecommendations:
        description: Maximum number of recommendations.
        format: int32
        type: integer
    type: object
  ErrorResponse:
    description: Error Response.
    properties:
      code:
        description: Error code.
        type: string
      message:
        description: Error message indicating why the operation failed.
        type: string
  HostName:
    description: Details of a hostname derived from a domain.
    properties:
      azureResourceName:
        description: Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name.
        type: string
      azureResourceType:
        description: Type of the Azure resource the hostname is assigned to.
        enum:
          - Website
          - TrafficManager
        type: string
        x-ms-enum:
          modelAsString: false
          name: AzureResourceType
      customHostNameDnsRecordType:
        description: Type of the DNS record.
        enum:
          - CName
          - A
        type: string
        x-ms-enum:
          modelAsString: false
          name: CustomHostNameDnsRecordType
      hostNameType:
        description: Type of the hostname.
        enum:
          - Verified
          - Managed
        type: string
        x-ms-enum:
          modelAsString: false
          name: HostNameType
      name:
        description: Name of the hostname.
        type: string
      siteNames:
        description: List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager.
        items:
          type: string
        type: array
    type: object
  NameIdentifierCollection:
    description: Collection of domain name identifiers.
    properties:
      nextLink:
        description: Link to next page of resources.
        readOnly: true
        type: string
      value:
        description: Collection of resources.
        items:
          description: Identifies an object.
          properties:
            name:
              description: Name of the object.
              type: string
          type: object
        type: array
    required:
      - value
    type: object
