@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Domains API Client
@base https://management.azure.com
@version 2018-02-01
@auth OAuth2
@common_fields {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)., api-version: any # API Version}
@endpoints 15
@toc subscriptions(15)

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability
@desc Check if a domain is available for registration.
@required {identifier: any # Name of the domain.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains
@desc Get all domains in a subscription.
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest
@desc Generate a single sign-on request for the domain management portal.
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations
@desc Get domain name recommendations based on keywords.
@required {parameters: map # Search parameters for domain name recommendations.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains
@desc Get all domains in a resource group.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}
@desc Get a domain.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of the domain.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}
@desc Creates or updates a domain.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of the domain., domain: map # Domain registration information.}
@returns(200) Domain purchase was successful.
@returns(202) Domain purchase is in progress.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}
@desc Delete a domain.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of the domain.}
@optional {forceHardDeleteDomain: any # Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours.}
@returns(200) Successfully deleted domain.
@returns(204) Domain does not exist in Azure database probably because it has already been deleted

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}
@desc Creates or updates a domain.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of the domain., domain: map # Domain registration information.}
@returns(200) Domain purchase was successful.
@returns(202) Domain purchase is in progress.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers
@desc Lists domain ownership identifiers.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of domain.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}
@desc Get ownership identifier for domain
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of domain., name: any # Name of identifier.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}
@desc Creates an ownership identifier for a domain or updates identifier details for an existing identifier
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of domain., name: any # Name of identifier., domainOwnershipIdentifier: map # A JSON representation of the domain ownership properties.}
@returns(200) OK

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}
@desc Delete ownership identifier for domain
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of domain., name: any # Name of identifier.}
@returns(200) Successfully deleted domain ownership identifier.
@returns(204) Domain ownership identifier does not exist.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}
@desc Creates an ownership identifier for a domain or updates identifier details for an existing identifier
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of domain., name: any # Name of identifier., domainOwnershipIdentifier: map # A JSON representation of the domain ownership properties.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew
@desc Renew a domain.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., domainName: any # Name of the domain.}
@returns(200) Domain renewal was successful.
@returns(202) Domain renewal in progress.
@returns(204) Domain does not exist.
@errors {400: Malformed domain renewal request., 500: Domain renewal request failed.}

@end
