/api/v2/domains/{id}/lifecycle Return server-composed domain lifecycle diagnostics for registration, transfer, and renewal failures.
actionRequired is the canonical customer-action discriminator; consumers should use the accompanying status and failure blocks for the reason and available recovery action instead of inferring from service status.
Transfer progress is a best-effort registry-window estimate and uses registry initiation history or the provider start timestamp when available.
read:domains
Authenticate with an API key in the Authorization: Bearer <token> header.
id string required
Example: dom_01hxa3b4c5d6e7f8g9h0j1k2m3 Public domain ID. Get it from GET /api/v2/domains data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
Authorization Bearer <token> Accept application/json actionRequired boolean required
· Example: false True when the customer must act before domain processing can continue. Registration failures are current only while registration remains pending.
whoisLookupStatus string | null · enum required
· Example: ok ok lookup_unavailable tld_not_supported rate_limited error registrationFailure object | null required registrationFailure.category string required
· Example: identity_invalid registrationFailure.reason string required
· Example: Registration failed because the identification number is invalid. registrationFailure.detectedAt string | null required
· Example: 2026-04-26T09:30:00.000Z registrationFailure.interpretation object | null required registrationFailure.interpretation.confidence number required
· Example: 0.96 registrationFailure.interpretation.category string required
· Example: customer_additional_data_missing registrationFailure.interpretation.safeToShow boolean required
· Example: true registrationFailure.interpretation.customerMessage string required
· Example: This domain extension needs a few extra registration details before we can submit it ag... registrationFailure.interpretation.canRetryAfterCorrection boolean required
· Example: true registrationFailure.interpretation.fields array<object> required registrationFailure.interpretation.fields[].key string required
· Example: musicNexusConnectionToMusic registrationFailure.interpretation.fields[].label string required
· Example: Example Label registrationFailure.interpretation.fields[].required boolean required
· Example: true registrationFailure.interpretation.fields[].type string · enum required
· Example: select text select checkbox registrationFailure.interpretation.fields[].target string · enum required
· Example: registrationDetails account registrationDetails contacts none registrationFailure.interpretation.fields[].profileField string | null · enum required
· Example: postalCode Account profile field to focus when target is account; null for registration detail, contact, and none targets.
firstName lastName email street streetNumber city postalCode country phoneNumber state registrationIdentifier companyRegistrationNumber socialSecurityNumber vatEu registrationFailure.interpretation.fields[].description string | null required
· Example: Required for .music registrations. registrationFailure.interpretation.fields[].options array<object> registrationFailure.interpretation.fields[].options[].value string required
· Example: ENT registrationFailure.interpretation.fields[].options[].label string required
· Example: Example Label renewalFailure object | null required renewalFailure.category string · enum required
· Example: renewal_window_not_open renewal_window_not_open registry_contact_review unknown renewalFailure.reason string required
· Example: The renewal order is queued and will be retried automatically during the registry renew... renewalFailure.detectedAt string | null required
· Example: 2026-04-26T09:30:00.000Z renewalFailure.retryWindowDays integer | null · min: 1 required
· Example: 30 renewalFailure.actionRequired boolean required
· Example: false transferFailure object | null required transferFailure.category string required
· Example: epp_invalid transferFailure.reason string required
· Example: The EPP code was invalid. transferFailure.detectedAt string | null required
· Example: 2026-04-26T09:30:00.000Z transferFailure.recovery object | null required transferFailure.recovery.action string · enum required update_account_details provide_transfer_details transferFailure.recovery.fields array<object> required transferFailure.recovery.fields[].key string required transferFailure.recovery.fields[].label string required transferFailure.recovery.fields[].required boolean required transferFailure.recovery.fields[].type string · enum required text select checkbox transferFailure.recovery.fields[].target string · enum required account transferDetails none transferFailure.recovery.fields[].description string | null required transferFailure.recovery.fields[].options array<object> transferFailure.recovery.fields[].options[].value string required transferFailure.recovery.fields[].options[].label string required transferFailure.recovery.suggestedBody object required transferFailure.recovery.suggestedBody.eppCode string transferFailure.recovery.suggestedBody.profileUpdated boolean · enum true transferFailure.recovery.suggestedBody.recoveryValues object required registryHistory array<object> required registryHistory[].timestamp string | null required
· Example: 2026-04-27T12:00:00.000Z registryHistory[].subject string | null required
· Example: Transfer status registryHistory[].contents string | null required
· Example: Transfer rejected: invalid authorization code. transferErrorsCleared boolean required
· Example: false domainStatusSynced boolean required
· Example: false transferStatus object | null required transferStatus.kind string · enum required
· Example: transfer_failed_at_registry pending_transfer_in_progress registrar_push_required registrar_push_request_required transfer_failed_at_registry transfer_not_at_registry pending_transfer_generic awaiting_payment registry_locked_and_epp_invalid registry_locked too_new_for_transfer transfer_error_known pending_epp_fallback active expired unknown transferStatus.reason string | null required
· Example: The registry rejected the transfer because the EPP code was invalid. transferStatus.actions object required transferStatus.actions.canUpdateEpp object required transferStatus.actions.canUpdateEpp.allowed boolean required
· Example: true transferStatus.actions.canUpdateEpp.reason string | null required transferStatus.actions.canRetryTransfer object required transferStatus.actions.canRetryTransfer.allowed boolean required
· Example: true transferStatus.actions.canRetryTransfer.reason string | null required transferStatus.actions.canRequestFreshEpp object required transferStatus.actions.canRequestFreshEpp.allowed boolean required
· Example: true transferStatus.actions.canRequestFreshEpp.reason string | null required transferStatus.capability object required transferStatus.capability.showProgress boolean required
· Example: false transferStatus.capability.showInvoice boolean required
· Example: false transferStatus.capability.showFailedRetry boolean required
· Example: true transferStatus.capability.showEppUpdate boolean required
· Example: true transferStatus.capability.showDualIssues boolean required
· Example: false transferStatus.progress object | null required transferStatus.progress.daysPassed integer required
· Example: 1 transferStatus.progress.daysRemaining integer required
· Example: 2 transferStatus.progress.maxDays integer required
· Example: 3 transferStatus.progress.percent integer required
· Example: 33 transferStatus.nextStep object | null required transferStatus.nextStep.kind string · enum required
· Example: change_registrar_tag change_registrar_tag transferStatus.nextStep.registrarTag string required
· Example: REGISTRAR-EU transferStatus.nextStep.deadlineDays integer required
· Example: 45 registrationStatus object | null required registrationStatus.kind string · enum required
· Example: pending pending active failed submitted queued completed unknown registrationStatus.reason string | null required
· Example: Registration is pending at the registry. registrationStatus.supported boolean required
· Example: true registrationStatus.autoRetry object | null required registrationStatus.autoRetry.active boolean required
· Example: true registrationStatus.autoRetry.reason string | null required
· Example: The registration system is temporarily unavailable. We will retry the registration auto... registrationStatus.autoRetry.attemptsRemaining integer required
· Example: 23 registrationStatus.autoRetry.nextRetryAt string | null required
· Example: 2026-07-06T12:00:00.000Z registrationStatus.autoRetry.state string | null required
· Example: delayed registrationStatus.actions object required registrationStatus.actions.canRetryRegistration object required registrationStatus.actions.canRetryRegistration.allowed boolean required
· Example: true registrationStatus.actions.canRetryRegistration.reason string | null required registrationStatus.actions.canFixIdentity object required registrationStatus.actions.canFixIdentity.allowed boolean required
· Example: true registrationStatus.actions.canFixIdentity.reason string | null 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 Retry-After seconds plus X-RateLimit-* headers. 10 fields 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/{id}/lifecycle curl -X GET "https://cloud.hostup.se/api/v2/domains/dom_01hxa3b4c5d6e7f8g9h0j1k2m3/lifecycle" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"actionRequired": false,
"whoisLookupStatus": "ok",
"renewalFailure": null,
"registrationFailure": null,
"transferFailure": {
"category": "provider_identity_delivery_failed",
"reason": "The transfer could not use an identity detail that is already saved on the account. No account update is needed; support must review the transfer if it still cannot be completed.",
"detectedAt": "2026-07-12T20:04:55.537Z",
"recovery": null
},
"registryHistory": [
{
"timestamp": "2026-04-27T12:00:00.000Z",
"subject": "[Initiated] Transfer status",
"contents": "Incoming transfer initiated at registry. The transfer will be processed in 5 days unless explicitly rejected."
}
],
"transferErrorsCleared": false,
"domainStatusSynced": false,
"transferStatus": {
"kind": "transfer_error_known",
"reason": "The transfer could not use an identity detail that is already saved on the account. No account update is needed; support must review the transfer if it still cannot be completed.",
"actions": {
"canUpdateEpp": {
"allowed": true,
"reason": null
},
"canRetryTransfer": {
"allowed": false,
"reason": "The transfer could not use an identity detail that is already saved on the account. No account update is needed; support must review the transfer if it still cannot be completed."
},
"canRequestFreshEpp": {
"allowed": false,
"reason": "The current transfer issue is not related to the authorization code."
}
},
"capability": {
"showProgress": false,
"showInvoice": false,
"showFailedRetry": false,
"showEppUpdate": false,
"showDualIssues": false
},
"progress": null,
"nextStep": null
},
"registrationStatus": null
}