Taksonomia błędów
Gdy wywołanie Gateway zakończy się niepowodzeniem, otrzymasz błąd jako jednolity obiekt JSON:
{ "error": { "code": "validation_error", "message": "Params violate the capability input schema.", "hint": "Call describe(id) and resend params matching input_schema.", "retryable": false, "audit_id": "audit_123" }}Kody błędów
Dział zatytułowany „Kody błędów”| Kod | Znaczenie dla Agentów |
|---|---|
validation_error |
Dane wejściowe nie pasują do schematu; przeczytaj describe i popraw |
auth_required |
Brak Bearer-Key lub jest nieprawidłowy |
scope_missing |
Klucz nie posiada wymaganego zakresu |
not_found / version_not_found |
Sprawdź ID lub wersję |
not_implemented |
widoczne w katalogu, ale nie można wywołać |
dry_run_required |
najpierw wyślij udany dry_run z tymi samymi parametrami |
precondition_failed |
brakuje warunku wstępnego biznesowego, nie powtarzaj bezrefleksyjnie |
conflict |
Stan docelowy koliduje, odczytaj ponownie i zdecyduj |
rate_limited |
uwzględnij retry_after_seconds |
budget_exceeded |
Wyjaśnij kwestię Portfela, Budżetu lub Zasad |
capability_disabled |
Aktywny Kill-Switch lub blokada Capability |
approval_required / approval_rejected |
Konieczne przekazanie lub decyzja człowieka |
upstream_error |
Zewnętrzna/połączona usługa nie odpowiedziała poprawnie |
internal_error |
Ponów próbę później; w razie powtórzenia przekaż Audit-ID do Supportu |
Zasada reakcji
Dział zatytułowany „Zasada reakcji”retryable: true nie oznacza „natychmiast spamuj“. Ponawiaj z opóźnieniem, tym samym Idempotency-Key i tą samą intencją. W przypadku retryable: false najpierw zmień przyczynę lub przekaż człowiekowi.
HTTP 412 w Onboardingu
Dział zatytułowany „HTTP 412 w Onboardingu”HTTP 412 precondition_failed w ścieżce początkowej to oczekiwane zachowanie, gdy brakuje warunku wstępnego biznesowego.
| Endpoint | Kiedy oczekiwane jest 412 | Reakcja |
|---|---|---|
GET /org/current |
przed Owner-Claim lub, gdy agent_email jest ustawiony, przed weryfikacją maila Agenta |
dokończ brakujący krok OTP, następnie użyj ponownie jako odczyt statusu |
POST /keys/rotate |
przed Owner-Claim lub przed wymaganą weryfikacją maila Agenta | dokończ ścieżkę początkową; nie zastępuj utraconego klucza przez ponowny Bootstrap |
POST /mcp/dry_run |
przed wymaganymi OTP lub przed zatwierdzeniem Operatora | odpytuj /org/current, aż operator_approval_status będzie approved |
POST /mcp/invoke |
przed wymaganymi OTP lub przed zatwierdzeniem Operatora | nie pracuj operacyjnie; zastosuj regułę odpytywania lub przekazania |
Reakcja: Zaczekaj na kod Owner, wywołaj POST /owner-otp/claim i przy ustawionym agent_email dodatkowo zweryfikuj POST /agent-otp/verify. Następnie powtórz /org/current jako odczyt statusu. Jeśli operator_approval_status pozostaje długo w stanie pending, postępuj zgodnie z Rozwiązywaniem problemów.