status(); return $response; } catch (Throwable $e) { $error = $e->getMessage(); throw $e; } finally { ApiLog::create([ 'service' => $service, 'method' => strtoupper($method), 'url' => $url, 'status_code' => $statusCode, 'duration_ms' => (int) round((microtime(true) - $start) * 1000), 'error' => $error, ]); } } }