Check one domain name and return the same availability contract used by checkout. Use this before creating a domain order: actions.canRegister tells whether registration is possible, actions.canTransfer tells whether transfer is possible, and registryRequirements lists the fields the order body must include for the TLD. Use supportedRegisterYears and supportedTransferYears as the allowed period lists for this availability result; do not infer extra years from the TLD name or from generic 1-10 year assumptions.
No authentication required.
name string required
· Example: example.se Full domain name to check, including the TLD.
locale string
· Example: en Optional locale hint for registry-requirement labels and reasons.
Accept Example Content-Type Example name string
· Example: example.se Checked domain name in lowercase.
available boolean
· Example: true True when the domain can be registered right now.
reason stringnull
· Example: null Customer-facing reason when the domain is not available for registration.
actions object actions.canRegister object required actions.canRegister.allowed boolean required
· Example: true actions.canRegister.reason stringnull required
· Example: null actions.canRegister.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
actions.canTransfer object required actions.canTransfer.allowed boolean required
· Example: true actions.canTransfer.reason stringnull required
· Example: null actions.canTransfer.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
billing object | null Default registration billing summary. `null` means the availability check did not return a usable registration price.
billing.amount number required
· Example: 99 billing.currencyCode string required
· Example: SEK billing.billingCycle string required
· Example: annually currencyCode string
· Example: SEK ISO-4217 currency for `renewalAmount` and other top-level price fields. Mirrors `billing.currencyCode` when billing is present.
premium boolean
· Example: false True when the registry classifies the name as premium.
requiresRegistrarFeeAcceptance boolean
· Example: false True when the order must explicitly accept additional registrar fees.
eppRequired boolean
· Example: true True when transfers for this result require an authorization code.
renewalAmount numbernull
· Example: 169 Default one-year renewal amount in `currencyCode` when exposed by the catalog.
supportedRegisterYears array<integer>
· Example: [1,2,3,5] Registration periods currently supported for this result. Only use years present in this array.
supportedTransferYears array<integer>
· Example: [1] Transfer periods currently supported for this result. A free transfer can still be represented as a supported year.
existingDomainId stringnull
· Example: null Public domain ID when the authenticated caller already owns this name; otherwise `null`.
existingDomainServiceStatus stringnull
· Example: null Existing service status for a caller-owned domain, when present.
registryRequirements object Server-derived registration and transfer requirements for this TLD. Do not reimplement TLD rules in clients.
registryRequirements.registration array<object> required registryRequirements.registration[].key string · enum required
· Example: eppCode eppCode phoneNumber registrationIdentifier companyRegistrationNumber birthDate registrantCountry registrantType useDomicile acceptedTerms nameservers registryRequirements.registration[].label string required
· Example: Authorization code registryRequirements.registration[].required boolean required
· Example: true registryRequirements.registration[].appliesTo string · enum required
· Example: transfer register transfer both registryRequirements.registration[].registrantType string · enum required
· Example: any any private organisation registryRequirements.registration[].allowedCountryCodes arraynull
· Example: null registryRequirements.registration[].allowedRegistrantTypes arraynull
· Example: null registryRequirements.registration[].alternativeRequirementKey stringnull
· Example: null registryRequirements.registration[].acceptedTermsKey stringnull
· Example: se_registration_terms registryRequirements.registration[].reason string required
· Example: An authorization code is required to transfer this domain. registryRequirements.transfer array<object> required registryRequirements.transfer[].key string · enum required
· Example: eppCode eppCode phoneNumber registrationIdentifier companyRegistrationNumber birthDate registrantCountry registrantType useDomicile acceptedTerms nameservers registryRequirements.transfer[].label string required
· Example: Authorization code registryRequirements.transfer[].required boolean required
· Example: true registryRequirements.transfer[].appliesTo string · enum required
· Example: transfer register transfer both registryRequirements.transfer[].registrantType string · enum required
· Example: any any private organisation registryRequirements.transfer[].allowedCountryCodes arraynull
· Example: null registryRequirements.transfer[].allowedRegistrantTypes arraynull
· Example: null registryRequirements.transfer[].alternativeRequirementKey stringnull
· Example: null registryRequirements.transfer[].acceptedTermsKey stringnull
· Example: se_registration_terms registryRequirements.transfer[].reason string required
· Example: An authorization code is required to transfer this domain. registryRequirements.countryEligibility object required 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 GET "https://cloud.hostup.se/api/v2/domains/availability?name=example.se" \
-H "Accept: application/json" {
"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
}
}
}