Resposta direta
Diagnostique em ordem: URL final, header Bearer, model ID, JSON e status; o caso de chave ausente ou inválida tem HTTP 401 no teste registrado.
Pré-requisitos e passos
- Compare a URL final com https://api.mandapi.com/v1/chat/completions.
- Confirme que Authorization começa por Bearer e que a variável não está vazia.
- Compare model e messages com o payload mínimo e capture o status sem vazar segredo.
Exemplo copiável
set -u
test -n "${MANDAPI_API_KEY:-}" || { echo "MANDAPI_API_KEY ausente" >&2; exit 1; }
curl -sS -o response.json -w 'HTTP %{http_code}
' \
https://api.mandapi.com/v1/chat/completions \
-H "Authorization: Bearer ${MANDAPI_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"ok"}]}'
Como conferir o resultado
A evidência disponível cobre 401 e um Chat Completions 200; para qualquer outro status, preserve o caso para nova investigação em vez de atribuir uma causa não registrada.
