public async Task <ActionResult> Subscribe([FromBody] Subscription subscription)
        {
            _logger.ForContext <NewsletterController>().Information("Subscribe(subscription: {@Subscription})", subscription);;

            try
            {
                ValidationErrorList validationErrors = await _newsletterService.ValidateSubscription(subscription);

                if (!validationErrors.isValid)
                {
                    return(new JsonResult(new ApiResponse <bool>(false, validationErrors.Errors)));
                }

                return(new JsonResult(await _newsletterService.Subscribe(subscription)));
            }
            catch (Exception ex)
            {
                _logger.ForContext <NewsletterController>().Error($"Something went wrong: {ex}");
                return(StatusCode(500, "Internal server error"));
            }
        }