Прочитайте полный ответ
При неуспешном статусе сохраните код HTTP, заголовки, тело ошибки и request id после удаления секретов. Они нужны, чтобы отличить неверный запрос от отказа доступа или временной проблемы.
Не показывайте пользователю сырой ответ сервиса как единственный текст: сформулируйте действие, сохранив диагностические детали для оператора.
curl --include --request POST https://cicora.ai/api/v1/chat/completions \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"model":"openai/gpt-5.6-sol","messages":[]}'Классификация
- 4xx обычно требует исправить ключ, входные данные или доступ.
- 429 требует учитывать окно ограничения и не запускать агрессивный повтор.
- 5xx и сетевые ошибки требуют ограниченного повторения с экспоненциальной паузой и случайным разбросом.
Безопасный повтор
Повторяйте только временные сбои и только если операция идемпотентна в вашем продукте. Для генерации сохраняйте client request id, чтобы исключить двойное списание или дублирование артефакта.
В стриминге различайте ошибку до первой дельты и разрыв после частичного вывода: второй случай нельзя незаметно заменить новым ответом.