Collective spin excitations form a fundamental class of excitations in magnetic materials. As their energy reaches down to only a few meV, they are present at all temperatures and substantially influence the properties of magnetic systems. To study the spin excitations in solids from first principles, we have developed a computational scheme based on many-body perturbation theory within the full-potential linearized augmented plane-wave (FLAPW) method. The main quantity of interest is the dynamical transverse spin susceptibility or magnetic response function, from which magnetic excitations, including single-particle spin-flip Stoner excitations and collective spin-wave modes as well as their lifetimes, can be obtained. In order to describe spin waves we include appropriate vertex corrections in the form of a multiple-scattering T matrix, which describes the coupling of electrons and holes with different spins. The electron-hole interaction incorporates the screening of the many-body system within the random-phase approximation. To reduce the numerical cost in evaluating the four-point T matrix, we exploit a transformation to maximally localized Wannier functions that takes advantage of the short spatial range of electronic correlation in the partially filled d or f orbitals of magnetic materials. The theory and the implementation are discussed in detail. In particular, we show how the magnetic response function can be evaluated for arbitrary k points. This enables the calculation of smooth dispersion curves, allowing one to study fine details in the k dependence of the spin-wave spectra. We also demonstrate how spatial and time-reversal symmetry can be exploited to accelerate substantially the computation of the four-point quantities. As an illustration, we present spin-wave spectra and dispersions for the elementary ferromagnet bcc Fe, B2-type tetragonal FeCo, and CrO₂ calculated with our scheme. The results are in good agreement with available experimental data.