Adicionar uma chave SSH
POST
/api/v1/
operationIdpostSshKey
- Nível exigido
- Operação
- Quota
- mutação, 300 chamadas por hora
Regista uma chave pública na conta. Fica ativa logo após a criação.
A chave é recusada se o seu algoritmo não for reconhecido, ou se for uma RSA com menos de 2048 bits. A resposta contém a ficha da chave: anote o respetivo id, necessário para a desativar ou eliminar. Se não tiver sido possível reler a ficha, a resposta limita-se a {"created": true}: encontre então a chave com GET /ssh-keys.
Corpo do pedido
application/json
-
keystringobrigatórioChave pública OpenSSH, tal como no ficheiro
.pub
Exemplo de pedido
{
"key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINK0AO80+x734if/v0cHQXq3DTEQDjY2M0t6Mm3lDOiC poste-admin"
}
Respostas
201
Chave registada
{
"data": {
"id": "47",
"type": "ssh-ed25519",
"comment": "poste-admin",
"active": true,
"fingerprint": "SHA256:lpEBpHL5EO65b9cDXg8YjfqlnovHfCn+3faPLPbfnZI",
"fingerprint_md5": "ab:c7:15:6a:9a:4e:fb:02:1b:b8:ab:3f:e5:41:67:a2",
"weak": false
}
}
Campos da resposta 8
-
dataobjectobrigatório -
idstring -
typestring -
commentstringComentário incluído na chave
-
fingerprintstringImpressão digital SHA-256, formato
ssh-keygen -l -
fingerprint_md5stringImpressão digital MD5, a que o painel apresenta
-
activebooleanInstalada automaticamente na criação ou reinstalação de um VPS
-
weakbooleanChave antiga que hoje seria recusada ao ser adicionada (RSA com menos de 2048 bits): listada para poder ser desativada ou eliminada, recusada na reinstalação
400
Parâmetros inválidos: validation_failed — chave ilegível, de tipo desconhecido, ou RSA com menos de 2048 bits.
validation_failed — chave ilegível, de tipo desconhecido, ou RSA com menos de 2048 bits.{
"type": "https://docs.lws.fr/kvm/errors/validation-failed",
"title": "Paramètres invalides",
"status": 400,
"code": "validation_failed",
"detail": "Clé SSH refusée. Attendu : une clé publique OpenSSH d'un type reconnu, les clés RSA devant faire au moins 2048 bits.",
"request_id": "3f9a1c07b2e45d18",
"errors": {
"key": "Clé SSH refusée. Attendu : une clé publique OpenSSH d'un type reconnu, les clés RSA devant faire au moins 2048 bits."
}
}
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 « exploitation » requis.",
"request_id": "3f9a1c07b2e45d18",
"required_level": "exploitation"
}
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)
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 « mutation » : 300 appels par heure. Réessayez dans 95 seconde(s).",
"request_id": "3f9a1c07b2e45d18",
"family": "mutation",
"limit": 300,
"retry_after": 95
}
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: upstream_unavailable — API de gestão das chaves inacessível.
upstream_unavailable — API de gestão das chaves inacessível.{
"type": "https://docs.lws.fr/kvm/errors/upstream-unavailable",
"title": "Service momentanément indisponible",
"status": 502,
"code": "upstream_unavailable",
"detail": "La liste des clés SSH n'a pas pu être obtenue. 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)