Check one or more full domain names. Small single-SLD batches may complete inline with data; larger or slower checks return HTTP 202 with operation.pollUrl. The request field is names, not domains. Use the completed registryRequirements to build POST /api/v2/orders items without frontend inference.
No authentication required.
locale string
· Example: en Optional locale hint for registry-requirement labels and reasons.
Accept Example Content-Type Example names array required
· Example: ["example.se","example.com"] data array<object> required data[].name string required
· Example: example.se Checked domain name in lowercase.
data[].available boolean required
· Example: true True when the domain can be registered right now.
data[].reason stringnull required
· Example: null Customer-facing reason when the domain is not available for registration.
data[].actions object required data[].actions.canRegister object required data[].actions.canRegister.allowed boolean required
· Example: true data[].actions.canRegister.reason stringnull required
· Example: null data[].actions.canRegister.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canTransfer object required data[].actions.canTransfer.allowed boolean required
· Example: true data[].actions.canTransfer.reason stringnull required
· Example: null data[].actions.canTransfer.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].billing object | null required Default registration billing summary. `null` means the availability check did not return a usable registration price.
data[].billing.amount number required
· Example: 99 data[].billing.currencyCode string required
· Example: SEK data[].billing.billingCycle string required
· Example: annually data[].currencyCode string required
· Example: SEK ISO-4217 currency for `renewalAmount` and other top-level price fields. Mirrors `billing.currencyCode` when billing is present.
data[].premium boolean required
· Example: false True when the registry classifies the name as premium.
data[].requiresRegistrarFeeAcceptance boolean required
· Example: false True when the order must explicitly accept additional registrar fees.
data[].eppRequired boolean required
· Example: true True when transfers for this result require an authorization code.
data[].renewalAmount numbernull required
· Example: 169 Default one-year renewal amount in `currencyCode` when exposed by the catalog.
data[].supportedRegisterYears array<integer> required
· Example: [1,2,3,5] Registration periods currently supported for this result. Only use years present in this array.
data[].supportedTransferYears array<integer> required
· Example: [1] Transfer periods currently supported for this result. A free transfer can still be represented as a supported year.
data[].existingDomainId stringnull required
· Example: null Public domain ID when the authenticated caller already owns this name; otherwise `null`.
data[].existingDomainServiceStatus stringnull required
· Example: null Existing service status for a caller-owned domain, when present.
data[].registryRequirements object required Server-derived registration and transfer requirements for this TLD. Do not reimplement TLD rules in clients.
data[].registryRequirements.registration array<object> required data[].registryRequirements.registration[].key string · enum required
· Example: eppCode eppCode phoneNumber registrationIdentifier companyRegistrationNumber birthDate registrantCountry registrantType useDomicile acceptedTerms nameservers data[].registryRequirements.registration[].label string required
· Example: Authorization code data[].registryRequirements.registration[].required boolean required
· Example: true data[].registryRequirements.registration[].appliesTo string · enum required
· Example: transfer register transfer both data[].registryRequirements.registration[].registrantType string · enum required
· Example: any any private organisation data[].registryRequirements.registration[].allowedCountryCodes arraynull
· Example: null data[].registryRequirements.registration[].allowedRegistrantTypes arraynull
· Example: null data[].registryRequirements.registration[].alternativeRequirementKey stringnull
· Example: null data[].registryRequirements.registration[].acceptedTermsKey stringnull
· Example: se_registration_terms data[].registryRequirements.registration[].reason string required
· Example: An authorization code is required to transfer this domain. data[].registryRequirements.transfer array<object> required data[].registryRequirements.transfer[].key string · enum required
· Example: eppCode eppCode phoneNumber registrationIdentifier companyRegistrationNumber birthDate registrantCountry registrantType useDomicile acceptedTerms nameservers data[].registryRequirements.transfer[].label string required
· Example: Authorization code data[].registryRequirements.transfer[].required boolean required
· Example: true data[].registryRequirements.transfer[].appliesTo string · enum required
· Example: transfer register transfer both data[].registryRequirements.transfer[].registrantType string · enum required
· Example: any any private organisation data[].registryRequirements.transfer[].allowedCountryCodes arraynull
· Example: null data[].registryRequirements.transfer[].allowedRegistrantTypes arraynull
· Example: null data[].registryRequirements.transfer[].alternativeRequirementKey stringnull
· Example: null data[].registryRequirements.transfer[].acceptedTermsKey stringnull
· Example: se_registration_terms data[].registryRequirements.transfer[].reason string required
· Example: An authorization code is required to transfer this domain. data[].registryRequirements.countryEligibility object required operation object operation.status string · enum required
· Example: queued pending queued in_progress completed failed operation.jobId string required
· Example: job_01hxa3b4c5d6e7f8g9h0j1k2m3 operation.pollUrl string required
· Example: /api/jobs/job_01hxa3b4c5d6e7f8g9h0j1k2m3 operation.result objectnull
· Example: null type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on `detail`.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when `code` is `invalid_request`.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/domains/availability curl -X POST "https://cloud.hostup.se/api/v2/domains/availability" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"names": [
"example.se",
"example.com"
]
}' {
"data": [
{
"name": "example.se",
"available": true,
"reason": null,
"actions": {
"canRegister": {
"allowed": true,
"reason": null
},
"canTransfer": {
"allowed": false,
"reason": "Domain is available for registration, not transfer."
}
},
"billing": {
"amount": 99,
"currencyCode": "SEK",
"billingCycle": "annually"
},
"currencyCode": "SEK",
"premium": false,
"requiresRegistrarFeeAcceptance": false,
"eppRequired": true,
"renewalAmount": 169,
"supportedRegisterYears": [
1,
2,
3,
5
],
"supportedTransferYears": [
1
],
"existingDomainId": null,
"existingDomainServiceStatus": null,
"registryRequirements": {
"registration": [
{
"key": "phoneNumber",
"label": "Phone number",
"required": true,
"appliesTo": "register",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": null,
"reason": ".se and .nu domains require a registrant phone number before the order can be submitted."
},
{
"key": "registrationIdentifier",
"label": "Personal identity number or organization number",
"required": true,
"appliesTo": "register",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": null,
"reason": ".se and .nu domains require a personal identity number or organization number for the registrant."
},
{
"key": "acceptedTerms",
"label": ".se registration terms",
"required": true,
"appliesTo": "register",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": "se_registration_terms",
"reason": ".se domain registrations require acceptance of the registry registration terms before the order can be submitted."
}
],
"transfer": [
{
"key": "phoneNumber",
"label": "Phone number",
"required": true,
"appliesTo": "transfer",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": null,
"reason": ".se and .nu domains require a registrant phone number before the order can be submitted."
},
{
"key": "registrationIdentifier",
"label": "Personal identity number or organization number",
"required": true,
"appliesTo": "transfer",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": null,
"reason": ".se and .nu domains require a personal identity number or organization number for the registrant."
},
{
"key": "eppCode",
"label": "Authorization code",
"required": true,
"appliesTo": "transfer",
"registrantType": "any",
"allowedCountryCodes": null,
"allowedRegistrantTypes": null,
"alternativeRequirementKey": null,
"acceptedTermsKey": null,
"reason": "Transfers for this domain extension require an authorization code from the current provider."
}
],
"countryEligibility": {
"required": false,
"allowedCountryCodes": null,
"reason": null
}
}
}
]
} {
"names": [
"example.se",
"example.com"
]
}