{error:{code,message}} for CloudError failures, attaches Request-Id, and disables caching. Handle 401 by signing in; show role refusal for 403 forbidden, reauthenticate only for step_up_required, and collect a reason for 400 reason_required. A CSRF failure needs a current page/session token, not blind retries. Operation-specific 404/409/413/422/502/503 errors retain their status. Honor Retry-After on 429./** GET /api/admin/hooks (hooks.manage; no step-up to look): the security and retention webhooks, newest first, never their secrets. */
export const GET = adminRoute("hooks.manage", async () => adminJson({ items: await listHooks() }), { stepUp: false });