Q3REST API: error handling, pagination, versioning, idempotency, content negotiation
A production REST API returns consistent Problem Details errors with correct status codes, paginates with cursors for deep pages, versions its contract, uses Idempotency-Keys so retried POSTs run once, and negotiates JSON or XML through Accept and Content-Type.