Skip to main content
Every v3 failure has one of four errorCode values. Each says what to do next. The specific cause is in details.reason.
Branch on errorCode. Show error to the seller. Send requestId to support.

Kinds

try_again includes details.retryAfterSeconds when selling is closed.

Reasons

New reasons can be added; handle an unknown reason by its kind. An unknown, expired, or already-executed quote returns 409 requote with no reason.

Other errors

Idempotent execute

Execute is idempotent. Its key is the Idempotency-Key header, or the quoteId when the header is absent.
  • A repeat with the same key within 24 hours returns the first response, with the header idempotent-replayed: true.
  • A repeat while the first is running returns 409 request_in_progress.
  • Keys are scoped to the quote, so the same key on another quote is a separate request.
  • A 5xx response is not stored, so a retry runs again.
  • Keys are 1 to 255 characters and scoped to your organization.
On a network error or timeout, retry execute with the same key. You get the order or the error from the first attempt. After try_again from execute, retry the same execute. The quote stays valid until expiresAt. Quote is not idempotent. Each call creates a new quote.