Erros e códigos

Formato padrão de erro, a tabela de status e códigos, e a regra de ouro 4xx/5xx.

📘

Um formato só

Toda resposta de erro tem o mesmo formato: statusCode, error, message e, na maioria, um code estável entre versões. Decida pelo código, não pela mensagem em português.

{
  "statusCode": 422,
  "code": "UNKNOWN_NAME",
  "error": "Unprocessable Entity",
  "message": "..."
}

O 409 acrescenta duplicates. Um 5xx nunca carrega detalhe interno.

📋 Referência de códigos

statuscodeO que significaComo resolver
400FST_ERR_VALIDATIONCorpo inválido: campo obrigatório faltando, tipo errado ou campo desconhecido.Leia a message (ex.: body/ Unrecognized key: ...) e corrija o campo.
401(sem code)Credencial inválida, revogada ou expirada.Gere/gire a chave em Configurações > Chaves de API.
403SCOPE_DENIEDA chave é válida, mas não tem o escopo desta rota.A message diz qual escopo falta; crie uma chave com esse escopo.
403MODULE_NOT_ENABLEDO convênio não contratou o módulo da rota (ex.: contratos exigem o Administrativo).Fale com o convênio; não é problema da chave.
403FORBIDDENO registro existe, mas a API não o altera (ex.: atividade vinda de agenda externa).A alteração é feita pela imobiliária.
404NOT_FOUNDO registro do caminho ({id}) não existe.Confira o id; use a busca para localizar.
409DUPLICATE_ADDRESSJá existe imóvel com esse endereço.A resposta traz duplicates; altere o existente em vez de criar outro.
422UNKNOWN_NAMETipo, bairro, cidade, unidade, motivo ou tipo de atividade que não existe no convênio.Consulte o catálogo (/schema/..., /schema/support) e use o nome exato.
422UNKNOWN_REFERENCEUm id de vínculo (assigneeId, propertyId, personId...) não existe no convênio.O campo vem em field; confira o id.
422VALIDATION_ERRORCombinação de campos inválida (ex.: visita virtual sem canalVirtual, prazo no passado).Leia a message e issues.
422AMBIGUOUS_NAMEO nome casa com mais de um cadastro (ex.: dois bairros homônimos).A message traz os ids; o convênio precisa renomear um deles. Nunca escolhemos por você.
422UNKNOWN_CHARACTERISTICCaracterística inexistente, ou que não pertence ao tipo de imóvel informado.Veja /schema/properties?propertyType=<nome> e use uma característica válida daquele tipo.
422AMBIGUOUS_CHARACTERISTICDuas características com o mesmo nome.A message traz os ids; ajuste o cadastro.
422DUPLICATE_CHARACTERISTICDuas chaves do seu objeto characteristics apontam para a mesma característica ("Quartos" e "quartos").Deixe uma só.
422INVALID_CHARACTERISTIC_VALUEValor incompatível com o tipo do dado: texto em campo numérico, decimal em inteiro, opção fora da lista de um select, data inexistente.Veja o tipo de dado no catálogo e ajuste o valor.
422TAG_INACTIVE / TAG_OBJECT_MISMATCHEtiqueta inativa, ou que não serve para aquele tipo de registro.Use uma etiqueta ativa do objeto certo (GET /tags).
422PHOTO_*Foto por URL recusada: URL inválida ou fora da internet pública, download falhou, arquivo grande demais, tipo não aceito ou limite de fotos atingido.O sufixo diz qual; a descrição de POST /properties/{id}/photos lista todos.
429(sem code)Limite excedido (120/min ou 1.000/hora).Espere o Retry-After e reenvie. Um 429 significa que não foi processado.
500INTERNAL_ERRORFalha nossa. A mensagem é genérica de propósito.Guarde o horário da chamada e acione o suporte.

🤝 Códigos do fluxo comercial

As ações de atendimento, visita, proposta e atividade devolvem estes códigos:

statuscodeO que significa
409ATENDIMENTO_INVALID_STATEO atendimento não está em andamento (ex.: descartar um já descartado).
422INVALID_DISCARD_REASONMotivo de descarte que não vale para atendimento.
422CHECKLIST_PHASE_PENDINGO atendimento tem pendência que impede a ação; a message diz qual.
422VISIT_SLOT_IN_PASTHorário de visita que já passou.
409VISIT_SLOT_TAKENHorário indisponível para o corretor.
409VISIT_KEY_UNAVAILABLEChave do imóvel indisponível no horário.
409VISIT_HANDOFF_PENDINGAtendimento ainda sem corretor definido: a imobiliária agenda essa visita.
422VISIT_HAS_FEEDBACKVisita com parecer não reagenda.
422VISIT_REASON_REQUIREDCancelar ou marcar não comparecimento pede motivo.
422VISIT_WITHOUT_PARECERProposta precisa de visita com parecer.
409PROPOSAL_EXISTSJá existe proposta para o imóvel neste atendimento.
409ACTIVITY_FROM_VISITAtividade criada por visita muda pela visita.
409CAPTACAO_REQUIRES_MODULELead de captação em convênio sem o módulo de Captação.

🏆 Regra de ouro

👍

Guie-se por estas três linhas

  • 4xx → você corrige (dado, escopo, nome, limite).
  • 5xx → nós corrigimos; pode reenviar depois de um tempo.
  • 429 e reenvio de lead com o mesmo external_id são seguros de repetir.

Did this page help you?