Erros
Todo erro da CLI e da API diz o que aconteceu, por quê e o que fazer. Os clientes decidem pelo código, nunca pela mensagem.
| Código | HTTP | Significado |
|---|---|---|
validation.invalid | 400 | Requisição inválida |
config.invalid | 400 | lobsite.toml inválido |
auth.required | 401 | Sem login |
auth.invalid_token | 401 | Token inválido |
auth.email_unverified | 403 | E-mail não confirmado |
auth.forbidden | 403 | Sem acesso a este site |
auth.reauth_required | 403 | Entre de novo para continuar |
site.not_found | 404 | Site não encontrado |
site.expired | 410 | Site temporário expirado |
site.suspended | 403 | Site suspenso |
site.disabled | 403 | Site pausado |
site.name_invalid | 400 | Nome de site inválido |
site.name_taken | 409 | Nome em uso |
site.name_system | 403 | Nome do sistema |
site.name_reserved | 403 | Nome reservado |
deploy.not_found | 404 | Deploy não encontrado |
deploy.blobs_missing | 409 | Envios faltando |
deploy.not_ready | 409 | Deploy não está pronto |
deploy.not_uploading | 409 | Deploy já finalizado |
deploy.no_previous | 409 | Nenhum deploy anterior |
content.reserved_path | 422 | Caminho reservado |
content.secret_file | 422 | Arquivo secreto |
content.blocked_type | 422 | Tipo de arquivo bloqueado |
content.sensitive_form | 422 | Campos de entrada sensíveis |
content.held_for_review | 202 | Retido para revisão |
limit.files | 422 | Arquivos demais |
limit.file_size | 422 | Arquivo grande demais |
limit.site_size | 422 | Deploy grande demais |
limit.storage | 422 | Armazenamento cheio |
limit.sites | 422 | Sites demais |
limit.domains | 422 | Domínios demais |
limit.deploy_rate | 429 | Deploys demais |
limit.submissions | 429 | Cota de envios esgotada |
domain.invalid | 400 | Domínio inválido |
domain.taken | 409 | Domínio em outro site |
domain.not_found | 404 | Domínio não encontrado |
domain.apex_unsupported | 422 | Domínio raiz não suportado |
form.not_found | 404 | Formulário não encontrado |
session.not_found | 404 | Sessão não encontrada |
feature.coming_soon | 403 | Em breve |
feature.plan_required | 403 | Precisa de um plano superior |
billing.unavailable | 503 | Cobrança indisponível |
billing.already_subscribed | 409 | Já assinante |
billing.no_subscription | 404 | Sem assinatura |
member.not_found | 404 | Membro não encontrado |
invite.invalid | 404 | Convite inválido |
token.not_found | 404 | Token não encontrado |
integration.resend_refused | 422 | Resend recusou |
integration.not_connected | 409 | Integração não conectada |
address.not_found | 404 | Endereço não encontrado |
upload.hash_mismatch | 400 | Hash não confere |
upload.token_invalid | 401 | Token de envio inválido |
upload.token_expired | 401 | Token de envio expirado |
upload.too_large | 413 | Envio grande demais |
rate_limited | 429 | Requisições demais |
route.not_found | 404 | Endpoint inexistente |
cli.outdated | 426 | CLI desatualizada |
internal | 500 | Erro inesperado |