Reinstalar um VPS
Diferido Assíncrono · 202
POST
/api/v1/
operationIdpostServerRebuild
- Nível exigido
- Completo
- Quota
- operações pesadas, 6 chamadas por hora e por VPS (60 por conta)
Reinstala o sistema. Todo o conteúdo do disco é destruído (ficheiros, configuração, contas), sem possibilidade de reversão: o que não estiver numa cópia de segurança ou num snapshot perde-se.
O par os / variant é retomado tal como está de GET /catalog/os-templates. A memória do VPS é comparada com o mínimo do template antes de qualquer ação: uma reinstalação que deixaria uma máquina incapaz de arrancar é recusada com 409.
As palavras-passe são geradas, não escolhidas, e devolvidas uma única vez nesta resposta: root_password sempre e, adicionalmente, app_password para uma variante com aplicação (variant diferente de default). Produzem efeito no arranque do sistema reinstalado.
ssh_key_ids substitui as chaves a instalar na máquina reconstruída. Um identificador que não pertença à conta não instala nada. Uma chave weak é recusada (400), antes de qualquer ação.
Este pedido é processado em segundo plano: responde de imediato enquanto o trabalho continua. Acompanhe-o com os endpoints de tarefas ou pedidos.
Parâmetros do caminho
-
vmidstring obrigatório -
Identificador do VPS. Tem de pertencer à conta e ao âmbito da chave.
Corpo do pedido
application/json
-
osstringobrigatórioCampo
osde uma entrada deGET /catalog/os-templates -
variantstringopcionalCampo
variantda mesma entrada -
ssh_key_idsstring[]opcionalChaves da conta a instalar. Ausente ou vazio: esta chamada não altera as chaves.
Exemplo de pedido
{
"os": "debian-12",
"variant": "default",
"ssh_key_ids": [
"45"
]
}
Respostas
202
Reinstalação colocada em fila; palavras-passe devolvidas uma única vez
O pedido foi aceite, não executado. A resposta contém uma tarefa a acompanhar.
{
"data": {
"tasks": [
{
"id": "tsk_000002e1",
"status": "pending",
"action": "server.rebuild",
"vmid": "116807",
"description": "Réinstallation du serveur VPS-116807 avec le template Debian 12",
"created_at": "2026-08-20T14:31:02+02:00",
"finished_at": null
}
],
"root_password": "shfKvbnERTUP2345",
"effective_after_reboot": true
}
}
Campos da resposta 12
-
dataobject -
tasksobject[] -
idstringIdentificador opaco
-
statusstringunknownassinalaria um estado que a API não sabe identificar -
actionstringTipo de tarefa
-
vmidstring -
descriptionstring -
created_atstring (date-time) -
finished_atstring (date-time)nullenquanto a tarefa estiver em execução -
root_passwordstringPalavra-passe root gerada, devolvida uma única vez
-
app_passwordstringPalavra-passe da aplicação, para uma variante diferente de
default -
effective_after_rebootboolean
400
Parâmetros inválidos: validation_failed — os ausente, ou par os / variant desconhecido do catálogo; validation_failed — chave de ssh_key_ids marcada como weak.
validation_failed — os ausente, ou par os / variant desconhecido do catálogo; validation_failed — chave de ssh_key_ids marcada como weak.os ausente, ou par os / variant desconhecido do catálogo
{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "Aucun système ne correspond à ce couple os / variant.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"os": "Reprenez un couple os / variant de /catalog/os-templates."
}
}
chave de ssh_key_ids marcada como weak
{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "La clé SSH 45 ne respecte plus les critères actuels (type reconnu, RSA d'au moins 2048 bits) : elle ne peut pas être posée à la réinstallation.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"ssh_key_ids": "Retirez la clé 45, ou remplacez-la par une clé conforme."
}
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
401
Autenticação recusada: invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.
invalid_token — cabeçalho Authorization ausente ou mal formado, ou chave desconhecida; access_disabled — acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS.cabeçalho Authorization ausente ou mal formado, ou chave desconhecida
{
"type": "https://docs.lws.fr/kvm/errors/invalid-token",
"title": "Authentification invalide",
"status": 401,
"code": "invalid_token",
"detail": "Clé inconnue ou révoquée.",
"request_id": "3f9a1c07b2e45d18"
}
acesso à API cortado para esta conta, ou serviço de API momentaneamente suspenso pela LWS
{
"type": "https://docs.lws.fr/kvm/errors/access-disabled",
"title": "Accès API désactivé",
"status": 401,
"code": "access_disabled",
"detail": "L'accès API est désactivé pour ce compte. Réactivez-le depuis la page « API / MCP » du panel.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
403
Acesso recusado: insufficient_scope — nível da chave insuficiente; ip_not_allowed — endereço de chamada não autorizado.
insufficient_scope — nível da chave insuficiente; ip_not_allowed — endereço de chamada não autorizado.nível da chave insuficiente
{
"type": "https://docs.lws.fr/kvm/errors/insufficient-scope",
"title": "Droits insuffisants",
"status": 403,
"code": "insufficient_scope",
"detail": "Niveau de permission « full » requis.",
"request_id": "3f9a1c07b2e45d18",
"required_level": "full"
}
endereço de chamada não autorizado
{
"type": "https://docs.lws.fr/kvm/errors/ip-not-allowed",
"title": "Adresse non autorisée",
"status": 403,
"code": "ip_not_allowed",
"detail": "L'adresse 203.0.113.10 ne figure pas parmi les adresses autorisées de ce compte.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
404
Recurso não encontrado: vm_not_found — VPS inexistente ou fora do âmbito da chave.
vm_not_found — VPS inexistente ou fora do âmbito da chave.{
"type": "https://docs.lws.fr/kvm/errors/vm-not-found",
"title": "VPS introuvable",
"status": 404,
"code": "vm_not_found",
"detail": "Aucun VPS 999999 sur ce compte.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
409
Conflito com o estado atual: invalid_state — memória do VPS inferior ao mínimo do sistema, ou VPS ausente da base de dados do respetivo hipervisor; task_already_running — já está em curso uma reinstalação; service_suspended — VPS desativado ou expirado: apenas as leituras continuam possíveis; server_locked — VPS bloqueado pelo hipervisor, ver reason; com operation_in_progress, Retry-After indica a espera aconselhada.
invalid_state — memória do VPS inferior ao mínimo do sistema, ou VPS ausente da base de dados do respetivo hipervisor; task_already_running — já está em curso uma reinstalação; service_suspended — VPS desativado ou expirado: apenas as leituras continuam possíveis; server_locked — VPS bloqueado pelo hipervisor, ver reason; com operation_in_progress, Retry-After indica a espera aconselhada.memória do VPS inferior ao mínimo do sistema, ou VPS ausente da base de dados do respetivo hipervisor
{
"type": "https://docs.lws.fr/kvm/errors/invalid-state",
"title": "Opération impossible en l'état",
"status": 409,
"code": "invalid_state",
"detail": "Ce système demande au moins 7 Go de mémoire ; ce VPS en dispose de 4.",
"request_id": "3f9a1c07b2e45d18"
}
já está em curso uma reinstalação
{
"type": "https://docs.lws.fr/kvm/errors/task-already-running",
"title": "Opération déjà en cours",
"status": 409,
"code": "task_already_running",
"detail": "Une réinstallation est déjà en cours sur ce VPS. Attendez qu'elle aboutisse.",
"request_id": "3f9a1c07b2e45d18",
"task_id": "tsk_000002d5"
}
VPS desativado ou expirado: apenas as leituras continuam possíveis
{
"type": "https://docs.lws.fr/kvm/errors/service-suspended",
"title": "Service suspendu",
"status": 409,
"code": "service_suspended",
"detail": "Le VPS 116807 est expiré.",
"request_id": "3f9a1c07b2e45d18"
}
VPS bloqueado pelo hipervisor, ver reason; com operation_in_progress, Retry-After indica a espera aconselhada
{
"type": "https://docs.lws.fr/kvm/errors/server-locked",
"title": "Serveur verrouillé",
"status": 409,
"code": "server_locked",
"detail": "Action impossible pour le moment : une sauvegarde est en cours sur le serveur. Réessayez dans quelques minutes.",
"request_id": "3f9a1c07b2e45d18",
"lock": "snapshot",
"reason": "operation_in_progress"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
429
Quota excedida: rate_limited — quota horária da família esgotada.
rate_limited — quota horária da família esgotada.{
"type": "https://docs.lws.fr/kvm/errors/rate-limited",
"title": "Quota dépassé",
"status": 429,
"code": "rate_limited",
"detail": "Quota dépassé pour les opérations de type « heavy » sur le VPS 116807 : 6 appels par heure. Réessayez dans 214 seconde(s).",
"request_id": "3f9a1c07b2e45d18",
"family": "heavy",
"limit": 6,
"retry_after": 214
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
502
Dependência inacessível: hypervisor_unreachable; upstream_unavailable — catálogo, chaves SSH ou fila de reinstalação indisponíveis.
hypervisor_unreachable; upstream_unavailable — catálogo, chaves SSH ou fila de reinstalação indisponíveis.Hipervisor inacessível
{
"type": "https://docs.lws.fr/kvm/errors/hypervisor-unreachable",
"title": "Hyperviseur injoignable",
"status": 502,
"code": "hypervisor_unreachable",
"detail": "L'hyperviseur hébergeant ce VPS n'a pas répondu. Réessayez dans quelques instants.",
"request_id": "3f9a1c07b2e45d18"
}
catálogo, chaves SSH ou fila de reinstalação indisponíveis
{
"type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
"title": "Service momentanément indisponible",
"status": 502,
"code": "upstream_unavailable",
"detail": "La demande de réinstallation n'a pas pu être enregistrée. Réessayez dans quelques instants.",
"request_id": "3f9a1c07b2e45d18"
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)
503
Servidor anfitrião em intervenção: server_maintenance — servidor anfitrião em intervenção anunciada pela LWS e inacessível; respeite Retry-After.
server_maintenance — servidor anfitrião em intervenção anunciada pela LWS e inacessível; respeite Retry-After.{
"type": "https://docs.lws.fr/kvm/errors/server-maintenance",
"title": "Intervention en cours sur le serveur hôte",
"status": 503,
"code": "server_maintenance",
"detail": "Le serveur hébergeant ce VPS fait l'objet d'une intervention programmée par LWS : il est momentanément inaccessible. Fin prévue : 2026-10-21T18:00:00+02:00.",
"request_id": "3f9a1c07b2e45d18",
"maintenance": {
"kind": "works",
"started_at": "2026-10-21T14:00:00+02:00",
"expected_end": "2026-10-21T18:00:00+02:00"
}
}
Campos da resposta 18
-
typestring (uri)obrigatório -
titlestringobrigatórioTítulo curto
-
statusinteger (int64)obrigatórioEstado HTTP
-
codestringobrigatórioCódigo de máquina estável (ver «Erros» em Primeiros passos)
-
detailstringobrigatórioMensagem detalhada
-
request_idstringobrigatórioIdentificador do pedido, a comunicar ao suporte
-
errorsobjectvalidation_failed: mensagem por parâmetro incorreto -
required_levelstringinsufficient_scope: nível exigido pela operação -
task_idstringtask_already_running: tarefa em curso neste VPS -
familystringrate_limited: família de quota esgotada -
limitinteger (int64)rate_limited: limite horário da família -
retry_afterinteger (int64)rate_limited: segundos a aguardar -
lockstringserver_locked: bloqueio aplicado pelo hipervisor (backup,snapshot,suspended…) -
reasonstringserver_locked:operation_in_progress, há uma operação em curso, tente novamente apósRetry-After;suspended, o VPS está em hibernação, inicie-o primeiro;support_notified, bloqueio anómalo, a equipa LWS foi avisada e está a intervir -
maintenanceobjectserver_maintenance: natureza da intervenção, início e fim previsto (nullpara um incidente) -
kindstring -
started_atstring (date-time) -
expected_endstring (date-time)