A failed call returns isError with { "error": { "code", "message", "retryable" } }. The message says how to recover and never carries server internals.
| Code | Meaning | Retry |
|---|
validation | The input does not match the tool's schema. | No |
not_found | No such record in this workspace, or the company was merged. | No |
conflict | The record changed, the transition is not allowed, or the requestId was used with different content. | No |
forbidden | This workspace or credential cannot do it. | No |
unauthorized | The credential is missing, expired, revoked or lacks the scope. | No |
rate_limited | The per-minute limit was reached; wait retryAfterSeconds. | Yes |
too_large | The request or response is too large. | No |
timeout | No answer in time; a write may already have applied. | Yes |
unavailable | Leitvik could not be reached. | Yes |
result_too_large | The result was withheld; ask for a smaller page. | No |
request_failed | The operation could not be completed. | No |