Skip to main content
Read the error code before retrying. Some failures are safe to retry. Others need a change first. Millwork uses a standard structured error response (application/problem+json). Read type, title, status, detail, and instance. Do not display raw provider errors to end users. Match the final path segment of type when you need an exact API error identifier; human messages may improve over time.

Safe retry rules

  • Retry a failed write request with the same Idempotency-Key and identical body.
  • Reusing a key with a different body returns idempotency_conflict.
  • For 429, wait for Retry-After or retry_after_s.
  • Do not retry invalid credentials or denied permissions unchanged.
  • For a run that fails after acceptance, read its status, events, then receipt.

Common errors

Provider connection reasons such as authentication, permission, and model_not_found have a separate recovery path. Read Provider connection help. Run reasons such as no_eligible_arms appear in events and receipts rather than as the API problem type. Read Run and result help.

Ask for help

Include the instance value, endpoint, UTC time, type, and title in a email to support. Never include secrets, cookies, credential-flow URLs, prompts, or customer data.