Erros

Todos os códigos de erro da Direct API, o que significam e se vale tentar de novo, incluindo o que fazer quando uma chamada paga falha com um 5xx.

Todo erro tem o mesmo corpo. Decida pelo status HTTP e pelo code; mostre description ou error.message às pessoas.

{
  "description": "Human-readable explanation, safe to log.",
  "code": "machine_readable_code",
  "data": { "request_id": "…", "…": "…" },
  "error": { "error_code": "…", "message": "…" }
}

Toda resposta, de sucesso ou de erro, traz X-Request-Id. Inclua-o quando entrar em contato com o suporte.

Códigos de erro

HTTPcodeSignificadoTentar de novo
400invalid_requestJSON malformado, um campo desconhecido no corpo, ou input não passa no schema da ferramenta (cada campo inválido é indicado)não, corrija a solicitação
401invalid_api_keychave ausente, malformada, revogada ou expiradanão
402insufficient_creditsa organização não consegue pagar pela chamadaapós uma recarga
402api_key_credit_limit_reacheda chamada excederia o limite diário, mensal ou total da chave (data.period indica qual)após o período reiniciar ou o limite ser aumentado
402subscription_pauseda assinatura da organização está pausadaapós ela ser retomada
402payment_requireda assinatura da organização está com pagamento em atrasoapós o pagamento ser concluído
403direct_api_disableda Direct API não está ativada para esta organizaçãonão, entre em contato com a Morphic
403insufficient_scopea chave não tem o escopo de que esta ferramenta precisa (data.required_scopes)não, use outra chave
403plan_upgrade_requiredo modelo ou a funcionalidade não faz parte do seu planonão
403tool_not_availablea ferramenta cobra créditos e as ferramentas pagas ainda não foram ativadas para a sua organização (data.tool a indica); o seu contato na Morphic as ativanão
403model_disabled_by_organizationum administrador da organização desativou este modelo, resolução ou opção de áudio e não o liberou para a APInão, fale com o seu administrador
404not_foundferramenta, geração ou webhook desconhecido, ou fora do alcance desta chavenão
409idempotency_conflictIdempotency-Key reutilizado com outro corpo ou outra ferramentanão, use uma chave nova
409idempotency_in_progressa solicitação original com esta chave ainda está em execuçãosim, após um segundo
409idempotency_outcome_unknowna solicitação original com este Idempotency-Key falhou ou nunca respondeu depois de possivelmente ter sido executada, então o resultado dela é desconhecidonão: verifique o resultado e depois use uma chave nova
413payload_too_largecorpo acima de 1 MBnão
422tool_refuseda entrada está bem formada, mas não pode ser executada; nada foi cobradonão, altere a entrada
429rate_limitedum limite de taxa foi atingidosim, após Retry-After
500internal_errorfalha nossaem uma chamada gratuita, sim; em uma chamada paga, veja abaixo
503service_unavailablesobrecarga temporária ou manutençãoem uma chamada gratuita, sim, com espera progressiva; em uma chamada paga, veja abaixo
504tool_timed_outa ferramenta não respondeu em 60 s; uma chamada que inicia gerações pode já tê-las iniciadoem uma chamada gratuita, sim; em uma chamada paga, veja abaixo

Um 422 tool_refused indica o campo, o valor e os valores que funcionariam; veja Recusas da ferramenta. Uma geração que falha depois de iniciada informa o seu próprio error.error_code no objeto de geração, e a cobrança dela é reembolsada.

Uma chamada paga que responde 500, 503 ou 504 pode ter iniciado trabalho e cobrado por ele antes de falhar. Repeti-la com o mesmo Idempotency-Key nunca a executa duas vezes: a nova tentativa responde 409 idempotency_outcome_unknown.

  1. Verifique o que a chamada fez: list_generations, ou GET /v1/direct/usage filtrado por horário.
  2. Envie um novo Idempotency-Key apenas para o trabalho que não foi iniciado.

Quando nenhuma resposta chegou (uma conexão interrompida), tente de novo com a mesma chave. Você recebe a resposta armazenada, ou 409 idempotency_in_progress enquanto ela ainda estiver em execução. Veja Idempotência.


Se você tiver algum problema ou alguma dúvida, entre em contato. Teremos prazer em ajudar. Escreva para nós em support@morphic.com.

Nesta página