@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Route 53 Domains
@version 2014-05-15
@auth AWS SigV4
@endpoints 34
@hint download_for_search
@toc root(34)

@endpoint POST /
@required {DomainName: str, Password: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, SigningAttributes: DnssecSigningAttributes}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}
@optional {IdnLangCode: str}
@returns(200) {Availability: str?}

@endpoint POST /
@required {DomainName: str}
@optional {AuthCode: str}
@returns(200) {Transferability: DomainTransferability?{Transferable: str?}, Message: str?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, TagsToDelete: [str]}

@endpoint POST /
@required {DomainName: str}

@endpoint POST /
@required {DomainName: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, Id: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}

@endpoint POST /
@required {DomainName: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@optional {domainName: str}
@returns(200) {domainName: str?, status: str?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {DomainName: str?, Nameservers: [Nameserver]?, AutoRenew: bool?, AdminContact: ContactDetail?{FirstName: str?, LastName: str?, ContactType: str?, OrganizationName: str?, AddressLine1: str?, AddressLine2: str?, City: str?, State: str?, CountryCode: str?, ZipCode: str?, PhoneNumber: str?, Email: str?, Fax: str?, ExtraParams: [ExtraParam]?}, RegistrantContact: ContactDetail?{FirstName: str?, LastName: str?, ContactType: str?, OrganizationName: str?, AddressLine1: str?, AddressLine2: str?, City: str?, State: str?, CountryCode: str?, ZipCode: str?, PhoneNumber: str?, Email: str?, Fax: str?, ExtraParams: [ExtraParam]?}, TechContact: ContactDetail?{FirstName: str?, LastName: str?, ContactType: str?, OrganizationName: str?, AddressLine1: str?, AddressLine2: str?, City: str?, State: str?, CountryCode: str?, ZipCode: str?, PhoneNumber: str?, Email: str?, Fax: str?, ExtraParams: [ExtraParam]?}, AdminPrivacy: bool?, RegistrantPrivacy: bool?, TechPrivacy: bool?, RegistrarName: str?, WhoIsServer: str?, RegistrarUrl: str?, AbuseContactEmail: str?, AbuseContactPhone: str?, RegistryDomainId: str?, CreationDate: str(timestamp)?, UpdatedDate: str(timestamp)?, ExpirationDate: str(timestamp)?, Reseller: str?, DnsSec: str?, StatusList: [str]?, DnssecKeys: [DnssecKey]?, BillingContact: ContactDetail?{FirstName: str?, LastName: str?, ContactType: str?, OrganizationName: str?, AddressLine1: str?, AddressLine2: str?, City: str?, State: str?, CountryCode: str?, ZipCode: str?, PhoneNumber: str?, Email: str?, Fax: str?, ExtraParams: [ExtraParam]?}, BillingPrivacy: bool?}

@endpoint POST /
@required {DomainName: str, SuggestionCount: int, OnlyAvailable: bool}
@returns(200) {SuggestionsList: [DomainSuggestion]?}

@endpoint POST /
@required {OperationId: str}
@returns(200) {OperationId: str?, Status: str?, Message: str?, DomainName: str?, Type: str?, SubmittedDate: str(timestamp)?, LastUpdatedDate: str(timestamp)?, StatusFlag: str?}

@endpoint POST /
@optional {FilterConditions: [FilterCondition], SortCondition: SortCondition, Marker: str, MaxItems: int}
@returns(200) {Domains: [DomainSummary]?, NextPageMarker: str?}

@endpoint POST /
@optional {SubmittedSince: str(timestamp), Marker: str, MaxItems: int, Status: [str], Type: [str], SortBy: str, SortOrder: str}
@returns(200) {Operations: [OperationSummary]?, NextPageMarker: str?}

@endpoint POST /
@optional {Tld: str, Marker: str, MaxItems: int}
@returns(200) {Prices: [DomainPrice]?, NextPageMarker: str?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {TagList: [Tag]?}

@endpoint POST /
@required {DomainName: str, Target: str}

@endpoint POST /
@required {DomainName: str, DurationInYears: int, AdminContact: ContactDetail, RegistrantContact: ContactDetail, TechContact: ContactDetail}
@optional {IdnLangCode: str, AutoRenew: bool, PrivacyProtectAdminContact: bool, PrivacyProtectRegistrantContact: bool, PrivacyProtectTechContact: bool, BillingContact: ContactDetail, PrivacyProtectBillingContact: bool}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, CurrentExpiryYear: int}
@optional {DurationInYears: int}
@returns(200) {OperationId: str?}

@endpoint POST /
@optional {domainName: str}
@returns(200) {domainName: str?, emailAddress: str?, isAlreadyVerified: bool?}

@endpoint POST /
@required {OperationId: str}

@endpoint POST /
@required {DomainName: str}
@returns(200) {AuthCode: str?}

@endpoint POST /
@required {DomainName: str, DurationInYears: int, AdminContact: ContactDetail, RegistrantContact: ContactDetail, TechContact: ContactDetail}
@optional {IdnLangCode: str, Nameservers: [Nameserver], AuthCode: str, AutoRenew: bool, PrivacyProtectAdminContact: bool, PrivacyProtectRegistrantContact: bool, PrivacyProtectTechContact: bool, BillingContact: ContactDetail, PrivacyProtectBillingContact: bool}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, AccountId: str}
@returns(200) {OperationId: str?, Password: str?}

@endpoint POST /
@required {DomainName: str}
@optional {AdminContact: ContactDetail, RegistrantContact: ContactDetail, TechContact: ContactDetail, Consent: Consent, BillingContact: ContactDetail}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}
@optional {AdminPrivacy: bool, RegistrantPrivacy: bool, TechPrivacy: bool, BillingPrivacy: bool}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str, Nameservers: [Nameserver]}
@optional {FIAuthKey: str}
@returns(200) {OperationId: str?}

@endpoint POST /
@required {DomainName: str}
@optional {TagsToUpdate: [Tag]}

@endpoint POST /
@optional {Start: str(timestamp), End: str(timestamp), Marker: str, MaxItems: int}
@returns(200) {NextPageMarker: str?, BillingRecords: [BillingRecord]?}

@end
