Browse the manual

Errors, retries and revocation

Recover from refused requests without duplicate changes or lost input.

On this page

For: developers connecting an HTTP or MCP client. Start with Agent API and AI clients.

AI is optional. You confirm invoice issuance in Pepper.

Idempotency and conflicts

Each write needs an idempotency key of 1–80 ASCII letters, digits, underscores or hyphens. An identical retry returns its original response.

Keep the JSON values and field order identical. Reusing a key with another payload or target returns 409.

A receipt describes the original write. Read the document for its current status and version. A stale update changes nothing.

Keep your input after a conflict. Read the latest version, review the differences and use a new key. Failed draft transactions store no success receipt.

Executed approvals retain a separate result. A new execute key on the same approval returns approval_used.

Revocation and current permission checks still apply to retries. A retained receipt does not restore lost access.

Errors

HTTP tool errors contain error.code. Validation returns error.fields, a list of field paths. Responses exclude exception messages and credentials.

Status Code Recovery
401 unauthenticated Check expiry, revocation, the delegated user and application URL
403 forbidden Check HTTPS, host/port, Origin, grants, current permissions and demo mode
404 not_found Access is off, or the route/record is missing or outside scope
409 conflict Read the latest version or correct a reused key
409 approval_pending Wait for the delegated person's decision
409 approval_rejected Respect the decision; review the draft before any new request
409 approval_stale Read the draft and prepare a new request
409 approval_used Retry with the original execute key to retrieve the result
410 approval_expired Prepare a new request and obtain a new decision
413 payload_too_large Send a tool body of 256 KiB or less
415 json_required Send the JSON content type
422 validation_failed Correct the named fields; use a new key for changed input
429 rate_limited Wait for the minute window to clear; reduce request frequency
503 unavailable Keep the input; retry with the same key if the earlier write may have succeeded

A hidden record and a missing record produce the same 404. Another connection's approval or an incorrect nonce also returns 404.

After an execution conflict, read the approval and document. Do not assume the client issued anything from a prepared or approved state.

Revocation and retained evidence

Revoking a connection stops its future calls. Turning agent access off revokes all connections. Turning browser sign-in off revokes browser connections.

Expiry, user deactivation, session-revoking permission changes, owner transfer or a changed application URL can also stop access.

Saved drafts, issued originals, connection metadata, request receipts, approval results and audit evidence remain. Revocation cannot erase a client's saved copies.

Read connection setup and privacy boundaries.

Need help with the product?

Contact support