@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Domains API
@base https://api.ote-godaddy.com
@endpoints 65
@hint download_for_search
@toc domains(28), customers(37)

@group domains
@endpoint GET /v1/domains
@optional {X-Shopper-Id: any, statuses: any, statusGroups: any, limit: any, marker: any, includes: any, modifiedDate: any}
@returns(200)
@errors {400, 401, 403, 422, 429, 500}

@endpoint GET /v1/domains/agreements
@required {tlds: any, privacy: any}
@optional {X-Market-Id: any, forTransfer: any}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /v1/domains/available
@required {domain: any}
@optional {checkType: any, forTransfer: any}
@returns(200)
@errors {400, 401, 403, 422, 429, 500}

@endpoint POST /v1/domains/available
@required {domains: [str]}
@optional {checkType: any}
@returns(200)
@returns(203)
@errors {400, 401, 403, 422, 429, 500}

@endpoint POST /v1/domains/contacts/validate
@required {body: any}
@optional {X-Private-Label-Id: any, marketId: any}
@returns(200)
@returns(204)
@errors {400, 422, 429, 500}

@endpoint POST /v1/domains/purchase
@required {body: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint GET /v1/domains/purchase/schema/{tld}
@required {tld: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint POST /v1/domains/purchase/validate
@required {body: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint GET /v1/domains/suggest
@optional {X-Shopper-Id: any, query: any, country: any, city: any, sources: any, tlds: any, lengthMax: any, lengthMin: any, limit: any, waitMs: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint GET /v1/domains/tlds
@returns(200)
@errors {400, 401, 403, 429, 500}

@endpoint DELETE /v1/domains/{domain}
@required {domain: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint GET /v1/domains/{domain}
@required {domain: any}
@optional {X-Shopper-Id: any}
@returns(200)
@returns(203)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint PATCH /v1/domains/{domain}
@required {domain: any, body: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint PATCH /v1/domains/{domain}/contacts
@required {domain: any, contacts: any}
@optional {X-Shopper-Id: any}
@returns(200)
@returns(204)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint DELETE /v1/domains/{domain}/privacy
@required {domain: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500}

@endpoint POST /v1/domains/{domain}/privacy/purchase
@required {domain: any, body: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint PATCH /v1/domains/{domain}/records
@required {domain: any, records: [any]}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint PUT /v1/domains/{domain}/records
@required {domain: any, records: [any]}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint GET /v1/domains/{domain}/records/{type}/{name}
@required {domain: any, type: any, name: any}
@optional {X-Shopper-Id: any, offset: any, limit: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint PUT /v1/domains/{domain}/records/{type}/{name}
@required {domain: any, type: any, name: any, records: [any]}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint DELETE /v1/domains/{domain}/records/{type}/{name}
@required {domain: any, type: any, name: any}
@optional {X-Shopper-Id: any}
@returns(204)
@errors {400, 401, 403, 404, 409, 422, 429, 500, 504}

@endpoint PUT /v1/domains/{domain}/records/{type}
@required {domain: any, type: any, records: [any]}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endpoint POST /v1/domains/{domain}/renew
@required {domain: any}
@optional {X-Shopper-Id: any, body: any}
@returns(200)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v1/domains/{domain}/transfer
@required {domain: any, body: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 409, 422, 429, 500}

@endpoint POST /v1/domains/{domain}/verifyRegistrantEmail
@required {domain: any}
@optional {X-Shopper-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 422, 429, 500, 504}

@endgroup

@group customers
@endpoint GET /v2/customers/{customerId}/domains/{domain}
@required {customerId: any, domain: any}
@optional {X-Request-Id: any, includes: any}
@returns(200)
@returns(203)
@errors {401, 403, 404, 422, 429, 500}

@endpoint DELETE /v2/customers/{customerId}/domains/{domain}/changeOfRegistrant
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 422, 429, 500, 502}

@endpoint GET /v2/customers/{customerId}/domains/{domain}/changeOfRegistrant
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 409, 422, 429, 500, 502}

@endpoint PATCH /v2/customers/{customerId}/domains/{domain}/dnssecRecords
@required {customerId: any, domain: any, body: [any]}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint DELETE /v2/customers/{customerId}/domains/{domain}/dnssecRecords
@required {customerId: any, domain: any, body: [any]}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint PUT /v2/customers/{customerId}/domains/{domain}/nameServers
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/{domain}/privacy/forwarding
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 422, 429, 500}

@endpoint PATCH /v2/customers/{customerId}/domains/{domain}/privacy/forwarding
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/redeem
@required {customerId: any, domain: any}
@optional {X-Request-Id: any, body: any}
@returns(202)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/renew
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transfer
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/{domain}/transfer
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transfer/validate
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(204)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferInAccept
@required {customerId: any, domain: any, body: map}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferInCancel
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferInRestart
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferInRetry
@required {customerId: any, domain: any, body: map}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferOut
@required {customerId: any, domain: any, registrar: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferOutAccept
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/transferOutReject
@required {customerId: any, domain: any}
@optional {X-Request-Id: any, reason: any}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endpoint DELETE /v2/customers/{customerId}/domains/forwards/{fqdn}
@required {customerId: any, fqdn: any}
@returns(204)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/forwards/{fqdn}
@required {customerId: any, fqdn: any}
@optional {includeSubs: any}
@returns(200)
@errors {401, 403, 404, 422, 429, 500}

@endpoint PUT /v2/customers/{customerId}/domains/forwards/{fqdn}
@required {customerId: any, fqdn: any, body: any}
@returns(204)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/forwards/{fqdn}
@required {customerId: any, fqdn: any, body: any}
@returns(204)
@errors {401, 403, 404, 409, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/{domain}/actions
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint DELETE /v2/customers/{customerId}/domains/{domain}/actions/{type}
@required {customerId: any, domain: any, type: any}
@optional {X-Request-Id: any}
@returns(204)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/{domain}/actions/{type}
@required {customerId: any, domain: any, type: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 409, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/notifications
@required {customerId: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/notifications/optIn
@required {customerId: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 429, 500}

@endpoint PUT /v2/customers/{customerId}/domains/notifications/optIn
@required {customerId: any, types: any}
@optional {X-Request-Id: any}
@returns(204)
@errors {401, 403, 404, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/notifications/schemas/{type}
@required {customerId: any, type: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/notifications/{notificationId}/acknowledge
@required {customerId: any, notificationId: any}
@optional {X-Request-Id: any}
@returns(204)
@errors {401, 403, 404, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/register
@required {customerId: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 409, 422, 429, 500}

@endpoint GET /v2/customers/{customerId}/domains/register/schema/{tld}
@required {customerId: any, tld: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {401, 403, 404, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/register/validate
@required {customerId: any, body: any}
@optional {X-Request-Id: any}
@returns(204)
@errors {400, 401, 403, 404, 422, 429, 500}

@endgroup

@group domains
@endpoint GET /v2/domains/maintenances
@optional {X-Request-Id: any, status: any, modifiedAtAfter: any, startsAtAfter: any, limit: any}
@returns(200)
@errors {400, 401, 403, 422, 429, 500}

@endpoint GET /v2/domains/maintenances/{maintenanceId}
@required {maintenanceId: any}
@optional {X-Request-Id: any}
@returns(200)
@errors {400, 401, 403, 404, 429, 500}

@endpoint GET /v2/domains/usage/{yyyymm}
@required {yyyymm: any}
@optional {X-Request-Id: any, includes: any}
@returns(200)
@errors {401, 403, 429, 500}

@endgroup

@group customers
@endpoint PATCH /v2/customers/{customerId}/domains/{domain}/contacts
@required {customerId: any, domain: any, body: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {400, 401, 403, 404, 409, 422, 429, 500}

@endpoint POST /v2/customers/{customerId}/domains/{domain}/regenerateAuthCode
@required {customerId: any, domain: any}
@optional {X-Request-Id: any}
@returns(202)
@errors {401, 403, 404, 409, 429, 500}

@endgroup

@end
